Module: Mesa
Branch: master
Commit: d8d0e4a81e42678cc8c8b876dfee24d5c2f4ba38
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8d0e4a81e42678cc8c8b876dfee24d5c2f4ba38

Author: Tapani Pälli <tapani.pa...@intel.com>
Date:   Thu Oct  8 09:43:41 2015 +0300

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.pa...@intel.com>
Reviewed-by: Iago Toral Quiroga <ito...@igalia.com>
Cc: "11.0" <mesa-sta...@lists.freedesktop.org>

---

 src/mesa/main/pack.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c
index 00e31b0..89faf51 100644
--- a/src/mesa/main/pack.c
+++ b/src/mesa/main/pack.c
@@ -1073,6 +1073,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;

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to