summaryrefslogtreecommitdiffstats
path: root/tools/gfx/open-gl/render-gl.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-01-14 13:08:46 -0800
committerGitHub <noreply@github.com>2022-01-14 13:08:46 -0800
commitb2f4cb118ef15cbf522be0335e4084ac6db57672 (patch)
tree37c2d6c3519ef7fc3d60142a4a31cbe16708e0bc /tools/gfx/open-gl/render-gl.cpp
parentd3f904cbfa1568366bc8c8d231a57a03d47ddc98 (diff)
Various fixes to GFX, nested parameter block test for d3d12. (#2081)
* Various fixes. * Add nested parameter block test. * Remove slang-llvm licence info * Ingore slang-llvm/ directory. * Fixup. Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tools/gfx/open-gl/render-gl.cpp')
-rw-r--r--tools/gfx/open-gl/render-gl.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/gfx/open-gl/render-gl.cpp b/tools/gfx/open-gl/render-gl.cpp
index bcdaae8c0..63c20fbea 100644
--- a/tools/gfx/open-gl/render-gl.cpp
+++ b/tools/gfx/open-gl/render-gl.cpp
@@ -144,8 +144,10 @@ public:
virtual Result createRootShaderObject(IShaderProgram* program, ShaderObjectBase** outObject) override;
virtual void bindRootShaderObject(IShaderObject* shaderObject) override;
- virtual SLANG_NO_THROW Result SLANG_MCALL
- createProgram(const IShaderProgram::Desc& desc, IShaderProgram** outProgram) override;
+ virtual SLANG_NO_THROW Result SLANG_MCALL createProgram(
+ const IShaderProgram::Desc& desc,
+ IShaderProgram** outProgram,
+ ISlangBlob** outDiagnosticBlob) override;
virtual SLANG_NO_THROW Result SLANG_MCALL createGraphicsPipelineState(
const GraphicsPipelineStateDesc& desc, IPipelineState** outState) override;
virtual SLANG_NO_THROW Result SLANG_MCALL createComputePipelineState(
@@ -2754,7 +2756,8 @@ void GLDevice::dispatchCompute(int x, int y, int z)
glDispatchCompute(x, y, z);
}
-Result GLDevice::createProgram(const IShaderProgram::Desc& desc, IShaderProgram** outProgram)
+Result GLDevice::createProgram(
+ const IShaderProgram::Desc& desc, IShaderProgram** outProgram, ISlangBlob** outDiagnosticBlob)
{
if (desc.slangProgram->getSpecializationParamCount() != 0)
{
@@ -2780,6 +2783,8 @@ Result GLDevice::createProgram(const IShaderProgram::Desc& desc, IShaderProgram*
compileResult == SLANG_OK ? DebugMessageType::Warning : DebugMessageType::Error,
DebugMessageSource::Slang,
(char*)diagnostics->getBufferPointer());
+ if (outDiagnosticBlob)
+ returnComPtr(outDiagnosticBlob, diagnostics);
}
SLANG_RETURN_ON_FAIL(compileResult);
GLenum glShaderType = 0;