aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/generate_vulkan_wrapper.py19
-rw-r--r--scripts/known_good.json4
-rw-r--r--scripts/vulkaninfo_generator.py22
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: