[Mesa-dev] [PATCH] mesa: fix texstore with GL_COLOR_INDEX data

sroland at vmware.com sroland at vmware.com
Wed Aug 13 10:33:38 PDT 2014


From: Roland Scheidegger <sroland at vmware.com>

This got broken by 3dbf5bf6571e0c9d3e4febce01dea82be190d9d2.
GL_COLOR_INDEX data is still supported (in legacy contexts), but the new
texstore_swizzle path cannot handle it (and didn't detect this).
Unfortunately there's no piglit test trying to specify textures with a
GL_COLOR_INDEX source format, and I don't really understand how all the color
map stuff which is used by this works, but this caused conform failures
(with a reported mesa implementation error when trying to figure out the color
mapping).
---
 src/mesa/main/texstore.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index 50306d8..4ea5bd8 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -1495,6 +1495,9 @@ texstore_swizzle(TEXSTORE_PARAMS)
    if (!is_array)
       return GL_FALSE;
 
+   if (srcFormat == GL_COLOR_INDEX)
+      return GL_FALSE;
+
    switch (srcType) {
    case GL_FLOAT:
    case GL_UNSIGNED_BYTE:
-- 
1.9.1


More information about the mesa-dev mailing list