nv50: report 15 max inputs for fragment programs
authorIlia Mirkin <imirkin@alum.mit.edu>
Sun, 1 Dec 2013 08:44:42 +0000 (03:44 -0500)
committerMaarten Lankhorst <maarten.lankhorst@canonical.com>
Tue, 10 Dec 2013 07:45:59 +0000 (08:45 +0100)
First off, nv50_program only has 16 in/out varyings. However reporting
16 makes 'm' become 68 in nv50_fp_linkage_validate with the
varying-packing-simple piglit test. (Subverting the assert makes it
compile but fail.) With this patch, varying-packing-simple passes.

See: https://bugs.freedesktop.org/show_bug.cgi?id=69155

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "9.2 10.0" <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/nouveau/nv50/nv50_screen.c

index d8169f49476d25036e8531a6792b2716e7ba5f31..43e0f5036949c78ed9a4982fb63f322c3d8790aa 100644 (file)
@@ -226,7 +226,7 @@ nv50_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
    case PIPE_SHADER_CAP_MAX_INPUTS:
       if (shader == PIPE_SHADER_VERTEX)
          return 32;
-      return 0x300 / 16;
+      return 15;
    case PIPE_SHADER_CAP_MAX_CONSTS:
       return 65536 / 16;
    case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: