Actually nevermind. There's no matching PIPE_FORMAT for that, so it'll have to get added.
On Fri, Jan 16, 2015 at 10:44 AM, Ilia Mirkin <[email protected]> wrote: > Doesn't this need to be added to the mesa/st switch's in st_format.c? > > On Fri, Jan 16, 2015 at 6:09 AM, Iago Toral <[email protected]> wrote: >> Looks good to me. >> Jason: does this get your R-b? >> >> Iago >> >> On Fri, 2015-01-16 at 12:48 +0200, Tapani Pälli wrote: >>> 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 <[email protected]> >>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88385 >>> --- >>> src/mesa/main/formats.c | 2 ++ >>> src/mesa/main/formats.csv | 1 + >>> src/mesa/main/formats.h | 1 + >>> src/mesa/main/glformats.c | 2 ++ >>> src/mesa/swrast/s_texfetch.c | 2 ++ >>> 5 files changed, 8 insertions(+) >>> >>> diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c >>> index 8ac0583..b6c5124 100644 >>> --- a/src/mesa/main/formats.c >>> +++ b/src/mesa/main/formats.c >>> @@ -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: >>> diff --git a/src/mesa/main/formats.csv b/src/mesa/main/formats.csv >>> index 15d82aa..e159e7d 100644 >>> --- a/src/mesa/main/formats.csv >>> +++ b/src/mesa/main/formats.csv >>> @@ -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 >>> diff --git a/src/mesa/main/formats.h b/src/mesa/main/formats.h >>> index 09890ec..7e451ca 100644 >>> --- a/src/mesa/main/formats.h >>> +++ b/src/mesa/main/formats.h >>> @@ -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 */ >>> diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c >>> index 3e913ed..06f9aaf 100644 >>> --- a/src/mesa/main/glformats.c >>> +++ b/src/mesa/main/glformats.c >>> @@ -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) >>> diff --git a/src/mesa/swrast/s_texfetch.c b/src/mesa/swrast/s_texfetch.c >>> index a0f34fd..9629024 100644 >>> --- a/src/mesa/swrast/s_texfetch.c >>> +++ b/src/mesa/swrast/s_texfetch.c >>> @@ -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, >> >> >> _______________________________________________ >> mesa-dev mailing list >> [email protected] >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
