diff options
| author | Petr Kraus <petr_kraus@email.cz> | 2017-12-17 17:37:33 +0100 |
|---|---|---|
| committer | Tobin Ehlis <tobine@google.com> | 2017-12-19 10:04:42 -0700 |
| commit | 6721474e9a8cb4a16a08c9622dee091ed3b05228 (patch) | |
| tree | 1c47d5bb3d6fcd6662d19a09fe7bc2c842a2eebb /scripts | |
| parent | 0ce85c82dd42fbe55f1b62eed75f7b9bcd2043fe (diff) | |
| download | usermoji-6721474e9a8cb4a16a08c9622dee091ed3b05228.tar.xz | |
layers: Ignore pImmutableSamplers on non-samplers
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/helper_file_generator.py | 11 | ||||
| -rw-r--r-- | scripts/object_tracker_generator.py | 1 |
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. |
