panfrost: Implement GL_EXT_render_snorm on Bifrost+

It turns out it's really easy.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20684>
This commit is contained in:
Alyssa Rosenzweig
2023-01-12 16:25:52 -05:00
committed by Marge Bot
parent b6bd904019
commit 7f98a9ba2b
2 changed files with 13 additions and 1 deletions

View File

@@ -323,7 +323,7 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve
GL_EXT_memory_object_fd DONE (freedreno, radeonsi, i965/gen7+, llvmpipe, zink)
GL_EXT_memory_object_win32 DONE (zink, d3d12)
GL_EXT_multisampled_render_to_texture DONE (freedreno/a6xx, panfrost, zink, lima)
GL_EXT_render_snorm DONE (freedreno/a6xx, i965, r600, radeonsi, softpipe, zink)
GL_EXT_render_snorm DONE (freedreno/a6xx, i965, r600, radeonsi, softpipe, zink, panfrost/bifrost+)
GL_EXT_semaphore DONE (radeonsi, i965/gen7+, zink, d3d12)
GL_EXT_semaphore_fd DONE (radeonsi, i965/gen7+, zink)
GL_EXT_semaphore_win32 DONE (zink, d3d12)

View File

@@ -398,6 +398,17 @@ const struct panfrost_format GENX(panfrost_pipe_format)[PIPE_FORMAT_COUNT] = {
FMT(R32G32B32A32_FIXED, RGBA32_FIXED, RGBA, L, V___),
FMT(R11G11B10_FLOAT, R11F_G11F_B10F, RGB1, L, VTR_),
FMT(R9G9B9E5_FLOAT, R9F_G9F_B9F_E5F, RGB1, L, VT__),
#if PAN_ARCH >= 6
/* SNORM is renderable on Bifrost (with blend shaders) */
FMT(R8_SNORM, R8_SNORM, R001, L, VTR_),
FMT(R16_SNORM, R16_SNORM, R001, L, VTR_),
FMT(R8G8_SNORM, RG8_SNORM, RG01, L, VTR_),
FMT(R16G16_SNORM, RG16_SNORM, RG01, L, VTR_),
FMT(R8G8B8_SNORM, RGB8_SNORM, RGB1, L, VTR_),
FMT(R8G8B8A8_SNORM, RGBA8_SNORM, RGBA, L, VTR_),
FMT(R16G16B16A16_SNORM, RGBA16_SNORM, RGBA, L, VTR_),
#else
/* So far we haven't needed SNORM rendering on Midgard */
FMT(R8_SNORM, R8_SNORM, R001, L, VT__),
FMT(R16_SNORM, R16_SNORM, R001, L, VT__),
FMT(R8G8_SNORM, RG8_SNORM, RG01, L, VT__),
@@ -405,6 +416,7 @@ const struct panfrost_format GENX(panfrost_pipe_format)[PIPE_FORMAT_COUNT] = {
FMT(R8G8B8_SNORM, RGB8_SNORM, RGB1, L, VT__),
FMT(R8G8B8A8_SNORM, RGBA8_SNORM, RGBA, L, VT__),
FMT(R16G16B16A16_SNORM, RGBA16_SNORM, RGBA, L, VT__),
#endif
FMT(I8_SINT, R8I, RRRR, L, VTR_),
FMT(L8_SINT, R8I, RRR1, L, VTR_),
FMT(I8_UINT, R8UI, RRRR, L, VTR_),