Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2021-01-22 15:48:16 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2021-01-22 15:53:22 +0300
commitea02a0c03a143d5b93cbe01123ece3ab97082a32 (patch)
treedb39a1393cc4d55562faf8f48800ac14e5b37f21 /spirv_hlsl.cpp
parent4bedad386036847d7fe13200ece455d21afaf25f (diff)
Check entry point variables in is_hidden_variables.
Need to be careful not to emit globals we're not supposed to.
Diffstat (limited to 'spirv_hlsl.cpp')
-rw-r--r--spirv_hlsl.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/spirv_hlsl.cpp b/spirv_hlsl.cpp
index c080ff66..c74fb5f6 100644
--- a/spirv_hlsl.cpp
+++ b/spirv_hlsl.cpp
@@ -1362,7 +1362,8 @@ void CompilerHLSL::emit_resources()
}
if (var.storage != StorageClassFunction && !is_builtin_variable(var) && !var.remapped_variable &&
- type.pointer && (type.storage == StorageClassUniformConstant || type.storage == StorageClassAtomicCounter))
+ type.pointer && (type.storage == StorageClassUniformConstant || type.storage == StorageClassAtomicCounter) &&
+ !is_hidden_variable(var))
{
emit_uniform(var);
emitted = true;
@@ -1516,6 +1517,9 @@ void CompilerHLSL::emit_resources()
for (auto global : global_variables)
{
auto &var = get<SPIRVariable>(global);
+ if (is_hidden_variable(var, true))
+ continue;
+
if (var.storage != StorageClassOutput)
{
if (!variable_is_lut(var))