summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/texstore.c
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2014-08-13 19:30:48 +0200
committerRoland Scheidegger <[email protected]>2014-08-14 02:16:23 +0200
commitb6d29de2c443df2aa670a70545d2e1e68ef57f45 (patch)
tree37d4d9c3675cb71886c47fdea26d9d29ee462f23 /src/mesa/main/texstore.c
parent64c379a3a8e397bf949705efecfc745ec4d7a843 (diff)
mesa: fix texstore with GL_COLOR_INDEX data
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). Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/mesa/main/texstore.c')
-rw-r--r--src/mesa/main/texstore.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index 50306d80bf8..4ea5bd80a5b 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: