Commit 765c3b85 authored by Connor Abbott's avatar Connor Abbott Committed by Marge Bot
Browse files

tu: Expose VK_KHR_spirv_1_4 and VK_EXT_scalar_block_layout

VK_KHR_spirv_1_4 is trivial because vtn already supports all the added
SPIR-V features that aren't gated behind Vulkan extensions. I've
observed some robustness2 CTS tests requiring this. However there are
a few tests currently failing due to lacking spilling.

VK_EXT_scalar_block_layout should also be trivial, since support for
"straddling" UBO loads was added recently for other reasons. This is
used by every robustness2 CTS test.

Part-of: <!8695>
parent 45ae0e9f
...@@ -461,14 +461,14 @@ Vulkan 1.2 -- all DONE: anv ...@@ -461,14 +461,14 @@ Vulkan 1.2 -- all DONE: anv
VK_KHR_shader_float16_int8 DONE (anv/gen8+, radv, tu) VK_KHR_shader_float16_int8 DONE (anv/gen8+, radv, tu)
VK_KHR_shader_float_controls DONE (anv/gen8+, radv, tu) VK_KHR_shader_float_controls DONE (anv/gen8+, radv, tu)
VK_KHR_shader_subgroup_extended_types DONE (anv/gen8+, radv) VK_KHR_shader_subgroup_extended_types DONE (anv/gen8+, radv)
VK_KHR_spirv_1_4 DONE (anv, radv) VK_KHR_spirv_1_4 DONE (anv, radv, tu)
VK_KHR_timeline_semaphore DONE (anv, radv) VK_KHR_timeline_semaphore DONE (anv, radv)
VK_KHR_uniform_buffer_standard_layout DONE (anv, lvp, radv) VK_KHR_uniform_buffer_standard_layout DONE (anv, lvp, radv)
VK_KHR_vulkan_memory_model DONE (anv, radv) VK_KHR_vulkan_memory_model DONE (anv, radv)
VK_EXT_descriptor_indexing DONE (anv/gen9+, radv, tu) VK_EXT_descriptor_indexing DONE (anv/gen9+, radv, tu)
VK_EXT_host_query_reset DONE (anv, lvp, radv, tu) VK_EXT_host_query_reset DONE (anv, lvp, radv, tu)
VK_EXT_sampler_filter_minmax DONE (anv/gen9+, lvp, radv, tu) VK_EXT_sampler_filter_minmax DONE (anv/gen9+, lvp, radv, tu)
VK_EXT_scalar_block_layout DONE (anv, lvp, radv/gfx7+) VK_EXT_scalar_block_layout DONE (anv, lvp, radv/gfx7+, tu)
VK_EXT_separate_stencil_usage DONE (anv) VK_EXT_separate_stencil_usage DONE (anv)
VK_EXT_shader_viewport_index_layer DONE (anv, lvp, radv, tu) VK_EXT_shader_viewport_index_layer DONE (anv, lvp, radv, tu)
......
...@@ -183,6 +183,7 @@ dEQP-VK.spirv_assembly.instruction.graphics.opquantize.too_small_geom,Fail ...@@ -183,6 +183,7 @@ dEQP-VK.spirv_assembly.instruction.graphics.opquantize.too_small_geom,Fail
dEQP-VK.spirv_assembly.instruction.graphics.opquantize.too_small_tessc,Fail dEQP-VK.spirv_assembly.instruction.graphics.opquantize.too_small_tessc,Fail
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.writes_single_buffer_geom,Fail dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.writes_single_buffer_geom,Fail
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.writes_two_buffers_geom,Fail dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.writes_two_buffers_geom,Fail
dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopylogical.nested_arrays_different_inner_stride,Fail
dEQP-VK.subgroups.basic.compute.subgroupelect,Crash dEQP-VK.subgroups.basic.compute.subgroupelect,Crash
dEQP-VK.subgroups.basic.compute.subgroupmemorybarrier,Crash dEQP-VK.subgroups.basic.compute.subgroupmemorybarrier,Crash
dEQP-VK.subgroups.basic.compute.subgroupmemorybarriershared,Crash dEQP-VK.subgroups.basic.compute.subgroupmemorybarriershared,Crash
......
...@@ -444,7 +444,7 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, ...@@ -444,7 +444,7 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
features->runtimeDescriptorArray = true; features->runtimeDescriptorArray = true;
features->samplerFilterMinmax = true; features->samplerFilterMinmax = true;
features->scalarBlockLayout = false; features->scalarBlockLayout = true;
features->imagelessFramebuffer = false; features->imagelessFramebuffer = false;
features->uniformBufferStandardLayout = false; features->uniformBufferStandardLayout = false;
features->shaderSubgroupExtendedTypes = false; features->shaderSubgroupExtendedTypes = false;
...@@ -610,6 +610,12 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, ...@@ -610,6 +610,12 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
features->shaderInt8 = false; features->shaderInt8 = false;
break; break;
} }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: {
VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *features = (void *)ext;
features->scalarBlockLayout = true;
break;
}
default: default:
break; break;
} }
......
...@@ -113,6 +113,8 @@ EXTENSIONS = [ ...@@ -113,6 +113,8 @@ EXTENSIONS = [
Extension('VK_KHR_shader_float_controls', 1, True), Extension('VK_KHR_shader_float_controls', 1, True),
Extension('VK_KHR_shader_float16_int8', 1, True), Extension('VK_KHR_shader_float16_int8', 1, True),
Extension('VK_KHR_16bit_storage', 1, 'device->gpu_id >= 650'), Extension('VK_KHR_16bit_storage', 1, 'device->gpu_id >= 650'),
Extension('VK_EXT_scalar_block_layout', 1, True),
Extension('VK_KHR_spirv_1_4', 1, True),
] ]
MAX_API_VERSION = VkVersion(MAX_API_VERSION) MAX_API_VERSION = VkVersion(MAX_API_VERSION)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment