Mesa (master): radeonsi: fix R600_DEBUG=precompile for shader-db

Marek Olšák mareko at kemper.freedesktop.org
Wed Oct 12 16:30:02 UTC 2016


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Tue Oct 11 16:55:41 2016 +0200

radeonsi: fix R600_DEBUG=precompile for shader-db

radeonsi no longer supports pixel shaders without interpolation optimizations,
which led to assertion failures in si_shader_ps when running shader-db.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/gallium/drivers/radeonsi/si_state_shaders.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
index f6bd129..c41c519 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -1233,6 +1233,12 @@ void si_init_shader_selector_async(void *job, int thread_index)
 			key.tcs.epilog.prim_mode = PIPE_PRIM_TRIANGLES;
 			break;
 		case PIPE_SHADER_FRAGMENT:
+			key.ps.prolog.bc_optimize_for_persp =
+				sel->info.uses_persp_center &&
+				sel->info.uses_persp_centroid;
+			key.ps.prolog.bc_optimize_for_linear =
+				sel->info.uses_linear_center &&
+				sel->info.uses_linear_centroid;
 			key.ps.epilog.alpha_func = PIPE_FUNC_ALWAYS;
 			for (i = 0; i < 8; i++)
 				if (sel->info.colors_written & (1 << i))




More information about the mesa-commit mailing list