mesa: support GL_RGB for GL_EXT_texture_type_2_10_10_10_REV
Commit 8ec6534
changed texture upload path and the way how texture
format is being checked, this commit adds support for GL_RGB with
GL_UNSIGNED_INT_2_10_10_10_REV as specified by the extension
EXT_texture_type_2_10_10_10_REV specification.
This fixes regression in ES3 conformance test
ES3-CTS.gtf.GL3Tests.packed_pixels.packed_pixels
v2: add MESA_FORMAT_R10G10B10X2_UNORM format (Iago Toral)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88385
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
This commit is contained in:
parent
d36fa60191
commit
d74a817b86
|
@ -1439,6 +1439,7 @@ _mesa_format_to_type_and_comps(mesa_format format,
|
|||
return;
|
||||
|
||||
case MESA_FORMAT_B10G10R10X2_UNORM:
|
||||
case MESA_FORMAT_R10G10B10X2_UNORM:
|
||||
*datatype = GL_UNSIGNED_INT_2_10_10_10_REV;
|
||||
*comps = 4;
|
||||
return;
|
||||
|
@ -2090,6 +2091,7 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format,
|
|||
case MESA_FORMAT_RGBX_UINT8:
|
||||
case MESA_FORMAT_RGBX_SINT8:
|
||||
case MESA_FORMAT_B10G10R10X2_UNORM:
|
||||
case MESA_FORMAT_R10G10B10X2_UNORM:
|
||||
case MESA_FORMAT_RGBX_UNORM16:
|
||||
case MESA_FORMAT_RGBX_SNORM16:
|
||||
case MESA_FORMAT_RGBX_FLOAT16:
|
||||
|
|
|
@ -82,6 +82,7 @@ MESA_FORMAT_G16R16_UNORM , packed, 1, 1, un16, un16, ,
|
|||
MESA_FORMAT_B10G10R10A2_UNORM , packed, 1, 1, un10, un10, un10, un2 , zyxw, rgb
|
||||
MESA_FORMAT_B10G10R10X2_UNORM , packed, 1, 1, un10, un10, un10, x2 , zyx1, rgb
|
||||
MESA_FORMAT_R10G10B10A2_UNORM , packed, 1, 1, un10, un10, un10, un2 , xyzw, rgb
|
||||
MESA_FORMAT_R10G10B10X2_UNORM , packed, 1, 1, un10, un10, un10, x2 , xyz1, rgb
|
||||
|
||||
MESA_FORMAT_S8_UINT_Z24_UNORM , packed, 1, 1, un24, u8 , , , xy__, zs
|
||||
MESA_FORMAT_X8_UINT_Z24_UNORM , packed, 1, 1, un24, x8 , , , x___, zs
|
||||
|
|
Can't render this file because it contains an unexpected character in line 9 and column 3.
|
|
@ -352,6 +352,7 @@ typedef enum
|
|||
MESA_FORMAT_B10G10R10A2_UNORM,/* AARR RRRR RRRR GGGG GGGG GGBB BBBB BBBB */
|
||||
MESA_FORMAT_B10G10R10X2_UNORM,/* xxRR RRRR RRRR GGGG GGGG GGBB BBBB BBBB */
|
||||
MESA_FORMAT_R10G10B10A2_UNORM,/* AABB BBBB BBBB GGGG GGGG GGRR RRRR RRRR */
|
||||
MESA_FORMAT_R10G10B10X2_UNORM,/* xxBB BBBB BBBB GGGG GGGG GGRR RRRR RRRR */
|
||||
|
||||
MESA_FORMAT_S8_UINT_Z24_UNORM,/* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ SSSS SSSS */
|
||||
MESA_FORMAT_X8_UINT_Z24_UNORM,/* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ xxxx xxxx */
|
||||
|
|
|
@ -2666,6 +2666,8 @@ _mesa_format_from_format_and_type(GLenum format, GLenum type)
|
|||
return MESA_FORMAT_A2R10G10B10_UINT;
|
||||
break;
|
||||
case GL_UNSIGNED_INT_2_10_10_10_REV:
|
||||
if (format == GL_RGB)
|
||||
return MESA_FORMAT_R10G10B10X2_UNORM;
|
||||
if (format == GL_RGBA)
|
||||
return MESA_FORMAT_R10G10B10A2_UNORM;
|
||||
else if (format == GL_RGBA_INTEGER)
|
||||
|
|
|
@ -166,6 +166,8 @@ texfetch_funcs[] =
|
|||
FETCH_FUNCS(B10G10R10A2_UNORM),
|
||||
FETCH_NULL(B10G10R10X2_UNORM),
|
||||
FETCH_FUNCS(R10G10B10A2_UNORM),
|
||||
FETCH_NULL(R10G10B10X2_UNORM),
|
||||
|
||||
FETCH_FUNCS(S8_UINT_Z24_UNORM),
|
||||
{
|
||||
MESA_FORMAT_X8_UINT_Z24_UNORM,
|
||||
|
|
Loading…
Reference in New Issue