summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/features.txt2
-rw-r--r--docs/relnotes/new_features.txt2
-rw-r--r--src/freedreno/ci/freedreno-a630-fails.txt93
-rw-r--r--src/freedreno/vulkan/tu_device.c7
4 files changed, 9 insertions, 95 deletions
diff --git a/docs/features.txt b/docs/features.txt
index b4541e2e836..cfb5fe80390 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -529,7 +529,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_win32_surface DONE (lvp)
VK_KHR_xcb_surface DONE (anv, lvp, radv, tu, v3dv, vn)
VK_KHR_xlib_surface DONE (anv, lvp, radv, tu, v3dv, vn)
- VK_EXT_border_color_swizzle DONE (anv, lvp)
+ VK_EXT_border_color_swizzle DONE (anv, lvp, tu)
VK_EXT_buffer_device_address DONE (radv)
VK_EXT_calibrated_timestamps DONE (anv, lvp, radv)
VK_EXT_color_write_enable DONE (anv, lvp, radv, tu, v3dv)
diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt
index 5dd587b538c..71dd4caf62d 100644
--- a/docs/relnotes/new_features.txt
+++ b/docs/relnotes/new_features.txt
@@ -7,4 +7,4 @@ vertexAttributeInstanceRateZeroDivisor support for lavapipe
panfrost Valhall support (conformant OpenGL ES 3.1 on Mali-G57)
VK_EXT_primitives_generated_query on RADV
VK_EXT_non_seamless_cube_map on RADV, ANV
-VK_EXT_border_color_swizzle on lavapipe, ANV
+VK_EXT_border_color_swizzle on lavapipe, ANV, turnip
diff --git a/src/freedreno/ci/freedreno-a630-fails.txt b/src/freedreno/ci/freedreno-a630-fails.txt
index ddcdf2cc501..88d3a6a521b 100644
--- a/src/freedreno/ci/freedreno-a630-fails.txt
+++ b/src/freedreno/ci/freedreno-a630-fails.txt
@@ -918,37 +918,6 @@ dEQP-VK.pipeline.fast_linked_library.multisample_with_fragment_shading_rate.mixe
dEQP-VK.pipeline.fast_linked_library.multisample_with_fragment_shading_rate.sample_mask.mask_random.samples_16.primitive_point_sparse,Fail
dEQP-VK.pipeline.fast_linked_library.no_position.explicit_declarations.basic.single_view.v1_c0_e0_g0,Fail
dEQP-VK.pipeline.fast_linked_library.render_to_image.dedicated_allocation.2d.small.a2b10g10r10_unorm_pack32_s8_uint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.a1r5g5b5_unorm_pack16.rg1a.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.a2b10g10r10_snorm_pack32.r1ba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.a2r10g10b10_unorm_pack32.rgbi.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.a8b8g8r8_unorm_pack32.rg0a.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.b4g4r4a4_unorm_pack16.rgb0.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.b5g5r5a1_unorm_pack16.gbar.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.b8g8r8_sint.rgia.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.b8g8r8_snorm.r0ba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.b8g8r8_unorm.igba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.b8g8r8a8_snorm.argb.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.b8g8r8a8_srgb.riba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.b8g8r8a8_uint.0gba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r16_snorm.barg.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r16_uint.rgb1.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r16g16_uint.rgia.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r16g16b16_uint.gbar.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r16g16b16_unorm.1gba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r16g16b16a16_sint.riba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r16g16b16a16_snorm.0gba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r16g16b16a16_unorm.argb.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r32g32_sint.r1ba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r32g32_uint.rgba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r32g32b32a32_sint.r0ba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r4g4b4a4_unorm_pack16.rgia.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r8_snorm.argb.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r8_uint.0gba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r8g8_srgb.rgba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r8g8b8_uint.barg.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r8g8b8a8_sint.gbar.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r8g8b8a8_snorm.1gba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.fast_linked_library.sampler.border_swizzle.r8g8b8a8_srgb.rg1a.opaque_black.no_gather.with_swizzle_hint,Fail
dEQP-VK.pipeline.fast_linked_library.sampler.exact_sampling.r32_sfloat.gradient.unnormalized_coords.edge_left,Fail
dEQP-VK.pipeline.fast_linked_library.sampler.separate_stencil_usage.view_type.cube_array.format.d16_unorm_s8_uint.mipmap.nearest.lod.select_min_1,Fail
dEQP-VK.pipeline.fast_linked_library.sampler.view_type.1d.format.a2b10g10r10_unorm_pack32.mag_reduce.comp_r_zero_zero_zero.max,Fail
@@ -1064,38 +1033,6 @@ dEQP-VK.pipeline.monolithic.interface_matching.vector_length.out_ivec4_in_ivec4_
dEQP-VK.pipeline.monolithic.multisample.variable_rate.4_32_1,Fail
dEQP-VK.pipeline.monolithic.multisample_with_fragment_shading_rate.min_sample_shading.min_0_0.samples_32.primitive_triangle_sparse,Fail
dEQP-VK.pipeline.monolithic.multisample_with_fragment_shading_rate.variable_rate.1_32_fb_8,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.a1r5g5b5_unorm_pack16.rgia.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.a2r10g10b10_snorm_pack32.0gba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.a2r10g10b10_unorm_pack32.argb.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.a8b8g8r8_unorm_pack32.rg1a.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.b4g4r4a4_unorm_pack16.rgb1.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.b5g6r5_unorm_pack16.igba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.b8g8r8_srgb.rgb1.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.b8g8r8a8_srgb.gbar.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.b8g8r8a8_uint.1gba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.b8g8r8a8_unorm.rgb0.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r16_sfloat.rgba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r16g16_sint.rgb1.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r16g16_uint.barg.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r16g16_unorm.r1ba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r16g16b16_sint.rgia.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r16g16b16_unorm.igba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r16g16b16a16_sfloat.rg1a.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r16g16b16a16_sint.gbar.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r16g16b16a16_snorm.1gba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r32_sfloat.0gba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r32_sint.argb.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r32g32_sint.riba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r32g32b32a32_sint.r1ba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r32g32b32a32_uint.rgba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r4g4b4a4_unorm_pack16.barg.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r5g5b5a1_unorm_pack16.r0ba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r8_uint.1gba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r8g8b8_sint.rgbi.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r8g8b8_unorm.riba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r8g8b8a8_snorm.igba.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r8g8b8a8_srgb.rgia.opaque_black.no_gather.with_swizzle_hint,Fail
-dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r8g8b8a8_uint.r0ba.opaque_black.no_gather.with_swizzle_hint,Fail
dEQP-VK.pipeline.monolithic.sampler.exact_sampling.r8_unorm.gradient.normalized_coords.centered,Fail
dEQP-VK.pipeline.monolithic.sampler.view_type.1d.format.b8g8r8a8_sint.address_modes.uvw_mode_clamp_to_edge_mode_mirrored_repeat_mode_clamp_to_edge,Fail
dEQP-VK.pipeline.monolithic.sampler.view_type.1d.format.r32_sint.address_modes.uvw_mode_clamp_to_edge_mode_repeat_mode_mirror_clamp_to_edge,Fail
@@ -1208,36 +1145,6 @@ dEQP-VK.pipeline.pipeline_library.multisample_with_fragment_shading_rate.mixed_a
dEQP-VK.pipeline.pipeline_library.multisample_with_fragment_shading_rate.variable_rate.64_1_fb_2_unused,Fail
dEQP-VK.pipeline.pipeline_library.no_position.explicit_declarations.basic.single_view.v1_c1_e1_g0,Fail
dEQP-VK.pipeline.pipeline_library.render_to_image.dedicated_allocation.2d.small.r5g6b5_unorm_pack16_d24_unorm_s8_uint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.a1r5g5b5_unorm_pack16.rg1a.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.a2b10g10r10_snorm_pack32.r1ba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.a2b10g10r10_unorm_pack32.rgba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.a2r10g10b10_unorm_pack32.rgbi.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.b8g8r8_sint.rgia.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.b8g8r8_srgb.rgb0.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.b8g8r8a8_snorm.argb.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.b8g8r8a8_uint.0gba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16_sfloat.igba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16_snorm.barg.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16_uint.rgb1.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16g16_sint.rgb0.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16g16_uint.rgia.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16g16_unorm.r0ba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16g16b16_uint.gbar.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16g16b16_unorm.1gba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16g16b16a16_sfloat.rg0a.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16g16b16a16_sint.riba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r16g16b16a16_snorm.0gba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r32g32_uint.rgba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r32g32b32_sint.rgb1.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r32g32b32_uint.barg.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r32g32b32a32_uint.igba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r8_snorm.argb.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r8_srgb.riba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r8g8_uint.rgbi.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r8g8b8_sint.rgb1.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r8g8b8_unorm.r1ba.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r8g8b8a8_sint.gbar.opaque_black.gather_2.with_swizzle_hint,Fail
-dEQP-VK.pipeline.pipeline_library.sampler.border_swizzle.r8g8b8a8_srgb.rg1a.opaque_black.gather_2.with_swizzle_hint,Fail
dEQP-VK.pipeline.pipeline_library.sampler.exact_sampling.r32_sfloat.solid_color.unnormalized_coords.edge_left,Fail
dEQP-VK.pipeline.pipeline_library.sampler.view_type.1d.format.a2b10g10r10_unorm_pack32.mag_reduce.comp_b_g_r_a.max,Fail
dEQP-VK.pipeline.pipeline_library.sampler.view_type.1d.format.b8g8r8_sint.address_modes.all_mode_clamp_to_border_custom_1001,Fail
diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c
index 582285cdcd3..f5f7166d815 100644
--- a/src/freedreno/vulkan/tu_device.c
+++ b/src/freedreno/vulkan/tu_device.c
@@ -190,6 +190,7 @@ get_device_extensions(const struct tu_physical_device *device,
.EXT_sampler_filter_minmax = true,
.EXT_transform_feedback = true,
.EXT_4444_formats = true,
+ .EXT_border_color_swizzle = true,
.EXT_conditional_rendering = true,
.EXT_custom_border_color = true,
.EXT_depth_clip_control = true,
@@ -758,6 +759,12 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
features->formatA4B4G4R4 = true;
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: {
+ VkPhysicalDeviceBorderColorSwizzleFeaturesEXT *features = (void *)ext;
+ features->borderColorSwizzle = true;
+ features->borderColorSwizzleFromImage = true;
+ break;
+ }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
VkPhysicalDeviceCustomBorderColorFeaturesEXT *features = (void *) ext;
features->customBorderColors = true;