diff options
Diffstat (limited to 'tools/gfx/d3d12/d3d12-shader-program.cpp')
| -rw-r--r-- | tools/gfx/d3d12/d3d12-shader-program.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tools/gfx/d3d12/d3d12-shader-program.cpp b/tools/gfx/d3d12/d3d12-shader-program.cpp new file mode 100644 index 000000000..f2476232c --- /dev/null +++ b/tools/gfx/d3d12/d3d12-shader-program.cpp @@ -0,0 +1,25 @@ +// d3d12-shader-program.cpp +#include "d3d12-shader-program.h" + +namespace gfx +{ +namespace d3d12 +{ + +using namespace Slang; + +Result ShaderProgramImpl::createShaderModule( + slang::EntryPointReflection* entryPointInfo, ComPtr<ISlangBlob> kernelCode) +{ + ShaderBinary shaderBin; + shaderBin.stage = entryPointInfo->getStage(); + shaderBin.entryPointInfo = entryPointInfo; + shaderBin.code.addRange( + reinterpret_cast<const uint8_t*>(kernelCode->getBufferPointer()), + (Index)kernelCode->getBufferSize()); + m_shaders.add(_Move(shaderBin)); + return SLANG_OK; +} + +} // namespace d3d12 +} // namespace gfx |
