[Mesa-dev] [PATCH 0/2] Fixes for B4G4R4A4 vulkan tests in Haswell

Jason Ekstrand jason at jlekstrand.net
Wed Feb 8 17:35:05 UTC 2017


On Wed, Feb 8, 2017 at 4:31 AM, Juan A. Suarez Romero <jasuarez at igalia.com>
wrote:

> Pre-Broadwell devices does not support natively Vulkan B4G4R4A4, so we just
> fallback to another format using a different swizzle.
>
> But this is crashing a couple of tests in Vulkan CTS due the following:
>
> - We assert that alpha component will map to "one" or "alpha". But our new
>   swizzle maps it to "blue". So let's consider this mapping (patch 01/02).
>
> - In ISL, we check that RENDER_SURFACE_STATE' channel selections for red,
> green
>   and blue can only be a permutation of this channels (RGB, RBG, GRB, GBR,
> BRG,
>   BGR). But our new swizzle is mapping "blue" to "alpha", so we have
>   GRA. According to PRM, seems this check is not required for Haswell (at
> least,
>   didn't found it in Haswell PRM). So let's run it for gen>=8 (patch
> 02/02).
>
>
> With both patches, we fix the following tests in Haswell:
>
> - dEQP-VK.api.image_clearing.clear_color_image.1d_b4g4r4a4_unorm_pack16
> - dEQP-VK.api.image_clearing.clear_color_image.2d_b4g4r4a4_unorm_pack16
> - dEQP-VK.api.image_clearing.clear_color_image.3d_b4g4r4a4_unorm_pack16
>

Another solution to this problem is to change blorp to pre-swizzle clear
colors and not actually use the swizzle.  100% of the code to do this
already exists in blorp_clear, it just needs to be moved out of the if
statement it's in and used in general.  That would also make those images
get correctly cleared on Ivy Bridge.

--Jason


>
> *** BLURB HERE ***
>
> Juan A. Suarez Romero (2):
>   anv: allow blue in alpha component in swizzle for render
>   isl: apply RENDER_SURFACE_STATE::Shader Channel assertions to gen>=8
>
>  src/intel/isl/isl_surface_state.c |  5 ++++-
>  src/intel/vulkan/anv_private.h    | 14 ++++++++++----
>  2 files changed, 14 insertions(+), 5 deletions(-)
>
> --
> 2.9.3
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170208/654b6679/attachment.html>


More information about the mesa-dev mailing list