[Mesa-stable] [PATCH 2/2] st/mesa: require RGBA2, RGB4, and RGBA4 to be renderable
Ilia Mirkin
imirkin at alum.mit.edu
Wed Feb 6 02:14:24 UTC 2019
From: Karol Herbst <kherbst at redhat.com>
If the driver does not support rendering to these formats but does
support texturing, we can end up in incompatibilities between textures
and renderbuffers that are then copied to.
Fixes KHR-GL45.copy_image.functional on nvc0
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: 19.0 <mesa-stable at lists.freedesktop.org>
---
I think in practice, any drivers that don't support RGBA4 for rendering
but do for texturing would run into a lot of the same problems that
nouveau has run into. I suspect nouveau was the only one crazy enough to
do that.
src/mesa/state_tracker/st_format.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
index aacb8788287..febde1a5e97 100644
--- a/src/mesa/state_tracker/st_format.c
+++ b/src/mesa/state_tracker/st_format.c
@@ -2356,6 +2356,8 @@ st_ChooseTextureFormat(struct gl_context *ctx, GLenum target,
bindings |= PIPE_BIND_DEPTH_STENCIL;
else if (is_renderbuffer || internalFormat == 3 || internalFormat == 4 ||
internalFormat == GL_RGB || internalFormat == GL_RGBA ||
+ internalFormat == GL_RGBA2 ||
+ internalFormat == GL_RGB4 || internalFormat == GL_RGBA4 ||
internalFormat == GL_RGB8 || internalFormat == GL_RGBA8 ||
internalFormat == GL_BGRA ||
internalFormat == GL_RGB16F ||
--
2.19.2
More information about the mesa-stable
mailing list