Mesa (master): freedreno/ir3: switch to NIR by default
Rob Clark
robclark at kemper.freedesktop.org
Tue May 23 16:37:13 UTC 2017
Module: Mesa
Branch: master
Commit: 1db28fbbea6e6c3f305783d6211a040ed38f4abf
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1db28fbbea6e6c3f305783d6211a040ed38f4abf
Author: Rob Clark <robdclark at gmail.com>
Date: Tue May 23 12:05:12 2017 -0400
freedreno/ir3: switch to NIR by default
Now that we lower vars to regs, we no longer regress for anything that
does complex dereferences. (With tgsi, derefers are already lowered
before tgsi_to_nir, but not with glsl_to_nir.) In fact it actually
fixes a few things to bypass tgsi.
So make NIR the default (finally!)
Signed-off-by: Rob Clark <robdclark at gmail.com>
---
src/gallium/drivers/freedreno/freedreno_screen.c | 17 ++---------------
src/gallium/drivers/freedreno/freedreno_util.h | 1 -
2 files changed, 2 insertions(+), 16 deletions(-)
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c
index a783d20454..99a6d3c9c8 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -75,7 +75,6 @@ static const struct debug_named_value debug_options[] = {
{"shaderdb", FD_DBG_SHADERDB, "Enable shaderdb output"},
{"flush", FD_DBG_FLUSH, "Force flush after every draw"},
{"deqp", FD_DBG_DEQP, "Enable dEQP hacks"},
- {"nir", FD_DBG_NIR, "Prefer NIR as native IR"},
{"inorder", FD_DBG_INORDER,"Disable reordering for draws/blits"},
{"bstat", FD_DBG_BSTAT, "Print batch stats at context destroy"},
{"nogrow", FD_DBG_NOGROW, "Disable \"growable\" cmdstream buffers, even if kernel supports it"},
@@ -521,18 +520,9 @@ fd_screen_get_shader_param(struct pipe_screen *pscreen,
case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS:
return 16;
case PIPE_SHADER_CAP_PREFERRED_IR:
- switch (shader) {
- case PIPE_SHADER_FRAGMENT:
- case PIPE_SHADER_VERTEX:
- if ((fd_mesa_debug & FD_DBG_NIR) && is_ir3(screen))
- return PIPE_SHADER_IR_NIR;
- return PIPE_SHADER_IR_TGSI;
- default:
- /* tgsi_to_nir doesn't really support much beyond FS/VS: */
- debug_assert(is_ir3(screen));
+ if (is_ir3(screen))
return PIPE_SHADER_IR_NIR;
- }
- break;
+ return PIPE_SHADER_IR_TGSI;
case PIPE_SHADER_CAP_SUPPORTED_IRS:
if (is_ir3(screen)) {
return (1 << PIPE_SHADER_IR_NIR) | (1 << PIPE_SHADER_IR_TGSI);
@@ -568,9 +558,6 @@ fd_screen_get_shader_param(struct pipe_screen *pscreen,
switch(shader)
{
case PIPE_SHADER_FRAGMENT:
- if (!(fd_mesa_debug & FD_DBG_NIR))
- return 0;
- /* fallthrough */
case PIPE_SHADER_COMPUTE:
return 24;
default:
diff --git a/src/gallium/drivers/freedreno/freedreno_util.h b/src/gallium/drivers/freedreno/freedreno_util.h
index e644433790..6b0fb700d6 100644
--- a/src/gallium/drivers/freedreno/freedreno_util.h
+++ b/src/gallium/drivers/freedreno/freedreno_util.h
@@ -76,7 +76,6 @@ enum adreno_stencil_op fd_stencil_op(unsigned op);
#define FD_DBG_SHADERDB 0x0800
#define FD_DBG_FLUSH 0x1000
#define FD_DBG_DEQP 0x2000
-#define FD_DBG_NIR 0x4000
#define FD_DBG_INORDER 0x8000
#define FD_DBG_BSTAT 0x10000
#define FD_DBG_NOGROW 0x20000
More information about the mesa-commit
mailing list