diff options
author | Tapani Pälli <tapani.palli@intel.com> | 2015-10-08 09:43:41 +0300 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2015-10-21 14:23:20 +0100 |
commit | 41cc0965bbccc1daf3a32f52eac998e98765d21e (patch) | |
tree | 18ffad91034816b6431e5e636121fd901428a96d | |
parent | 3f802ebaf8eef91e9d17cfdd1995f58fd00349e5 (diff) |
mesa: add GL_UNSIGNED_INT_24_8 to _mesa_pack_depth_span
Patch adds missing type (used with NV_read_depth) so that it gets
handled correctly. This fixes errors seen with following CTS test:
ES3-CTS.gtf.GL3Tests.packed_pixels.packed_pixels
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Cc: "11.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit d8d0e4a81e42678cc8c8b876dfee24d5c2f4ba38)
-rw-r--r-- | src/mesa/main/pack.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c index 7147fd6e4f..4561a6c492 100644 --- a/src/mesa/main/pack.c +++ b/src/mesa/main/pack.c @@ -1074,6 +1074,21 @@ _mesa_pack_depth_span( struct gl_context *ctx, GLuint n, GLvoid *dest, } } break; + case GL_UNSIGNED_INT_24_8: + { + const GLdouble scale = (GLdouble) 0xffffff; + GLuint *dst = (GLuint *) dest; + GLuint i; + for (i = 0; i < n; i++) { + GLuint z = (GLuint) (depthSpan[i] * scale); + assert(z <= 0xffffff); + dst[i] = (z << 8); + } + if (dstPacking->SwapBytes) { + _mesa_swap4( (GLuint *) dst, n ); + } + break; + } case GL_UNSIGNED_INT: { GLuint *dst = (GLuint *) dest; |