panfrost: Don't allow rendering/texturing 48-bit

Matches freedreno. Fixes crashes in Piglit arb_texture_view.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13394>
(cherry picked from commit d31ca63527)
This commit is contained in:
Alyssa Rosenzweig 2021-10-16 19:36:16 -04:00 committed by Eric Engestrom
parent 3c0c2465f3
commit 121f0528a7
3 changed files with 11 additions and 9 deletions

View file

@ -985,7 +985,7 @@
"description": "panfrost: Don't allow rendering/texturing 48-bit",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -400,7 +400,6 @@ spec@arb_texture_rg@texwrap formats-float bordercolor-swizzled@GL_R16F- swizzled
spec@arb_texture_rg@texwrap formats-float bordercolor-swizzled@GL_R32F- swizzled- border color only,Fail
spec@arb_texture_rg@texwrap formats-float bordercolor-swizzled@GL_RG16F- swizzled- border color only,Fail
spec@arb_texture_rg@texwrap formats-float bordercolor-swizzled@GL_RG32F- swizzled- border color only,Fail
spec@arb_texture_view@rendering-formats,Crash
spec@arb_texture_view@rendering-formats@render to GL_RG32F as GL_RGBA16_SNORM,Fail
spec@arb_texture_view@rendering-formats@render to GL_RG32I as GL_RGBA16_SNORM,Fail
spec@arb_texture_view@rendering-formats@render to GL_RG32UI as GL_RGBA16_SNORM,Fail

View file

@ -290,11 +290,9 @@ const struct panfrost_format GENX(panfrost_pipe_format)[PIPE_FORMAT_COUNT] = {
FMT(A8B8G8R8_USCALED, RGBA8UI, ABGR, L, V___),
FMT(R16_USCALED, R16UI, R001, L, V___),
FMT(R16G16_USCALED, RG16UI, RG01, L, V___),
FMT(R16G16B16_USCALED, RGB16UI, RGB1, L, V___),
FMT(R16G16B16A16_USCALED, RGBA16UI, RGBA, L, V___),
FMT(R16_SSCALED, R16I, R001, L, V___),
FMT(R16G16_SSCALED, RG16I, RG01, L, V___),
FMT(R16G16B16_SSCALED, RGB16I, RGB1, L, V___),
FMT(R16G16B16A16_SSCALED, RGBA16I, RGBA, L, V___),
FMT(R32_USCALED, R32UI, R001, L, V___),
FMT(R32G32_USCALED, RG32UI, RG01, L, V___),
@ -317,7 +315,6 @@ const struct panfrost_format GENX(panfrost_pipe_format)[PIPE_FORMAT_COUNT] = {
FMT(R16G16_SNORM, RG16_SNORM, RG01, L, VT__),
FMT(R32G32_SNORM, RG32_SNORM, RG01, L, VT__),
FMT(R8G8B8_SNORM, RGB8_SNORM, RGB1, L, VT__),
FMT(R16G16B16_SNORM, RGB16_SNORM, RGB1, L, VT__),
FMT(R32G32B32_SNORM, RGB32_SNORM, RGB1, L, VT__),
FMT(R8G8B8A8_SNORM, RGBA8_SNORM, RGBA, L, VT__),
FMT(R16G16B16A16_SNORM, RGBA16_SNORM, RGBA, L, VT__),
@ -347,7 +344,6 @@ const struct panfrost_format GENX(panfrost_pipe_format)[PIPE_FORMAT_COUNT] = {
FMT(R16G16_UINT, RG16UI, RG01, L, VTR_),
FMT(R32G32_UINT, RG32UI, RG01, L, VTR_),
FMT(R8G8B8_UINT, RGB8UI, RGB1, L, VTR_),
FMT(R16G16B16_UINT, RGB16UI, RGB1, L, VTR_),
FMT(R32G32B32_UINT, RGB32UI, RGB1, L, VTR_),
FMT(R8G8B8A8_UINT, RGBA8UI, RGBA, L, VTR_),
FMT(R16G16B16A16_UINT, RGBA16UI, RGBA, L, VTR_),
@ -363,7 +359,16 @@ const struct panfrost_format GENX(panfrost_pipe_format)[PIPE_FORMAT_COUNT] = {
FMT(R16G16_UNORM, RG16_UNORM, RG01, L, VT__),
FMT(R32G32_UNORM, RG32_UNORM, RG01, L, VT__),
FMT(R8G8B8_UNORM, RGB8_UNORM, RGB1, L, VTR_),
FMT(R16G16B16_UNORM, RGB16_UNORM, RGB1, L, VT__),
/* Don't allow render/texture for 48-bit */
FMT(R16G16B16_UNORM, RGB16_UNORM, RGB1, L, V___),
FMT(R16G16B16_SINT, RGB16I, RGB1, L, V___),
FMT(R16G16B16_FLOAT, RGB16F, RGB1, L, V___),
FMT(R16G16B16_USCALED, RGB16UI, RGB1, L, V___),
FMT(R16G16B16_SSCALED, RGB16I, RGB1, L, V___),
FMT(R16G16B16_SNORM, RGB16_SNORM, RGB1, L, V___),
FMT(R16G16B16_UINT, RGB16UI, RGB1, L, V___),
#if PAN_ARCH <= 6
FMT(R32G32B32_UNORM, RGB32_UNORM, RGB1, L, VT__),
#else
@ -416,9 +421,7 @@ const struct panfrost_format GENX(panfrost_pipe_format)[PIPE_FORMAT_COUNT] = {
FMT(R32G32_SINT, RG32I, RG01, L, VTR_),
FMT(R16G16_FLOAT, RG16F, RG01, L, VTR_),
FMT(R8G8B8_SINT, RGB8I, RGB1, L, VTR_),
FMT(R16G16B16_SINT, RGB16I, RGB1, L, VTR_),
FMT(R32G32B32_SINT, RGB32I, RGB1, L, VTR_),
FMT(R16G16B16_FLOAT, RGB16F, RGB1, L, VTR_),
FMT(R8G8B8A8_SINT, RGBA8I, RGBA, L, VTR_),
FMT(R16G16B16A16_SINT, RGBA16I, RGBA, L, VTR_),
FMT(R32G32B32A32_SINT, RGBA32I, RGBA, L, VTR_),