aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorPetr Kraus <petr_kraus@email.cz>2017-12-17 17:37:33 +0100
committerTobin Ehlis <tobine@google.com>2017-12-19 10:04:42 -0700
commit6721474e9a8cb4a16a08c9622dee091ed3b05228 (patch)
tree1c47d5bb3d6fcd6662d19a09fe7bc2c842a2eebb /scripts
parent0ce85c82dd42fbe55f1b62eed75f7b9bcd2043fe (diff)
downloadusermoji-6721474e9a8cb4a16a08c9622dee091ed3b05228.tar.xz
layers: Ignore pImmutableSamplers on non-samplers
Diffstat (limited to 'scripts')
-rw-r--r--scripts/helper_file_generator.py11
-rw-r--r--scripts/object_tracker_generator.py1
2 files changed, 11 insertions, 1 deletions
diff --git a/scripts/helper_file_generator.py b/scripts/helper_file_generator.py
index 1e59d0a4..c588845f 100644
--- a/scripts/helper_file_generator.py
+++ b/scripts/helper_file_generator.py
@@ -817,7 +817,7 @@ class HelperFileOutputGenerator(OutputGenerator):
' default:\n'
' break;\n'
' }\n',
- 'VkShaderModuleCreateInfo' :
+ 'VkShaderModuleCreateInfo' :
' if (in_struct->pCode) {\n'
' pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);\n'
' memcpy((void *)pCode, (void *)in_struct->pCode, codeSize);\n'
@@ -898,6 +898,15 @@ class HelperFileOutputGenerator(OutputGenerator):
' }\n'
' else\n'
' pScissors = NULL;\n',
+ # VkDescriptorSetLayoutBinding is special case because its pImmutableSamplers pointer may be non-null but ignored
+ 'VkDescriptorSetLayoutBinding' :
+ ' const bool sampler_type = in_struct->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || in_struct->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;\n'
+ ' if (descriptorCount && in_struct->pImmutableSamplers && sampler_type) {\n'
+ ' pImmutableSamplers = new VkSampler[descriptorCount];\n'
+ ' for (uint32_t i=0; i<descriptorCount; ++i) {\n'
+ ' pImmutableSamplers[i] = in_struct->pImmutableSamplers[i];\n'
+ ' }\n'
+ ' }\n',
}
custom_copy_txt = {
diff --git a/scripts/object_tracker_generator.py b/scripts/object_tracker_generator.py
index 4350fa39..9bcfb8bb 100644
--- a/scripts/object_tracker_generator.py
+++ b/scripts/object_tracker_generator.py
@@ -169,6 +169,7 @@ class ObjectTrackerOutputGenerator(OutputGenerator):
'vkCreateComputePipelines',
'vkGetDeviceQueue',
'vkGetSwapchainImagesKHR',
+ 'vkCreateDescriptorSetLayout',
]
# These VUIDS are not implicit, but are best handled in this layer. Codegen for vkDestroy calls will generate a key
# which is translated here into a good VU. Saves ~40 checks.