i965: don't use NumLayers for 3D textures.
authorDave Airlie <airlied@redhat.com>
Fri, 3 Jun 2016 01:36:38 +0000 (11:36 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 6 Jun 2016 03:07:07 +0000 (13:07 +1000)
For 3D textures we shouldn't be using NumLayers, we need
to get it from the depth.

This fixes:
GL45-CTS.geometry_shader.layered_framebuffer.clear_call_support

Reviewed-by: Eduardo Lima Mitev <elima@igalia.com>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/mesa/drivers/dri/i965/intel_fbo.c

index 7bee792c04d9a80f6dfb4b40be1c780c4dbac318..939f9a08c58e40a88ba201a9d8e11aebb4b2a0c6 100644 (file)
@@ -538,7 +538,7 @@ intel_renderbuffer_update_wrapper(struct brw_context *brw,
 
    if (!layered) {
       irb->layer_count = 1;
-   } else if (image->TexObject->NumLayers > 0) {
+   } else if (mt->target != GL_TEXTURE_3D && image->TexObject->NumLayers > 0) {
       irb->layer_count = image->TexObject->NumLayers;
    } else {
       irb->layer_count = mt->level[level].depth / layer_multiplier;