summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2016-04-10 22:08:34 +0200
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>2016-04-20 18:28:47 +0200
commit7143068296aaca8c5af3469c013a7c2a850aee84 (patch)
tree0cc00395030fc4d19c9f59d7f89854978e40d4e4
parent87a4fb516eeebd6be0441db5aeffc705f16bef86 (diff)
downloadmesa-7143068296aaca8c5af3469c013a7c2a850aee84.tar.gz
mesa-7143068296aaca8c5af3469c013a7c2a850aee84.tar.xz
nvc0: avoid tex read fault from compute shaders on GK110
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>
-rw-r--r--src/gallium/drivers/nouveau/nvc0/nve4_compute.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
index 3d01909..3d5f84d 100644
--- a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
+++ b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
@@ -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);