From: Piers Daniell Date: Wed, 24 Jul 2019 05:07:47 +0000 (-0600) Subject: Test coverage for VK_EXT_index_type_uint8 X-Git-Tag: upstream/1.3.5~1811^2~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=65c4111577835f4b89cc8401cc7d28a487410efe;p=platform%2Fupstream%2FVK-GL-CTS.git Test coverage for VK_EXT_index_type_uint8 Adds coverage for VK_EXT_index_type_uint8 by adding a new VK_INDEX_TYPE_UINT8_EXT variant to the existing input_assembly tests. The coverage includes drawing all the primitive topologies with uint8 indices, and also primitive restart. Affects: dEQP-VK.pipeline.input_assembly.* Change-Id: I939c1e0d2c3d4fcfd4386b8b4e419a8ca0e73413 Components: Vulkan (cherry picked from commit e0e648699ac9279650486609cf16ec6e10d73042) --- diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index 0681755..030cc40 100644 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -210526,16 +210526,36 @@ dEQP-VK.pipeline.vertex_input.max_attributes.128_attributes.binding_one_to_many. dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_one.interleaved dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.interleaved dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.sequential -dEQP-VK.pipeline.input_assembly.primitive_topology.point_list -dEQP-VK.pipeline.input_assembly.primitive_topology.line_list -dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_fan -dEQP-VK.pipeline.input_assembly.primitive_topology.line_list_with_adjacency -dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip_with_adjacency -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list_with_adjacency -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.point_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.point_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.point_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip_with_adjacency dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.line_strip dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_strip dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_fan @@ -210546,6 +210566,11 @@ dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_str dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_fan dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.line_strip_with_adjacency dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip_with_adjacency dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_in_render_pass dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass_host_query_reset diff --git a/external/vulkancts/framework/vulkan/vkBasicTypes.inl b/external/vulkancts/framework/vulkan/vkBasicTypes.inl index 8bfa61c..43dacdf 100644 --- a/external/vulkancts/framework/vulkan/vkBasicTypes.inl +++ b/external/vulkancts/framework/vulkan/vkBasicTypes.inl @@ -452,6 +452,7 @@ enum VkStructureType VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, @@ -1193,6 +1194,7 @@ enum VkIndexType VK_INDEX_TYPE_UINT16 = 0, VK_INDEX_TYPE_UINT32 = 1, VK_INDEX_TYPE_NONE_NV = 1000165000, + VK_INDEX_TYPE_UINT8_EXT = 1000265000, VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF, }; @@ -2829,6 +2831,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer, void*); #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 0 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 +#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6 #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3 #define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1 diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl b/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl index 6f7f229..68d4d12 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl @@ -37,6 +37,7 @@ namespace vk #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" +#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" @@ -44,38 +45,39 @@ namespace vk #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 37); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 36); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 35); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 34); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 33); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 32); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 31); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 30); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 29); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 28); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 27); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 26); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 25); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 24); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 23); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 22); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 21); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 20); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 19); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 18); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 17); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 16); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 15); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 14); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 13); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 12); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 11); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 10); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 9); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION, 8); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 7); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 6); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 38); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 37); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 36); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 35); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 34); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 33); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 32); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 31); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 30); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 29); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 28); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 27); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 26); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 25); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 24); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 23); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 22); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 21); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 20); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 19); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 18); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 17); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 16); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 15); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 14); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 13); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 12); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 11); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 10); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION, 9); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 8); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 7); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 6); } template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 5); } template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 4); } template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 3); } @@ -117,6 +119,7 @@ static const FeatureStructMapItem featureStructCreatorMap[] = { createFeatureStructWrapper, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION }, { createFeatureStructWrapper, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION }, { createFeatureStructWrapper, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION }, { createFeatureStructWrapper, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION }, { createFeatureStructWrapper, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION }, { createFeatureStructWrapper, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION }, diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl index 7a367a6..a18294f 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl @@ -33,6 +33,7 @@ const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV& getCoverageReducti const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& getYcbcrImageArraysFeatures (void) const; const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& getUniformBufferStandardLayoutFeatures (void) const; const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT& getHostQueryResetFeatures (void) const; +const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT& getIndexTypeUint8Features (void) const; const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& getPipelineExecutablePropertiesFeatures (void) const; const vk::VkPhysicalDeviceMultiviewFeatures& getMultiviewFeatures (void) const; const vk::VkPhysicalDevice16BitStorageFeatures& get16BitStorageFeatures (void) const; diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl index 620ed3a..d9a8a94 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl @@ -33,6 +33,7 @@ const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV& Context::getCovera const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& Context::getYcbcrImageArraysFeatures (void) const { return m_device->getYcbcrImageArraysFeatures(); } const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& Context::getUniformBufferStandardLayoutFeatures (void) const { return m_device->getUniformBufferStandardLayoutFeatures(); } const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT& Context::getHostQueryResetFeatures (void) const { return m_device->getHostQueryResetFeatures(); } +const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT& Context::getIndexTypeUint8Features (void) const { return m_device->getIndexTypeUint8Features(); } const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& Context::getPipelineExecutablePropertiesFeatures (void) const { return m_device->getPipelineExecutablePropertiesFeatures(); } const vk::VkPhysicalDeviceMultiviewFeatures& Context::getMultiviewFeatures (void) const { return m_device->getMultiviewFeatures(); } const vk::VkPhysicalDevice16BitStorageFeatures& Context::get16BitStorageFeatures (void) const { return m_device->get16BitStorageFeatures(); } diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl index 8ae6fa8..d134756 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl @@ -33,6 +33,7 @@ const VkPhysicalDeviceCoverageReductionModeFeaturesNV& getCoverageReductionMo const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& getYcbcrImageArraysFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& getUniformBufferStandardLayoutFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceHostQueryResetFeaturesEXT& getHostQueryResetFeatures (void) const { return m_deviceFeatures.getFeatureType(); } +const VkPhysicalDeviceIndexTypeUint8FeaturesEXT& getIndexTypeUint8Features (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& getPipelineExecutablePropertiesFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceMultiviewFeatures& getMultiviewFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDevice16BitStorageFeatures& get16BitStorageFeatures (void) const { return m_deviceFeatures.getFeatureType(); } diff --git a/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl b/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl index 8277884..510b26a 100644 --- a/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl +++ b/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl @@ -1556,6 +1556,11 @@ template<> VkStructureType getStructureType VkStructureType getStructureType (void) +{ + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT; +} + template<> VkStructureType getStructureType (void) { return VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR; diff --git a/external/vulkancts/framework/vulkan/vkStrUtil.inl b/external/vulkancts/framework/vulkan/vkStrUtil.inl index a7ba89c..4a64fd2 100644 --- a/external/vulkancts/framework/vulkan/vkStrUtil.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtil.inl @@ -773,6 +773,7 @@ std::ostream& operator<< (std::ostream& s, const VkFramebufferMixedSamplesCombin std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& value); std::ostream& operator<< (std::ostream& s, const VkHeadlessSurfaceCreateInfoEXT& value); std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceHostQueryResetFeaturesEXT& value); +std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceIndexTypeUint8FeaturesEXT& value); std::ostream& operator<< (std::ostream& s, const VkAndroidSurfaceCreateInfoKHR& value); std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferUsageANDROID& value); std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferPropertiesANDROID& value); diff --git a/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl b/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl index d071c73..2a17832 100644 --- a/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl @@ -464,6 +464,7 @@ const char* getStructureTypeName (VkStructureType value) case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT"; case VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR"; case VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR"; case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR"; @@ -1207,6 +1208,7 @@ const char* getIndexTypeName (VkIndexType value) case VK_INDEX_TYPE_UINT16: return "VK_INDEX_TYPE_UINT16"; case VK_INDEX_TYPE_UINT32: return "VK_INDEX_TYPE_UINT32"; case VK_INDEX_TYPE_NONE_NV: return "VK_INDEX_TYPE_NONE_NV"; + case VK_INDEX_TYPE_UINT8_EXT: return "VK_INDEX_TYPE_UINT8_EXT"; case VK_INDEX_TYPE_MAX_ENUM: return "VK_INDEX_TYPE_MAX_ENUM"; default: return DE_NULL; } @@ -8229,6 +8231,16 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceHostQueryResetF return s; } +std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceIndexTypeUint8FeaturesEXT& value) +{ + s << "VkPhysicalDeviceIndexTypeUint8FeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tindexTypeUint8 = " << value.indexTypeUint8 << '\n'; + s << '}'; + return s; +} + std::ostream& operator<< (std::ostream& s, const VkAndroidSurfaceCreateInfoKHR& value) { s << "VkAndroidSurfaceCreateInfoKHR = {\n"; diff --git a/external/vulkancts/framework/vulkan/vkStructTypes.inl b/external/vulkancts/framework/vulkan/vkStructTypes.inl index 89d389d..a699140 100644 --- a/external/vulkancts/framework/vulkan/vkStructTypes.inl +++ b/external/vulkancts/framework/vulkan/vkStructTypes.inl @@ -3866,6 +3866,13 @@ struct VkPhysicalDeviceHostQueryResetFeaturesEXT VkBool32 hostQueryReset; }; +struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT +{ + VkStructureType sType; + void* pNext; + VkBool32 indexTypeUint8; +}; + struct VkAndroidSurfaceCreateInfoKHR { VkStructureType sType; diff --git a/external/vulkancts/framework/vulkan/vkVulkan_c.inl b/external/vulkancts/framework/vulkan/vkVulkan_c.inl index 2961386..cdd96e8 100644 --- a/external/vulkancts/framework/vulkan/vkVulkan_c.inl +++ b/external/vulkancts/framework/vulkan/vkVulkan_c.inl @@ -502,6 +502,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, @@ -1285,6 +1286,7 @@ typedef enum VkIndexType { VK_INDEX_TYPE_UINT16 = 0, VK_INDEX_TYPE_UINT32 = 1, VK_INDEX_TYPE_NONE_NV = 1000165000, + VK_INDEX_TYPE_UINT8_EXT = 1000265000, VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16, VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32, VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1), @@ -9432,6 +9434,16 @@ VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( deUint32 queryCount); #endif +#define VK_EXT_index_type_uint8 1 +#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 +#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" +typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 indexTypeUint8; +} VkPhysicalDeviceIndexTypeUint8FeaturesEXT; + + #ifdef __cplusplus } #endif diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineInputAssemblyTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineInputAssemblyTests.cpp index a2e4956..aab8a0d 100644 --- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineInputAssemblyTests.cpp +++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineInputAssemblyTests.cpp @@ -64,6 +64,7 @@ public: const static VkPrimitiveTopology s_primitiveTopologies[]; const static deUint32 s_restartIndex32; const static deUint16 s_restartIndex16; + const static deUint8 s_restartIndex8; InputAssemblyTest (tcu::TestContext& testContext, const std::string& name, @@ -98,7 +99,8 @@ public: PrimitiveTopologyTest (tcu::TestContext& testContext, const std::string& name, const std::string& description, - VkPrimitiveTopology primitiveTopology); + VkPrimitiveTopology primitiveTopology, + VkIndexType indexType); virtual ~PrimitiveTopologyTest (void) {} protected: @@ -149,6 +151,7 @@ public: private: tcu::TestStatus verifyImage (void); void uploadIndexBufferData16 (deUint16* destPtr, const std::vector& indexBufferData); + void uploadIndexBufferData8 (deUint8* destPtr, const std::vector& indexBufferData); VkPrimitiveTopology m_primitiveTopology; bool m_primitiveRestartEnable; @@ -201,6 +204,7 @@ const VkPrimitiveTopology InputAssemblyTest::s_primitiveTopologies[] = const deUint32 InputAssemblyTest::s_restartIndex32 = ~((deUint32)0u); const deUint16 InputAssemblyTest::s_restartIndex16 = ~((deUint16)0u); +const deUint8 InputAssemblyTest::s_restartIndex8 = ~((deUint8)0u); InputAssemblyTest::InputAssemblyTest (tcu::TestContext& testContext, const std::string& name, @@ -259,16 +263,20 @@ void InputAssemblyTest::initPrograms (SourceCollections& sourceCollections) cons bool InputAssemblyTest::isRestartIndex (VkIndexType indexType, deUint32 indexValue) { - if (indexType == VK_INDEX_TYPE_UINT32) - return indexValue == s_restartIndex32; - else + if (indexType == VK_INDEX_TYPE_UINT16) return indexValue == s_restartIndex16; + else if (indexType == VK_INDEX_TYPE_UINT8_EXT) + return indexValue == s_restartIndex8; + else + return indexValue == s_restartIndex32; } deUint32 InputAssemblyTest::getRestartIndex (VkIndexType indexType) { if (indexType == VK_INDEX_TYPE_UINT16) return InputAssemblyTest::s_restartIndex16; + else if (indexType == VK_INDEX_TYPE_UINT8_EXT) + return InputAssemblyTest::s_restartIndex8; else return InputAssemblyTest::s_restartIndex32; } @@ -279,8 +287,9 @@ deUint32 InputAssemblyTest::getRestartIndex (VkIndexType indexType) PrimitiveTopologyTest::PrimitiveTopologyTest (tcu::TestContext& testContext, const std::string& name, const std::string& description, - VkPrimitiveTopology primitiveTopology) - : InputAssemblyTest (testContext, name, description, primitiveTopology, 10, false, VK_INDEX_TYPE_UINT32) + VkPrimitiveTopology primitiveTopology, + VkIndexType indexType) + : InputAssemblyTest (testContext, name, description, primitiveTopology, 10, false, indexType) { } @@ -926,6 +935,9 @@ InputAssemblyInstance::InputAssemblyInstance (Context& context, SimpleAllocator memAlloc (vk, vkDevice, getPhysicalDeviceMemoryProperties(context.getInstanceInterface(), context.getPhysicalDevice())); const VkComponentMapping componentMappingRGBA = { VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_A }; + if (m_indexType == VK_INDEX_TYPE_UINT8_EXT) + context.requireDeviceExtension("VK_EXT_index_type_uint8"); + switch (m_primitiveTopology) { case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY: @@ -1268,6 +1280,10 @@ InputAssemblyInstance::InputAssemblyInstance (Context& context, { deMemcpy(m_indexBufferAlloc->getHostPtr(), m_indices.data(), m_indices.size() * sizeof(deUint32)); } + else if (m_indexType == VK_INDEX_TYPE_UINT8_EXT) + { + uploadIndexBufferData8((deUint8*)m_indexBufferAlloc->getHostPtr(), m_indices); + } else // m_indexType == VK_INDEX_TYPE_UINT16 { uploadIndexBufferData16((deUint16*)m_indexBufferAlloc->getHostPtr(), m_indices); @@ -1424,6 +1440,15 @@ void InputAssemblyInstance::uploadIndexBufferData16 (deUint16* destPtr, const st } } +void InputAssemblyInstance::uploadIndexBufferData8 (deUint8* destPtr, const std::vector& indexBufferData) +{ + for (size_t i = 0; i < indexBufferData.size(); i++) + { + DE_ASSERT(indexBufferData[i] <= 0xFF); + destPtr[i] = (deUint8)indexBufferData[i]; + } +} + // Utilities for test names @@ -1440,16 +1465,37 @@ de::MovePtr createPrimitiveTopologyTests (tcu::TestContext& { de::MovePtr primitiveTopologyTests (new tcu::TestCaseGroup(testCtx, "primitive_topology", "")); + de::MovePtr indexUint16Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint16", "")); + de::MovePtr indexUint32Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint32", "")); + de::MovePtr indexUint8Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint8", "")); + for (int topologyNdx = 0; topologyNdx < DE_LENGTH_OF_ARRAY(InputAssemblyTest::s_primitiveTopologies); topologyNdx++) { const VkPrimitiveTopology topology = InputAssemblyTest::s_primitiveTopologies[topologyNdx]; - primitiveTopologyTests->addChild(new PrimitiveTopologyTest(testCtx, - getPrimitiveTopologyCaseName(topology), - "", - topology)); + indexUint16Tests->addChild(new PrimitiveTopologyTest(testCtx, + getPrimitiveTopologyCaseName(topology), + "", + topology, + VK_INDEX_TYPE_UINT16)); + + indexUint32Tests->addChild(new PrimitiveTopologyTest(testCtx, + getPrimitiveTopologyCaseName(topology), + "", + topology, + VK_INDEX_TYPE_UINT32)); + + indexUint8Tests->addChild(new PrimitiveTopologyTest(testCtx, + getPrimitiveTopologyCaseName(topology), + "", + topology, + VK_INDEX_TYPE_UINT8_EXT)); } + primitiveTopologyTests->addChild(indexUint16Tests.release()); + primitiveTopologyTests->addChild(indexUint32Tests.release()); + primitiveTopologyTests->addChild(indexUint8Tests.release()); + return primitiveTopologyTests; } @@ -1468,6 +1514,7 @@ de::MovePtr createPrimitiveRestartTests (tcu::TestContext& t de::MovePtr indexUint16Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint16", "")); de::MovePtr indexUint32Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint32", "")); + de::MovePtr indexUint8Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint8", "")); for (int topologyNdx = 0; topologyNdx < DE_LENGTH_OF_ARRAY(primitiveRestartTopologies); topologyNdx++) { @@ -1484,10 +1531,17 @@ de::MovePtr createPrimitiveRestartTests (tcu::TestContext& t "", topology, VK_INDEX_TYPE_UINT32)); + + indexUint8Tests->addChild(new PrimitiveRestartTest(testCtx, + getPrimitiveTopologyCaseName(topology), + "", + topology, + VK_INDEX_TYPE_UINT8_EXT)); } primitiveRestartTests->addChild(indexUint16Tests.release()); primitiveRestartTests->addChild(indexUint32Tests.release()); + primitiveRestartTests->addChild(indexUint8Tests.release()); return primitiveRestartTests; } diff --git a/external/vulkancts/mustpass/master/vk-default-no-waivers.txt b/external/vulkancts/mustpass/master/vk-default-no-waivers.txt index f9f17c7..a5b632f 100644 --- a/external/vulkancts/mustpass/master/vk-default-no-waivers.txt +++ b/external/vulkancts/mustpass/master/vk-default-no-waivers.txt @@ -210413,16 +210413,36 @@ dEQP-VK.pipeline.vertex_input.max_attributes.128_attributes.binding_one_to_many. dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_one.interleaved dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.interleaved dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.sequential -dEQP-VK.pipeline.input_assembly.primitive_topology.point_list -dEQP-VK.pipeline.input_assembly.primitive_topology.line_list -dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_fan -dEQP-VK.pipeline.input_assembly.primitive_topology.line_list_with_adjacency -dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip_with_adjacency -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list_with_adjacency -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.point_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.point_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.point_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip_with_adjacency dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.line_strip dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_strip dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_fan @@ -210433,6 +210453,11 @@ dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_str dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_fan dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.line_strip_with_adjacency dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip_with_adjacency dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_in_render_pass dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass_host_query_reset diff --git a/external/vulkancts/mustpass/master/vk-default.txt b/external/vulkancts/mustpass/master/vk-default.txt index 2357874..9651b9c 100644 --- a/external/vulkancts/mustpass/master/vk-default.txt +++ b/external/vulkancts/mustpass/master/vk-default.txt @@ -210413,16 +210413,36 @@ dEQP-VK.pipeline.vertex_input.max_attributes.128_attributes.binding_one_to_many. dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_one.interleaved dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.interleaved dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.sequential -dEQP-VK.pipeline.input_assembly.primitive_topology.point_list -dEQP-VK.pipeline.input_assembly.primitive_topology.line_list -dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_fan -dEQP-VK.pipeline.input_assembly.primitive_topology.line_list_with_adjacency -dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip_with_adjacency -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list_with_adjacency -dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.point_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.point_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.point_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip_with_adjacency dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.line_strip dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_strip dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_fan @@ -210433,6 +210453,11 @@ dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_str dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_fan dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.line_strip_with_adjacency dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_fan +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip_with_adjacency +dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip_with_adjacency dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_in_render_pass dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass_host_query_reset diff --git a/external/vulkancts/scripts/gen_framework.py b/external/vulkancts/scripts/gen_framework.py index 00e2c1f..7c9d3a6 100644 --- a/external/vulkancts/scripts/gen_framework.py +++ b/external/vulkancts/scripts/gen_framework.py @@ -149,6 +149,10 @@ def prefixName (prefix, name): name = name.replace("AABBNV", "AABB_NV") name = name.replace("IMAGE_PIPE", "IMAGEPIPE") name = name.replace("FUNCTIONS_2", "FUNCTIONS2_FEATURES") + name = name.replace("SMBUILTINS", "SM_BUILTINS") + name = name.replace("ASTCHDRFEATURES", "ASTC_HDR_FEATURES") + name = name.replace("UINT_8", "UINT8") + name = name.replace("INT_8_", "INT8_") return prefix + name diff --git a/external/vulkancts/scripts/src/vulkan_core.h b/external/vulkancts/scripts/src/vulkan_core.h index 8fd463f..5c75a42 100755 --- a/external/vulkancts/scripts/src/vulkan_core.h +++ b/external/vulkancts/scripts/src/vulkan_core.h @@ -499,6 +499,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, @@ -1282,6 +1283,7 @@ typedef enum VkIndexType { VK_INDEX_TYPE_UINT16 = 0, VK_INDEX_TYPE_UINT32 = 1, VK_INDEX_TYPE_NONE_NV = 1000165000, + VK_INDEX_TYPE_UINT8_EXT = 1000265000, VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16, VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32, VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1), @@ -9429,6 +9431,16 @@ VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( uint32_t queryCount); #endif +#define VK_EXT_index_type_uint8 1 +#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 +#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" +typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 indexTypeUint8; +} VkPhysicalDeviceIndexTypeUint8FeaturesEXT; + + #ifdef __cplusplus } #endif