On Wed, Feb 8, 2017 at 4:31 AM, Juan A. Suarez Romero <jasua...@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 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev