diff options
author | Mike Schuchardt <mikes@lunarg.com> | 2022-09-01 09:31:34 -0700 |
---|---|---|
committer | Mike Schuchardt <mikes@lunarg.com> | 2022-09-01 10:49:08 -0700 |
commit | 088cfe80472564874bb45fe818e6c2440bf35b80 (patch) | |
tree | a243fd22185648a5a87501934945ec79dee66b39 | |
parent | 77cf67df0795d0bceb51fe6737b4c9aed6694572 (diff) | |
download | Vulkan-Tools-088cfe80472564874bb45fe818e6c2440bf35b80.tar.gz Vulkan-Tools-088cfe80472564874bb45fe818e6c2440bf35b80.tar.bz2 Vulkan-Tools-088cfe80472564874bb45fe818e6c2440bf35b80.zip |
build: Update to header 1.3.226upstream/1.3.226
- Update known-good
- Generate source
-rw-r--r-- | build-android/vulkan-headers_revision_android | 2 | ||||
-rw-r--r-- | common/vulkan_wrapper.cpp | 3 | ||||
-rw-r--r-- | icd/generated/mock_icd.cpp | 33 | ||||
-rw-r--r-- | icd/generated/mock_icd.h | 33 | ||||
-rw-r--r-- | icd/generated/vk_typemap_helper.h | 49 | ||||
-rwxr-xr-x | scripts/generate_vulkan_wrapper.py | 15 | ||||
-rw-r--r-- | scripts/known_good.json | 4 | ||||
-rw-r--r-- | vulkaninfo/generated/vulkaninfo.hpp | 93 |
8 files changed, 223 insertions, 9 deletions
diff --git a/build-android/vulkan-headers_revision_android b/build-android/vulkan-headers_revision_android index d94eed38..a5371592 100644 --- a/build-android/vulkan-headers_revision_android +++ b/build-android/vulkan-headers_revision_android @@ -1 +1 @@ -v1.3.225 +v1.3.226 diff --git a/common/vulkan_wrapper.cpp b/common/vulkan_wrapper.cpp index 3e0aefdc..aca5cac3 100644 --- a/common/vulkan_wrapper.cpp +++ b/common/vulkan_wrapper.cpp @@ -1085,6 +1085,9 @@ PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureRepl PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; +PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT; +PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT; +PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT; #ifdef VK_USE_PLATFORM_ANDROID_KHR PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; diff --git a/icd/generated/mock_icd.cpp b/icd/generated/mock_icd.cpp index f07a4ec3..4539afa5 100644 --- a/icd/generated/mock_icd.cpp +++ b/icd/generated/mock_icd.cpp @@ -5725,6 +5725,7 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetHostMappingVALVE( + static VKAPI_ATTR void VKAPI_CALL GetShaderModuleIdentifierEXT( VkDevice device, VkShaderModule shaderModule, @@ -5984,6 +5985,38 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetRayTracingPipelineStackSizeKHR( +static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksEXT( + VkCommandBuffer commandBuffer, + uint32_t groupCountX, + uint32_t groupCountY, + uint32_t groupCountZ) +{ +//Not a CREATE or DESTROY function +} + +static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectEXT( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + uint32_t drawCount, + uint32_t stride) +{ +//Not a CREATE or DESTROY function +} + +static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountEXT( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + uint32_t maxDrawCount, + uint32_t stride) +{ +//Not a CREATE or DESTROY function +} + + static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetPhysicalDeviceProcAddr(VkInstance instance, const char *funcName) { // TODO: This function should only care about physical device functions and return nullptr for other functions diff --git a/icd/generated/mock_icd.h b/icd/generated/mock_icd.h index 3edf6f17..60cef93f 100644 --- a/icd/generated/mock_icd.h +++ b/icd/generated/mock_icd.h @@ -100,7 +100,7 @@ static const std::unordered_map<std::string, uint32_t> device_extension_map = { {"VK_AMD_shader_explicit_vertex_parameter", 1}, {"VK_EXT_debug_marker", 4}, {"VK_KHR_video_queue", 5}, - {"VK_KHR_video_decode_queue", 5}, + {"VK_KHR_video_decode_queue", 6}, {"VK_AMD_gcn_shader", 1}, {"VK_NV_dedicated_allocation", 1}, {"VK_EXT_transform_feedback", 1}, @@ -284,7 +284,7 @@ static const std::unordered_map<std::string, uint32_t> device_extension_map = { {"VK_KHR_present_id", 1}, {"VK_EXT_private_data", 1}, {"VK_EXT_pipeline_creation_cache_control", 3}, - {"VK_KHR_video_encode_queue", 6}, + {"VK_KHR_video_encode_queue", 7}, {"VK_NV_device_diagnostics_config", 2}, {"VK_QCOM_render_pass_store_ops", 2}, {"VK_EXT_metal_objects", 1}, @@ -296,6 +296,7 @@ static const std::unordered_map<std::string, uint32_t> device_extension_map = { {"VK_KHR_zero_initialize_workgroup_memory", 1}, {"VK_NV_fragment_shading_rate_enums", 1}, {"VK_NV_ray_tracing_motion_blur", 1}, + {"VK_EXT_mesh_shader", 1}, {"VK_EXT_ycbcr_2plane_444_formats", 1}, {"VK_EXT_fragment_density_map2", 1}, {"VK_QCOM_rotated_copy_commands", 1}, @@ -335,6 +336,7 @@ static const std::unordered_map<std::string, uint32_t> device_extension_map = { {"VK_EXT_pageable_device_local_memory", 1}, {"VK_KHR_maintenance4", 2}, {"VK_VALVE_descriptor_set_host_mapping", 1}, + {"VK_EXT_depth_clamp_zero_one", 1}, {"VK_EXT_non_seamless_cube_map", 1}, {"VK_QCOM_fragment_density_map_offset", 1}, {"VK_NV_linear_color_attachment", 1}, @@ -3578,6 +3580,7 @@ static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetHostMappingVALVE( + static VKAPI_ATTR void VKAPI_CALL GetShaderModuleIdentifierEXT( VkDevice device, VkShaderModule shaderModule, @@ -3742,6 +3745,29 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize); + +static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksEXT( + VkCommandBuffer commandBuffer, + uint32_t groupCountX, + uint32_t groupCountY, + uint32_t groupCountZ); + +static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectEXT( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + uint32_t drawCount, + uint32_t stride); + +static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountEXT( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + uint32_t maxDrawCount, + uint32_t stride); + // Map of all APIs to be intercepted by this layer static const std::unordered_map<std::string, void*> name_to_funcptr_map = { {"vkCreateInstance", (void*)CreateInstance}, @@ -4417,6 +4443,9 @@ static const std::unordered_map<std::string, void*> name_to_funcptr_map = { {"vkCmdTraceRaysIndirectKHR", (void*)CmdTraceRaysIndirectKHR}, {"vkGetRayTracingShaderGroupStackSizeKHR", (void*)GetRayTracingShaderGroupStackSizeKHR}, {"vkCmdSetRayTracingPipelineStackSizeKHR", (void*)CmdSetRayTracingPipelineStackSizeKHR}, + {"vkCmdDrawMeshTasksEXT", (void*)CmdDrawMeshTasksEXT}, + {"vkCmdDrawMeshTasksIndirectEXT", (void*)CmdDrawMeshTasksIndirectEXT}, + {"vkCmdDrawMeshTasksIndirectCountEXT", (void*)CmdDrawMeshTasksIndirectCountEXT}, }; diff --git a/icd/generated/vk_typemap_helper.h b/icd/generated/vk_typemap_helper.h index f2ac9df9..f2cdbf8e 100644 --- a/icd/generated/vk_typemap_helper.h +++ b/icd/generated/vk_typemap_helper.h @@ -2318,6 +2318,17 @@ template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR> #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS +// Map type VkVideoDecodeUsageInfoKHR to id VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR +template <> struct LvlTypeMap<VkVideoDecodeUsageInfoKHR> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR> { + typedef VkVideoDecodeUsageInfoKHR Type; +}; + +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS // Map type VkVideoDecodeInfoKHR to id VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR template <> struct LvlTypeMap<VkVideoDecodeInfoKHR> { static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR; @@ -2946,6 +2957,17 @@ template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR> #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS +// Map type VkVideoEncodeUsageInfoKHR to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR +template <> struct LvlTypeMap<VkVideoEncodeUsageInfoKHR> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR> { + typedef VkVideoEncodeUsageInfoKHR Type; +}; + +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS // Map type VkVideoEncodeRateControlLayerInfoKHR to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR template <> struct LvlTypeMap<VkVideoEncodeRateControlLayerInfoKHR> { static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR; @@ -6024,6 +6046,15 @@ template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPP typedef VkDescriptorSetLayoutHostMappingInfoVALVE Type; }; +// Map type VkPhysicalDeviceDepthClampZeroOneFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT +template <> struct LvlTypeMap<VkPhysicalDeviceDepthClampZeroOneFeaturesEXT> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT> { + typedef VkPhysicalDeviceDepthClampZeroOneFeaturesEXT Type; +}; + // Map type VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT template <> struct LvlTypeMap<VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT> { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT; @@ -6402,6 +6433,24 @@ template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATU typedef VkPhysicalDeviceRayQueryFeaturesKHR Type; }; +// Map type VkPhysicalDeviceMeshShaderFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT +template <> struct LvlTypeMap<VkPhysicalDeviceMeshShaderFeaturesEXT> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT> { + typedef VkPhysicalDeviceMeshShaderFeaturesEXT Type; +}; + +// Map type VkPhysicalDeviceMeshShaderPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT +template <> struct LvlTypeMap<VkPhysicalDeviceMeshShaderPropertiesEXT> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT> { + typedef VkPhysicalDeviceMeshShaderPropertiesEXT Type; +}; + // Header "base class" for pNext chain traversal struct LvlGenericHeader { VkStructureType sType; diff --git a/scripts/generate_vulkan_wrapper.py b/scripts/generate_vulkan_wrapper.py index 95a3b84c..19122818 100755 --- a/scripts/generate_vulkan_wrapper.py +++ b/scripts/generate_vulkan_wrapper.py @@ -1312,6 +1312,9 @@ VK_VALVE_descriptor_set_host_mapping = Extension(name='VK_VALVE_descriptor_set_h Command(name='vkGetDescriptorSetHostMappingVALVE', dispatch='VkDevice'), ]) +VK_EXT_depth_clamp_zero_one = Extension(name='VK_EXT_depth_clamp_zero_one', version=1, guard=None, commands=[ +]) + VK_EXT_non_seamless_cube_map = Extension(name='VK_EXT_non_seamless_cube_map', version=1, guard=None, commands=[ ]) @@ -1380,6 +1383,12 @@ VK_KHR_ray_tracing_pipeline = Extension(name='VK_KHR_ray_tracing_pipeline', vers VK_KHR_ray_query = Extension(name='VK_KHR_ray_query', version=1, guard=None, commands=[ ]) +VK_EXT_mesh_shader = Extension(name='VK_EXT_mesh_shader', version=1, guard=None, commands=[ + Command(name='vkCmdDrawMeshTasksEXT', dispatch='VkCommandBuffer'), + Command(name='vkCmdDrawMeshTasksIndirectEXT', dispatch='VkCommandBuffer'), + Command(name='vkCmdDrawMeshTasksIndirectCountEXT', dispatch='VkCommandBuffer'), +]) + VK_KHR_android_surface = Extension(name='VK_KHR_android_surface', version=6, guard='VK_USE_PLATFORM_ANDROID_KHR', commands=[ Command(name='vkCreateAndroidSurfaceKHR', dispatch='VkInstance'), ]) @@ -1520,14 +1529,14 @@ VK_KHR_video_queue = Extension(name='VK_KHR_video_queue', version=5, guard='VK_E Command(name='vkCmdControlVideoCodingKHR', dispatch='VkCommandBuffer'), ]) -VK_KHR_video_decode_queue = Extension(name='VK_KHR_video_decode_queue', version=5, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ +VK_KHR_video_decode_queue = Extension(name='VK_KHR_video_decode_queue', version=6, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ Command(name='vkCmdDecodeVideoKHR', dispatch='VkCommandBuffer'), ]) VK_KHR_portability_subset = Extension(name='VK_KHR_portability_subset', version=1, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ ]) -VK_KHR_video_encode_queue = Extension(name='VK_KHR_video_encode_queue', version=6, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ +VK_KHR_video_encode_queue = Extension(name='VK_KHR_video_encode_queue', version=7, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ Command(name='vkCmdEncodeVideoKHR', dispatch='VkCommandBuffer'), ]) @@ -1793,6 +1802,7 @@ extensions = [ VK_EXT_border_color_swizzle, VK_EXT_pageable_device_local_memory, VK_VALVE_descriptor_set_host_mapping, + VK_EXT_depth_clamp_zero_one, VK_EXT_non_seamless_cube_map, VK_QCOM_fragment_density_map_offset, VK_NV_linear_color_attachment, @@ -1807,6 +1817,7 @@ extensions = [ VK_KHR_acceleration_structure, VK_KHR_ray_tracing_pipeline, VK_KHR_ray_query, + VK_EXT_mesh_shader, VK_KHR_android_surface, VK_ANDROID_external_memory_android_hardware_buffer, VK_FUCHSIA_imagepipe_surface, diff --git a/scripts/known_good.json b/scripts/known_good.json index 7f5f3347..b4e28bc7 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json @@ -6,7 +6,7 @@ "sub_dir" : "Vulkan-Headers", "build_dir" : "Vulkan-Headers/build", "install_dir" : "Vulkan-Headers/build/install", - "commit" : "v1.3.225" + "commit" : "v1.3.226" }, { "name" : "MoltenVK", @@ -30,7 +30,7 @@ "sub_dir" : "Vulkan-Loader", "build_dir" : "Vulkan-Loader/build", "install_dir" : "Vulkan-Loader/build/install", - "commit" : "v1.3.225", + "commit" : "v1.3.226", "deps" : [ { "var_name" : "VULKAN_HEADERS_INSTALL_DIR", diff --git a/vulkaninfo/generated/vulkaninfo.hpp b/vulkaninfo/generated/vulkaninfo.hpp index 9601dcb9..30c8e79d 100644 --- a/vulkaninfo/generated/vulkaninfo.hpp +++ b/vulkaninfo/generated/vulkaninfo.hpp @@ -985,8 +985,8 @@ std::vector<const char *> VkShaderStageFlagBitsGetStrings(VkShaderStageFlagBits if (VK_SHADER_STAGE_MISS_BIT_KHR & value) strings.push_back("SHADER_STAGE_MISS_BIT_KHR"); if (VK_SHADER_STAGE_INTERSECTION_BIT_KHR & value) strings.push_back("SHADER_STAGE_INTERSECTION_BIT_KHR"); if (VK_SHADER_STAGE_CALLABLE_BIT_KHR & value) strings.push_back("SHADER_STAGE_CALLABLE_BIT_KHR"); - if (VK_SHADER_STAGE_TASK_BIT_NV & value) strings.push_back("SHADER_STAGE_TASK_BIT_NV"); - if (VK_SHADER_STAGE_MESH_BIT_NV & value) strings.push_back("SHADER_STAGE_MESH_BIT_NV"); + if (VK_SHADER_STAGE_TASK_BIT_EXT & value) strings.push_back("SHADER_STAGE_TASK_BIT_EXT"); + if (VK_SHADER_STAGE_MESH_BIT_EXT & value) strings.push_back("SHADER_STAGE_MESH_BIT_EXT"); if (VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI & value) strings.push_back("SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI"); return strings; } @@ -1343,6 +1343,11 @@ void DumpVkPhysicalDeviceCustomBorderColorPropertiesEXT(Printer &p, std::string p.SetMinKeyWidth(28); p.PrintKeyValue("maxCustomBorderColorSamplers", obj.maxCustomBorderColorSamplers); } +void DumpVkPhysicalDeviceDepthClampZeroOneFeaturesEXT(Printer &p, std::string name, const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT &obj) { + ObjectWrapper object{p, name}; + p.SetMinKeyWidth(17); + p.PrintKeyBool("depthClampZeroOne", static_cast<bool>(obj.depthClampZeroOne)); +} void DumpVkPhysicalDeviceDepthClipControlFeaturesEXT(Printer &p, std::string name, const VkPhysicalDeviceDepthClipControlFeaturesEXT &obj) { ObjectWrapper object{p, name}; p.SetMinKeyWidth(16); @@ -1919,6 +1924,63 @@ void DumpVkPhysicalDeviceMemoryPriorityFeaturesEXT(Printer &p, std::string name, p.SetMinKeyWidth(14); p.PrintKeyBool("memoryPriority", static_cast<bool>(obj.memoryPriority)); } +void DumpVkPhysicalDeviceMeshShaderFeaturesEXT(Printer &p, std::string name, const VkPhysicalDeviceMeshShaderFeaturesEXT &obj) { + ObjectWrapper object{p, name}; + p.SetMinKeyWidth(38); + p.PrintKeyBool("taskShader", static_cast<bool>(obj.taskShader)); + p.PrintKeyBool("meshShader", static_cast<bool>(obj.meshShader)); + p.PrintKeyBool("multiviewMeshShader", static_cast<bool>(obj.multiviewMeshShader)); + p.PrintKeyBool("primitiveFragmentShadingRateMeshShader", static_cast<bool>(obj.primitiveFragmentShadingRateMeshShader)); + p.PrintKeyBool("meshShaderQueries", static_cast<bool>(obj.meshShaderQueries)); +} +void DumpVkPhysicalDeviceMeshShaderPropertiesEXT(Printer &p, std::string name, const VkPhysicalDeviceMeshShaderPropertiesEXT &obj) { + ObjectWrapper object{p, name}; + p.SetMinKeyWidth(37); + p.PrintKeyValue("maxTaskWorkGroupTotalCount", obj.maxTaskWorkGroupTotalCount); + { ArrayWrapper arr(p,"maxTaskWorkGroupCount", 3); + p.PrintElement(obj.maxTaskWorkGroupCount[0]); + p.PrintElement(obj.maxTaskWorkGroupCount[1]); + p.PrintElement(obj.maxTaskWorkGroupCount[2]); + } + p.PrintKeyValue("maxTaskWorkGroupInvocations", obj.maxTaskWorkGroupInvocations); + { ArrayWrapper arr(p,"maxTaskWorkGroupSize", 3); + p.PrintElement(obj.maxTaskWorkGroupSize[0]); + p.PrintElement(obj.maxTaskWorkGroupSize[1]); + p.PrintElement(obj.maxTaskWorkGroupSize[2]); + } + p.PrintKeyValue("maxTaskPayloadSize", obj.maxTaskPayloadSize); + p.PrintKeyValue("maxTaskSharedMemorySize", obj.maxTaskSharedMemorySize); + p.PrintKeyValue("maxTaskPayloadAndSharedMemorySize", obj.maxTaskPayloadAndSharedMemorySize); + p.PrintKeyValue("maxMeshWorkGroupTotalCount", obj.maxMeshWorkGroupTotalCount); + { ArrayWrapper arr(p,"maxMeshWorkGroupCount", 3); + p.PrintElement(obj.maxMeshWorkGroupCount[0]); + p.PrintElement(obj.maxMeshWorkGroupCount[1]); + p.PrintElement(obj.maxMeshWorkGroupCount[2]); + } + p.PrintKeyValue("maxMeshWorkGroupInvocations", obj.maxMeshWorkGroupInvocations); + { ArrayWrapper arr(p,"maxMeshWorkGroupSize", 3); + p.PrintElement(obj.maxMeshWorkGroupSize[0]); + p.PrintElement(obj.maxMeshWorkGroupSize[1]); + p.PrintElement(obj.maxMeshWorkGroupSize[2]); + } + p.PrintKeyValue("maxMeshSharedMemorySize", obj.maxMeshSharedMemorySize); + p.PrintKeyValue("maxMeshPayloadAndSharedMemorySize", obj.maxMeshPayloadAndSharedMemorySize); + p.PrintKeyValue("maxMeshOutputMemorySize", obj.maxMeshOutputMemorySize); + p.PrintKeyValue("maxMeshPayloadAndOutputMemorySize", obj.maxMeshPayloadAndOutputMemorySize); + p.PrintKeyValue("maxMeshOutputComponents", obj.maxMeshOutputComponents); + p.PrintKeyValue("maxMeshOutputVertices", obj.maxMeshOutputVertices); + p.PrintKeyValue("maxMeshOutputPrimitives", obj.maxMeshOutputPrimitives); + p.PrintKeyValue("maxMeshOutputLayers", obj.maxMeshOutputLayers); + p.PrintKeyValue("maxMeshMultiviewViewCount", obj.maxMeshMultiviewViewCount); + p.PrintKeyValue("meshOutputPerVertexGranularity", obj.meshOutputPerVertexGranularity); + p.PrintKeyValue("meshOutputPerPrimitiveGranularity", obj.meshOutputPerPrimitiveGranularity); + p.PrintKeyValue("maxPreferredTaskWorkGroupInvocations", obj.maxPreferredTaskWorkGroupInvocations); + p.PrintKeyValue("maxPreferredMeshWorkGroupInvocations", obj.maxPreferredMeshWorkGroupInvocations); + p.PrintKeyBool("prefersLocalInvocationVertexOutput", static_cast<bool>(obj.prefersLocalInvocationVertexOutput)); + p.PrintKeyBool("prefersLocalInvocationPrimitiveOutput", static_cast<bool>(obj.prefersLocalInvocationPrimitiveOutput)); + p.PrintKeyBool("prefersCompactVertexOutput", static_cast<bool>(obj.prefersCompactVertexOutput)); + p.PrintKeyBool("prefersCompactPrimitiveOutput", static_cast<bool>(obj.prefersCompactPrimitiveOutput)); +} void DumpVkPhysicalDeviceMultiDrawFeaturesEXT(Printer &p, std::string name, const VkPhysicalDeviceMultiDrawFeaturesEXT &obj) { ObjectWrapper object{p, name}; p.SetMinKeyWidth(9); @@ -2790,6 +2852,7 @@ struct phys_device_props2_chain { VkPhysicalDeviceLineRasterizationPropertiesEXT PhysicalDeviceLineRasterizationPropertiesEXT{}; VkPhysicalDeviceMaintenance3Properties PhysicalDeviceMaintenance3Properties{}; VkPhysicalDeviceMaintenance4Properties PhysicalDeviceMaintenance4Properties{}; + VkPhysicalDeviceMeshShaderPropertiesEXT PhysicalDeviceMeshShaderPropertiesEXT{}; VkPhysicalDeviceMultiDrawPropertiesEXT PhysicalDeviceMultiDrawPropertiesEXT{}; VkPhysicalDeviceMultiviewProperties PhysicalDeviceMultiviewProperties{}; VkPhysicalDevicePCIBusInfoPropertiesEXT PhysicalDevicePCIBusInfoPropertiesEXT{}; @@ -2839,6 +2902,7 @@ struct phys_device_props2_chain { PhysicalDeviceLineRasterizationPropertiesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT; PhysicalDeviceMaintenance3Properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES; PhysicalDeviceMaintenance4Properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES; + PhysicalDeviceMeshShaderPropertiesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT; PhysicalDeviceMultiDrawPropertiesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT; PhysicalDeviceMultiviewProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES; PhysicalDevicePCIBusInfoPropertiesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT; @@ -2888,6 +2952,7 @@ struct phys_device_props2_chain { chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceLineRasterizationPropertiesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMaintenance3Properties)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMaintenance4Properties)); + chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMeshShaderPropertiesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMultiDrawPropertiesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMultiviewProperties)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDevicePCIBusInfoPropertiesEXT)); @@ -2971,6 +3036,7 @@ struct phys_device_features2_chain { VkPhysicalDeviceColorWriteEnableFeaturesEXT PhysicalDeviceColorWriteEnableFeaturesEXT{}; VkPhysicalDeviceConditionalRenderingFeaturesEXT PhysicalDeviceConditionalRenderingFeaturesEXT{}; VkPhysicalDeviceCustomBorderColorFeaturesEXT PhysicalDeviceCustomBorderColorFeaturesEXT{}; + VkPhysicalDeviceDepthClampZeroOneFeaturesEXT PhysicalDeviceDepthClampZeroOneFeaturesEXT{}; VkPhysicalDeviceDepthClipControlFeaturesEXT PhysicalDeviceDepthClipControlFeaturesEXT{}; VkPhysicalDeviceDepthClipEnableFeaturesEXT PhysicalDeviceDepthClipEnableFeaturesEXT{}; VkPhysicalDeviceDescriptorIndexingFeatures PhysicalDeviceDescriptorIndexingFeatures{}; @@ -2997,6 +3063,7 @@ struct phys_device_features2_chain { VkPhysicalDeviceLineRasterizationFeaturesEXT PhysicalDeviceLineRasterizationFeaturesEXT{}; VkPhysicalDeviceMaintenance4Features PhysicalDeviceMaintenance4Features{}; VkPhysicalDeviceMemoryPriorityFeaturesEXT PhysicalDeviceMemoryPriorityFeaturesEXT{}; + VkPhysicalDeviceMeshShaderFeaturesEXT PhysicalDeviceMeshShaderFeaturesEXT{}; VkPhysicalDeviceMultiDrawFeaturesEXT PhysicalDeviceMultiDrawFeaturesEXT{}; VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT{}; VkPhysicalDeviceMultiviewFeatures PhysicalDeviceMultiviewFeatures{}; @@ -3073,6 +3140,7 @@ struct phys_device_features2_chain { PhysicalDeviceColorWriteEnableFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT; PhysicalDeviceConditionalRenderingFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT; PhysicalDeviceCustomBorderColorFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT; + PhysicalDeviceDepthClampZeroOneFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT; PhysicalDeviceDepthClipControlFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT; PhysicalDeviceDepthClipEnableFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT; PhysicalDeviceDescriptorIndexingFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES; @@ -3099,6 +3167,7 @@ struct phys_device_features2_chain { PhysicalDeviceLineRasterizationFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT; PhysicalDeviceMaintenance4Features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES; PhysicalDeviceMemoryPriorityFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT; + PhysicalDeviceMeshShaderFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT; PhysicalDeviceMultiDrawFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT; PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT; PhysicalDeviceMultiviewFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES; @@ -3174,6 +3243,7 @@ struct phys_device_features2_chain { chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceColorWriteEnableFeaturesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceConditionalRenderingFeaturesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceCustomBorderColorFeaturesEXT)); + chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceDepthClampZeroOneFeaturesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceDepthClipControlFeaturesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceDepthClipEnableFeaturesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceDescriptorIndexingFeatures)); @@ -3200,6 +3270,7 @@ struct phys_device_features2_chain { chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceLineRasterizationFeaturesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMaintenance4Features)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMemoryPriorityFeaturesEXT)); + chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMeshShaderFeaturesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMultiDrawFeaturesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT)); chain_members.push_back(reinterpret_cast<VkBaseOutStructure*>(&PhysicalDeviceMultiviewFeatures)); @@ -3516,6 +3587,12 @@ void chain_iterator_phys_device_props2(Printer &p, AppInstance &inst, AppGpu &gp DumpVkPhysicalDeviceMaintenance4Properties(p, gpu.api_version.minor >= 3 ?"VkPhysicalDeviceMaintenance4Properties":"VkPhysicalDeviceMaintenance4PropertiesKHR", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_MESH_SHADER_EXTENSION_NAME))) { + VkPhysicalDeviceMeshShaderPropertiesEXT* props = (VkPhysicalDeviceMeshShaderPropertiesEXT*)structure; + DumpVkPhysicalDeviceMeshShaderPropertiesEXT(p, "VkPhysicalDeviceMeshShaderPropertiesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_MULTI_DRAW_EXTENSION_NAME))) { VkPhysicalDeviceMultiDrawPropertiesEXT* props = (VkPhysicalDeviceMultiDrawPropertiesEXT*)structure; @@ -3763,6 +3840,12 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, void * place) DumpVkPhysicalDeviceCustomBorderColorFeaturesEXT(p, "VkPhysicalDeviceCustomBorderColorFeaturesEXT", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME))) { + VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* props = (VkPhysicalDeviceDepthClampZeroOneFeaturesEXT*)structure; + DumpVkPhysicalDeviceDepthClampZeroOneFeaturesEXT(p, "VkPhysicalDeviceDepthClampZeroOneFeaturesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME))) { VkPhysicalDeviceDepthClipControlFeaturesEXT* props = (VkPhysicalDeviceDepthClipControlFeaturesEXT*)structure; @@ -3926,6 +4009,12 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, void * place) DumpVkPhysicalDeviceMemoryPriorityFeaturesEXT(p, "VkPhysicalDeviceMemoryPriorityFeaturesEXT", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_MESH_SHADER_EXTENSION_NAME))) { + VkPhysicalDeviceMeshShaderFeaturesEXT* props = (VkPhysicalDeviceMeshShaderFeaturesEXT*)structure; + DumpVkPhysicalDeviceMeshShaderFeaturesEXT(p, "VkPhysicalDeviceMeshShaderFeaturesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_MULTI_DRAW_EXTENSION_NAME))) { VkPhysicalDeviceMultiDrawFeaturesEXT* props = (VkPhysicalDeviceMultiDrawFeaturesEXT*)structure; |