<p dir="ltr">Nope, it was one of the irrelevant changes. If I were enabling 32 on Fermi, it'd matter, but I'm not.</p>
<div class="gmail_quote">On May 26, 2016 04:37, "Samuel Pitoiset" <<a href="mailto:samuel.pitoiset@gmail.com">samuel.pitoiset@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I think you forgot to increase the array of commands from 16 to 32 in nvc0_validate_tsc() (you did it in v1).<br>
<br>
With that addressed, this patch is:<br>
<br>
Reviewed-by: Samuel Pitoiset <<a href="mailto:samuel.pitoiset@gmail.com" target="_blank">samuel.pitoiset@gmail.com</a>><br>
<br>
On 05/26/2016 04:55 AM, Ilia Mirkin wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
For fermi, this likely will require use of linked tsc mode. However on<br>
bindless architectures, we can have as many as we want. As it stands,<br>
the AUX_TEX_INFO has 32 teture handles reserved.<br>
<br>
Signed-off-by: Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu" target="_blank">imirkin@alum.mit.edu</a>><br>
---<br>
<br>
v1 -> v2: drop all the 1 -> 1U changes. They don't matter in practice.<br>
<br>
 src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 2 +-<br>
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  | 4 ++--<br>
 2 files changed, 3 insertions(+), 3 deletions(-)<br>
<br>
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.h b/src/gallium/drivers/nouveau/nvc0/nvc0_context.h<br>
index 436e912..5be78aa 100644<br>
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.h<br>
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.h<br>
@@ -197,7 +197,7 @@ struct nvc0_context {<br>
    uint32_t textures_coherent[6];<br>
    struct nv50_tsc_entry *samplers[6][PIPE_MAX_SAMPLERS];<br>
    unsigned num_samplers[6];<br>
-   uint16_t samplers_dirty[6];<br>
+   uint32_t samplers_dirty[6];<br>
    bool seamless_cube_map;<br>
<br>
    uint32_t tex_handles[6][PIPE_MAX_SAMPLERS]; /* for nve4 */<br>
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c<br>
index 7d692ea..4c47503 100644<br>
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c<br>
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c<br>
@@ -369,9 +369,9 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,<br>
    case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:<br>
       return NVC0_MAX_BUFFERS;<br>
    case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:<br>
-      return 16; /* would be 32 in linked (OpenGL-style) mode */<br>
+      return (class_3d >= NVE4_3D_CLASS) ? 32 : 16;<br>
    case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS:<br>
-      return 16; /* XXX not sure if more are really safe */<br>
+      return (class_3d >= NVE4_3D_CLASS) ? 32 : 16;<br>
    case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:<br>
       return 32;<br>
    case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:<br>
<br>
</blockquote>
<br>
-- <br>
-Samuel<br>
</blockquote></div>