diff options
| author | Mike Schuchardt <mikes@lunarg.com> | 2023-07-21 10:09:57 -0700 |
|---|---|---|
| committer | Mike Schuchardt <mikes@lunarg.com> | 2023-07-21 13:28:03 -0700 |
| commit | e69a7c71c52c2e9316f4bd7f95af7a084a1a2870 (patch) | |
| tree | 6e7101bcc258d912670a4384668e4e4f889b1c8f /scripts | |
| parent | c5ac1413f0108d111160711b00eec61c81c5e293 (diff) | |
| download | usermoji-e69a7c71c52c2e9316f4bd7f95af7a084a1a2870.tar.xz | |
build: Update to header 1.3.258
- Update known-good
- Modify vulkaninfo_generator.py to wrap dynamically-sized ArrayWrapper with
scope brackets
- Modify vulkaninfo_generator.py to add padding after
VkPhysicalDeviceHostImageCopyFeaturesEXT to work around pre-release
drivers with larger versions of this struct.
- Generate source
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/generate_vulkan_wrapper.py | 19 | ||||
| -rw-r--r-- | scripts/known_good.json | 4 | ||||
| -rw-r--r-- | scripts/vulkaninfo_generator.py | 22 |
3 files changed, 31 insertions, 14 deletions
diff --git a/scripts/generate_vulkan_wrapper.py b/scripts/generate_vulkan_wrapper.py index f2f06460..94cc53fa 100755 --- a/scripts/generate_vulkan_wrapper.py +++ b/scripts/generate_vulkan_wrapper.py @@ -1169,6 +1169,14 @@ VK_EXT_extended_dynamic_state = Extension(name='VK_EXT_extended_dynamic_state', Command(name='vkCmdSetStencilOpEXT', dispatch='VkCommandBuffer'), ]) +VK_EXT_host_image_copy = Extension(name='VK_EXT_host_image_copy', version=1, guard=None, commands=[ + Command(name='vkCopyMemoryToImageEXT', dispatch='VkDevice'), + Command(name='vkCopyImageToMemoryEXT', dispatch='VkDevice'), + Command(name='vkCopyImageToImageEXT', dispatch='VkDevice'), + Command(name='vkTransitionImageLayoutEXT', dispatch='VkDevice'), + Command(name='vkGetImageSubresourceLayout2EXT', dispatch='VkDevice'), +]) + VK_EXT_shader_atomic_float2 = Extension(name='VK_EXT_shader_atomic_float2', version=1, guard=None, commands=[ ]) @@ -1283,7 +1291,6 @@ VK_EXT_image_robustness = Extension(name='VK_EXT_image_robustness', version=1, g ]) VK_EXT_image_compression_control = Extension(name='VK_EXT_image_compression_control', version=1, guard=None, commands=[ - Command(name='vkGetImageSubresourceLayout2EXT', dispatch='VkDevice'), ]) VK_EXT_attachment_feedback_loop_layout = Extension(name='VK_EXT_attachment_feedback_loop_layout', version=2, guard=None, commands=[ @@ -1435,6 +1442,12 @@ VK_NV_memory_decompression = Extension(name='VK_NV_memory_decompression', versio Command(name='vkCmdDecompressMemoryIndirectCountNV', dispatch='VkCommandBuffer'), ]) +VK_NV_device_generated_commands_compute = Extension(name='VK_NV_device_generated_commands_compute', version=1, guard=None, commands=[ + Command(name='vkGetPipelineIndirectMemoryRequirementsNV', dispatch='VkDevice'), + Command(name='vkCmdUpdatePipelineIndirectBuffer', dispatch='VkCommandBuffer'), + Command(name='vkGetPipelineIndirectDeviceAddressNV', dispatch='VkDevice'), +]) + VK_NV_linear_color_attachment = Extension(name='VK_NV_linear_color_attachment', version=1, guard=None, commands=[ ]) @@ -1738,7 +1751,7 @@ VK_EXT_video_encode_h264 = Extension(name='VK_EXT_video_encode_h264', version=11 VK_EXT_video_encode_h265 = Extension(name='VK_EXT_video_encode_h265', version=11, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ ]) -VK_NV_displacement_micromap = Extension(name='VK_NV_displacement_micromap', version=1, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ +VK_NV_displacement_micromap = Extension(name='VK_NV_displacement_micromap', version=2, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ ]) extensions = [ @@ -1948,6 +1961,7 @@ extensions = [ VK_EXT_host_query_reset, VK_EXT_index_type_uint8, VK_EXT_extended_dynamic_state, + VK_EXT_host_image_copy, VK_EXT_shader_atomic_float2, VK_EXT_surface_maintenance1, VK_EXT_swapchain_maintenance1, @@ -2015,6 +2029,7 @@ extensions = [ VK_QCOM_fragment_density_map_offset, VK_NV_copy_memory_indirect, VK_NV_memory_decompression, + VK_NV_device_generated_commands_compute, VK_NV_linear_color_attachment, VK_GOOGLE_surfaceless_query, VK_EXT_image_compression_control_swapchain, diff --git a/scripts/known_good.json b/scripts/known_good.json index 7981770b..e4e28f18 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json @@ -7,7 +7,7 @@ "sub_dir": "Vulkan-Headers", "build_dir": "Vulkan-Headers/build", "install_dir": "Vulkan-Headers/build/install", - "commit": "v1.3.257" + "commit": "v1.3.258" }, { "name": "MoltenVK", @@ -32,7 +32,7 @@ "sub_dir": "Vulkan-Loader", "build_dir": "Vulkan-Loader/build", "install_dir": "Vulkan-Loader/build/install", - "commit": "v1.3.257", + "commit": "v1.3.258", "deps": [ { "var_name": "VULKAN_HEADERS_INSTALL_DIR", diff --git a/scripts/vulkaninfo_generator.py b/scripts/vulkaninfo_generator.py index 37ca830b..6668d046 100644 --- a/scripts/vulkaninfo_generator.py +++ b/scripts/vulkaninfo_generator.py @@ -567,15 +567,17 @@ def PrintStructure(struct, types_to_gen, structure_names, aliases): out += f' for (uint32_t i = 0; i < {v.arrayLength}; i++) {{ p.PrintElement(obj.{v.name}[i]); }}\n' out += f" }}\n" else: # dynamic array length based on other member - out += f' ArrayWrapper arr(p,"{v.name}", obj.' + v.arrayLength + ');\n' - out += f" for (uint32_t i = 0; i < obj.{v.arrayLength}; i++) {{\n" + out += f" {{\n" + out += f' ArrayWrapper arr(p,"{v.name}", obj.' + v.arrayLength + ');\n' + out += f" for (uint32_t i = 0; i < obj.{v.arrayLength}; i++) {{\n" if v.typeID in types_to_gen: - out += f" if (obj.{v.name} != nullptr) {{\n" - out += f" p.SetElementIndex(i);\n" - out += f' Dump{v.typeID}(p, "{v.name}", obj.{v.name}[i]);\n' - out += f" }}\n" + out += f" if (obj.{v.name} != nullptr) {{\n" + out += f" p.SetElementIndex(i);\n" + out += f' Dump{v.typeID}(p, "{v.name}", obj.{v.name}[i]);\n' + out += f" }}\n" else: - out += f" p.PrintElement(obj.{v.name}[i]);\n" + out += f" p.PrintElement(obj.{v.name}[i]);\n" + out += f" }}\n" out += f" }}\n" elif v.typeID == "VkBool32": out += f' p.PrintKeyBool("{v.name}", static_cast<bool>(obj.{v.name}));\n' @@ -642,13 +644,13 @@ def PrintChainStruct(listName, structures, all_structures, chain_details): out += AddGuardHeader(s) if s.sTypeName is not None: out += f" {s.name} {s.name[2:]}{{}};\n" - # Specific versions of drivers have an incorrect definition of the size of this struct. + # Specific versions of drivers have an incorrect definition of the size of these structs. # We need to artificially pad the structure it just so the driver doesn't write out of bounds and # into other structures that are adjacent. This bug comes from the in-development version of # the extension having a larger size than the final version, so older drivers try to write to # members which don't exist. - if s.sTypeName == "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES": - out += " char padding[64];\n" + if s.name in ['VkPhysicalDeviceShaderIntegerDotProductFeatures', 'VkPhysicalDeviceHostImageCopyFeaturesEXT']: + out += f" char {s.name}_padding[64];\n" out += AddGuardFooter(s) out += f" void initialize_chain() noexcept {{\n" for s in structs_to_print: |
