Module: Mesa
Branch: master
Commit: e490b7812cae778c61004971d86dc8299b6cd240
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e490b7812cae778c61004971d86dc8299b6cd240

Author: Marek Olšák <[email protected]>
Date:   Wed Jan 18 22:15:35 2017 +0100

radeonsi: don't forget to add HTILE to the buffer list for texturing

This fixes VM faults. Discovered by Samuel Pitoiset.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98975
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99450

Cc: 17.0 13.0 <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Reviewed-by: Edward O'Callaghan <[email protected]>

---

 src/gallium/drivers/radeonsi/si_descriptors.c | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c 
b/src/gallium/drivers/radeonsi/si_descriptors.c
index df0905d..4a9fcd0 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -320,14 +320,21 @@ static void si_sampler_view_add_buffer(struct si_context 
*sctx,
        if (resource->target == PIPE_BUFFER)
                return;
 
-       /* Now add separate DCC if it's present. */
+       /* Now add separate DCC or HTILE. */
        rtex = (struct r600_texture*)resource;
-       if (!rtex->dcc_separate_buffer)
-               return;
+       if (rtex->dcc_separate_buffer) {
+               radeon_add_to_buffer_list_check_mem(&sctx->b, &sctx->b.gfx,
+                                                   rtex->dcc_separate_buffer, 
usage,
+                                                   RADEON_PRIO_DCC, check_mem);
+       }
 
-       radeon_add_to_buffer_list_check_mem(&sctx->b, &sctx->b.gfx,
-                                           rtex->dcc_separate_buffer, usage,
-                                           RADEON_PRIO_DCC, check_mem);
+       if (rtex->htile_buffer &&
+           rtex->tc_compatible_htile &&
+           !is_stencil_sampler) {
+               radeon_add_to_buffer_list_check_mem(&sctx->b, &sctx->b.gfx,
+                                                   rtex->htile_buffer, usage,
+                                                   RADEON_PRIO_HTILE, 
check_mem);
+       }
 }
 
 static void si_sampler_views_begin_new_cs(struct si_context *sctx,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to