Patches 11-12 are:
Acked-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
On 04/04/2018 03:59 AM, Marek Olšák wrote:
From: Marek Olšák <marek.ol...@amd.com>
it doesn't seem to be needed.
---
src/gallium/drivers/radeonsi/si_state.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state.c
b/src/gallium/drivers/radeonsi/si_state.c
index cd64d3bc0fb..f7560645ae9 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -1616,21 +1616,27 @@ static uint32_t si_translate_texformat(struct
pipe_screen *screen,
switch (format) {
case PIPE_FORMAT_Z16_UNORM:
return V_008F14_IMG_DATA_FORMAT_16;
case PIPE_FORMAT_X24S8_UINT:
case PIPE_FORMAT_S8X24_UINT:
/*
* Implemented as an 8_8_8_8 data format to fix texture
* gathers in stencil sampling. This affects at least
* GL45-CTS.texture_cube_map_array.sampling on VI.
*/
- return V_008F14_IMG_DATA_FORMAT_8_8_8_8;
+ if (sscreen->info.chip_class <= VI)
+ return V_008F14_IMG_DATA_FORMAT_8_8_8_8;
+
+ if (format == PIPE_FORMAT_X24S8_UINT)
+ return V_008F14_IMG_DATA_FORMAT_8_24;
+ else
+ return V_008F14_IMG_DATA_FORMAT_24_8;
case PIPE_FORMAT_Z24X8_UNORM:
case PIPE_FORMAT_Z24_UNORM_S8_UINT:
return V_008F14_IMG_DATA_FORMAT_8_24;
case PIPE_FORMAT_X8Z24_UNORM:
case PIPE_FORMAT_S8_UINT_Z24_UNORM:
return V_008F14_IMG_DATA_FORMAT_24_8;
case PIPE_FORMAT_S8_UINT:
return V_008F14_IMG_DATA_FORMAT_8;
case PIPE_FORMAT_Z32_FLOAT:
return V_008F14_IMG_DATA_FORMAT_32;
@@ -3572,21 +3578,24 @@ si_make_texture_descriptor(struct si_screen *screen,
case PIPE_FORMAT_X32_S8X24_UINT:
case PIPE_FORMAT_X8Z24_UNORM:
util_format_compose_swizzles(swizzle_yyyy,
state_swizzle, swizzle);
break;
case PIPE_FORMAT_X24S8_UINT:
/*
* X24S8 is implemented as an 8_8_8_8 data format, to
* fix texture gathers. This affects at least
* GL45-CTS.texture_cube_map_array.sampling on VI.
*/
- util_format_compose_swizzles(swizzle_wwww,
state_swizzle, swizzle);
+ if (screen->info.chip_class <= VI)
+ util_format_compose_swizzles(swizzle_wwww,
state_swizzle, swizzle);
+ else
+ util_format_compose_swizzles(swizzle_yyyy,
state_swizzle, swizzle);
break;
default:
util_format_compose_swizzles(swizzle_xxxx,
state_swizzle, swizzle);
}
} else {
util_format_compose_swizzles(desc->swizzle, state_swizzle,
swizzle);
}
first_non_void = util_format_get_first_non_void_channel(pipe_format);
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev