nvc0: avoid tex read fault from compute shaders on GK110
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Sun, 10 Apr 2016 20:08:34 +0000 (22:08 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 20 Apr 2016 16:28:47 +0000 (18:28 +0200)
After some investigation, it seems like that disabling the UNK02C4
command avoid a read fault with texelFetch() from a compute shader.

I have no clue on what this method actually does, but this avoid the
GPU to hang with basic-texelFetch.shader_test without introducing any
compute-related regressions.

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

index 3d0190928e3667c26ec43a36f92d0f21f9861327..3d5f84d71c84227888c89119bad26ca80432f8a8 100644 (file)
@@ -134,8 +134,11 @@ nve4_screen_compute_setup(struct nvc0_screen *screen,
    BEGIN_NVC0(push, NVE4_CP(TEX_CB_INDEX), 1);
    PUSH_DATA (push, 7); /* does not interfere with 3D */
 
+   /* Disabling this UNK command avoid a read fault when using texelFetch()
+    * from a compute shader for weird reasons.
    if (obj_class == NVF0_COMPUTE_CLASS)
       IMMED_NVC0(push, SUBC_CP(0x02c4), 1);
+   */
 
    address = screen->uniform_bo->offset + NVC0_CB_AUX_INFO(5);