st/mesa: use R10G10B10X2 format where applicable

This is the last step of fixing
dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rgb_unsigned_int_2_10_10_10_rev
for radeonsi.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Nicolai Hähnle 2017-09-27 17:05:07 +02:00
parent 85a3e1cae0
commit 6f83085ec0

View file

@ -89,6 +89,8 @@ st_mesa_format_to_pipe_format(const struct st_context *st, mesa_format mesaForma
return PIPE_FORMAT_B10G10R10A2_UNORM;
case MESA_FORMAT_R10G10B10A2_UNORM:
return PIPE_FORMAT_R10G10B10A2_UNORM;
case MESA_FORMAT_R10G10B10X2_UNORM:
return PIPE_FORMAT_R10G10B10X2_UNORM;
case MESA_FORMAT_L4A4_UNORM:
return PIPE_FORMAT_L4A4_UNORM;
case MESA_FORMAT_L8A8_UNORM:
@ -566,6 +568,8 @@ st_pipe_format_to_mesa_format(enum pipe_format format)
return MESA_FORMAT_B10G10R10A2_UNORM;
case PIPE_FORMAT_R10G10B10A2_UNORM:
return MESA_FORMAT_R10G10B10A2_UNORM;
case PIPE_FORMAT_R10G10B10X2_UNORM:
return MESA_FORMAT_R10G10B10X2_UNORM;
case PIPE_FORMAT_L4A4_UNORM:
return MESA_FORMAT_L4A4_UNORM;
case PIPE_FORMAT_LA88_UNORM:
@ -1058,7 +1062,7 @@ test_format_conversion(struct st_context *st)
struct format_mapping
{
GLenum glFormats[18]; /**< list of GLenum formats, 0-terminated */
enum pipe_format pipeFormats[13]; /**< list of pipe formats, 0-terminated */
enum pipe_format pipeFormats[14]; /**< list of pipe formats, 0-terminated */
};
@ -1110,8 +1114,9 @@ static const struct format_mapping format_map[] = {
/* Basic RGB, RGBA formats */
{
{ GL_RGB10, 0 },
{ PIPE_FORMAT_B10G10R10X2_UNORM, PIPE_FORMAT_B10G10R10A2_UNORM,
PIPE_FORMAT_R10G10B10A2_UNORM, DEFAULT_RGB_FORMATS }
{ PIPE_FORMAT_R10G10B10X2_UNORM, PIPE_FORMAT_B10G10R10X2_UNORM,
PIPE_FORMAT_R10G10B10A2_UNORM, PIPE_FORMAT_B10G10R10A2_UNORM,
DEFAULT_RGB_FORMATS }
},
{
{ GL_RGB10_A2, 0 },