OSDN Git Service

i965: don't use NumLayers for 3D textures.
authorDave Airlie <airlied@redhat.com>
Fri, 3 Jun 2016 01:36:38 +0000 (11:36 +1000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 14 Jun 2016 14:48:37 +0000 (15:48 +0100)
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>
(cherry picked from commit ff2e569153d48bda347be729fc441852ab293138)

src/mesa/drivers/dri/i965/intel_fbo.c

index 7bee792..939f9a0 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;