nv50: limit the maximum number of samplers to 16
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 13 Jul 2015 11:34:31 +0000 (13:34 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 20 Jul 2015 16:45:56 +0000 (18:45 +0200)
NV50_3D_BIND_TSC only allows to bind 16 samplers, and since we don't
want to do anything with NV50_3D_BIND_TSC2, just limit the maximum
number of samplers to 16 like for nvc0.

This fixes dmesg fails with the following piglit test:
 max-samplers

But the test still fails.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/nv50/nv50_screen.c

index c32ad01eec350b3e215038215b19ad0c9eb25a17..4f99b631aaec624f46720641706a56697113de93 100644 (file)
@@ -287,7 +287,7 @@ nv50_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
    case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
       /* The chip could handle more sampler views than samplers */
    case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS:
-      return MIN2(32, PIPE_MAX_SAMPLERS);
+      return MIN2(16, PIPE_MAX_SAMPLERS);
    case PIPE_SHADER_CAP_DOUBLES:
    case PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED:
    case PIPE_SHADER_CAP_TGSI_DFRACEXP_DLDEXP_SUPPORTED: