summaryrefslogtreecommitdiff
path: root/tools/gfx/renderer-shared.h
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-02-28 18:09:27 -0800
committerGitHub <noreply@github.com>2022-02-28 18:09:27 -0800
commite6c9625e0f0d5d9703451fd2ebb8b206d210009c (patch)
treead2c46f5e9a5f7a6e67cacf5b7227d726f392088 /tools/gfx/renderer-shared.h
parentc31577953d5041c82375c22d847c2eba06106c58 (diff)
Use GLSL scalar layout for constant buffers. (#2147)
Diffstat (limited to 'tools/gfx/renderer-shared.h')
-rw-r--r--tools/gfx/renderer-shared.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/tools/gfx/renderer-shared.h b/tools/gfx/renderer-shared.h
index e82bc83d0..0462b802b 100644
--- a/tools/gfx/renderer-shared.h
+++ b/tools/gfx/renderer-shared.h
@@ -1240,6 +1240,12 @@ public:
ShaderObjectContainerType containerType,
IShaderObject** outObject) SLANG_OVERRIDE;
+ virtual SLANG_NO_THROW Result SLANG_MCALL createShaderObjectFromTypeLayout(
+ slang::TypeLayoutReflection* typeLayout, IShaderObject** outObject) override;
+
+ virtual SLANG_NO_THROW Result SLANG_MCALL createMutableShaderObjectFromTypeLayout(
+ slang::TypeLayoutReflection* typeLayout, IShaderObject** outObject) override;
+
// Provides a default implementation that returns SLANG_E_NOT_AVAILABLE for platforms
// without ray tracing support.
virtual SLANG_NO_THROW Result SLANG_MCALL getAccelerationStructurePrebuildInfo(
@@ -1283,6 +1289,10 @@ public:
ShaderObjectContainerType container,
ShaderObjectLayoutBase** outLayout);
+ Result getShaderObjectLayout(
+ slang::TypeLayoutReflection* typeLayout,
+ ShaderObjectLayoutBase** outLayout);
+
public:
ExtendedShaderObjectTypeList specializationArgs;
// Given current pipeline and root shader object binding, generate and bind a specialized pipeline if necessary.
@@ -1316,7 +1326,7 @@ public:
SlangContext slangContext;
ShaderCache shaderCache;
- Slang::Dictionary<slang::TypeReflection*, Slang::RefPtr<ShaderObjectLayoutBase>> m_shaderObjectLayoutCache;
+ Slang::Dictionary<slang::TypeLayoutReflection*, Slang::RefPtr<ShaderObjectLayoutBase>> m_shaderObjectLayoutCache;
};
bool isDepthFormat(Format format);