Mesa (master): radeonsi: remove DBG_PRECOMPILE

Marek Olšák mareko at kemper.freedesktop.org
Wed Jan 31 02:21:59 UTC 2018


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Thu Jan 11 00:21:44 2018 +0100

radeonsi: remove DBG_PRECOMPILE

it's useless and shader-db stats only report the main shader part.

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

---

 src/gallium/drivers/radeon/r600_pipe_common.h   |  1 -
 src/gallium/drivers/radeonsi/si_pipe.c          |  1 -
 src/gallium/drivers/radeonsi/si_state_shaders.c | 49 -------------------------
 3 files changed, 51 deletions(-)

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h
index a8e632cf4c..d82e123b08 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.h
+++ b/src/gallium/drivers/radeon/r600_pipe_common.h
@@ -76,7 +76,6 @@ enum {
 
 	/* Shader compiler options (with no effect on the shader cache): */
 	DBG_CHECK_IR,
-	DBG_PRECOMPILE,
 	DBG_NIR,
 	DBG_MONOLITHIC_SHADERS,
 	DBG_NO_OPT_VARIANT,
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
index b44c2fc825..26835d673d 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -55,7 +55,6 @@ static const struct debug_named_value debug_options[] = {
 
 	/* Shader compiler options (with no effect on the shader cache): */
 	{ "checkir", DBG(CHECK_IR), "Enable additional sanity checks on shader IR" },
-	{ "precompile", DBG(PRECOMPILE), "Compile one shader variant at shader creation." },
 	{ "nir", DBG(NIR), "Enable experimental NIR shaders" },
 	{ "mono", DBG(MONOLITHIC_SHADERS), "Use old-style monolithic shaders compiled on demand" },
 	{ "nooptvariant", DBG(NO_OPT_VARIANT), "Disable compiling optimized shader variants." },
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 959aead892..2c1d9901ce 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -1785,7 +1785,6 @@ static void si_init_shader_selector_async(void *job, int thread_index)
 	struct si_screen *sscreen = sel->screen;
 	LLVMTargetMachineRef tm;
 	struct pipe_debug_callback *debug = &sel->compiler_ctx_state.debug;
-	unsigned i;
 
 	assert(!debug->debug_message || debug->async);
 	assert(thread_index >= 0);
@@ -1889,54 +1888,6 @@ static void si_init_shader_selector_async(void *job, int thread_index)
 		}
 	}
 
-	/* Pre-compilation. */
-	if (sscreen->debug_flags & DBG(PRECOMPILE) &&
-	    /* GFX9 needs LS or ES for compilation, which we don't have here. */
-	    (sscreen->info.chip_class <= VI ||
-	     (sel->type != PIPE_SHADER_TESS_CTRL &&
-	      sel->type != PIPE_SHADER_GEOMETRY))) {
-		struct si_shader_ctx_state state = {sel};
-		struct si_shader_key key;
-
-		memset(&key, 0, sizeof(key));
-		si_parse_next_shader_property(&sel->info,
-					      sel->so.num_outputs != 0,
-					      &key);
-
-		/* GFX9 doesn't have LS and ES. */
-		if (sscreen->info.chip_class >= GFX9) {
-			key.as_ls = 0;
-			key.as_es = 0;
-		}
-
-		/* Set reasonable defaults, so that the shader key doesn't
-		 * cause any code to be eliminated.
-		 */
-		switch (sel->type) {
-		case PIPE_SHADER_TESS_CTRL:
-			key.part.tcs.epilog.prim_mode = PIPE_PRIM_TRIANGLES;
-			break;
-		case PIPE_SHADER_FRAGMENT:
-			key.part.ps.prolog.bc_optimize_for_persp =
-				sel->info.uses_persp_center &&
-				sel->info.uses_persp_centroid;
-			key.part.ps.prolog.bc_optimize_for_linear =
-				sel->info.uses_linear_center &&
-				sel->info.uses_linear_centroid;
-			key.part.ps.epilog.alpha_func = PIPE_FUNC_ALWAYS;
-			for (i = 0; i < 8; i++)
-				if (sel->info.colors_written & (1 << i))
-					key.part.ps.epilog.spi_shader_col_format |=
-						V_028710_SPI_SHADER_FP16_ABGR << (i * 4);
-			break;
-		}
-
-		if (si_shader_select_with_key(sscreen, &state,
-					      &sel->compiler_ctx_state, &key,
-					      thread_index))
-			fprintf(stderr, "radeonsi: can't create a monolithic shader\n");
-	}
-
 	/* The GS copy shader is always pre-compiled. */
 	if (sel->type == PIPE_SHADER_GEOMETRY) {
 		sel->gs_copy_shader = si_generate_gs_copy_shader(sscreen, tm, sel, debug);




More information about the mesa-commit mailing list