1
1
// vk-shader-program.cpp
2
2
#include " vk-shader-program.h"
3
3
4
+ #include " external/spirv-tools/include/spirv-tools/linker.hpp"
4
5
#include " vk-device.h"
5
6
#include " vk-util.h"
6
7
7
- #include " external/spirv-tools/include/spirv-tools/linker.hpp"
8
-
9
8
namespace gfx
10
9
{
11
10
@@ -71,14 +70,14 @@ VkPipelineShaderStageCreateInfo ShaderProgramImpl::compileEntryPoint(
71
70
return shaderStageCreateInfo;
72
71
}
73
72
74
- static ComPtr<ISlangBlob> LinkWithSPIRVTools (List<ComPtr<ISlangBlob> > kernelCodes)
73
+ static ComPtr<ISlangBlob> LinkWithSPIRVTools (List<ComPtr<ISlangBlob>> kernelCodes)
75
74
{
76
75
spvtools::Context context (SPV_ENV_UNIVERSAL_1_5);
77
76
spvtools::LinkerOptions options;
78
77
spvtools::MessageConsumer consumer = [](spv_message_level_t level,
79
- const char * source,
80
- const spv_position_t & position,
81
- const char * message)
78
+ const char * source,
79
+ const spv_position_t & position,
80
+ const char * message)
82
81
{
83
82
printf (" SPIRV-TOOLS: %s\n " , message);
84
83
printf (" SPIRV-TOOLS: %s\n " , source);
@@ -108,16 +107,17 @@ static ComPtr<ISlangBlob> LinkWithSPIRVTools(List<ComPtr<ISlangBlob> > kernelCod
108
107
109
108
// Replace kernel code with linked binary
110
109
// Creates a new blob with the linked binary
111
- linkedKernelCode = RawBlob::create (linked_binary.data (), linked_binary.size () * sizeof (uint32_t ));
110
+ linkedKernelCode =
111
+ RawBlob::create (linked_binary.data (), linked_binary.size () * sizeof (uint32_t ));
112
112
113
113
return linkedKernelCode;
114
114
}
115
115
Result ShaderProgramImpl::createShaderModule (
116
116
slang::EntryPointReflection* entryPointInfo,
117
117
List<ComPtr<ISlangBlob>> kernelCodes)
118
118
{
119
- // for (auto kernelCode : kernelCodes)
120
- // m_codeBlobs.add(kernelCode);
119
+ // for (auto kernelCode : kernelCodes)
120
+ // m_codeBlobs.add(kernelCode);
121
121
122
122
ComPtr<ISlangBlob> linkedKernel = LinkWithSPIRVTools (kernelCodes);
123
123
m_codeBlobs.add (linkedKernel);
@@ -130,7 +130,7 @@ Result ShaderProgramImpl::createShaderModule(
130
130
linkedKernel,
131
131
(VkShaderStageFlagBits)VulkanUtil::getShaderStage (entryPointInfo->getStage ()),
132
132
shaderModule));
133
-
133
+
134
134
m_entryPointNames.add (realEntryPointName);
135
135
m_modules.add (shaderModule);
136
136
return SLANG_OK;
0 commit comments