Mesa (main): intel/fs: Drop high_quality_derivatives

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Dec 10 21:36:56 UTC 2021


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

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Fri Dec  3 22:34:39 2021 -0600

intel/fs: Drop high_quality_derivatives

We've never bothered to hook it up in crocus or iris.  If we do in the
future, it should probably be a NIR pasa anyway.

Reviewed-by: Caio Oliveira <caio.oliveira at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14056>

---

 src/gallium/drivers/crocus/crocus_state.c |  2 --
 src/gallium/drivers/iris/iris_state.c     |  2 --
 src/intel/compiler/brw_compiler.h         |  1 -
 src/intel/compiler/brw_debug_recompile.c  |  1 -
 src/intel/compiler/brw_fs_nir.cpp         | 17 ++---------------
 src/intel/vulkan/anv_pipeline.c           |  3 ---
 6 files changed, 2 insertions(+), 24 deletions(-)

diff --git a/src/gallium/drivers/crocus/crocus_state.c b/src/gallium/drivers/crocus/crocus_state.c
index 509a4b30aa2..5d5034db447 100644
--- a/src/gallium/drivers/crocus/crocus_state.c
+++ b/src/gallium/drivers/crocus/crocus_state.c
@@ -4849,8 +4849,6 @@ crocus_populate_fs_key(const struct crocus_context *ice,
       screen->driconf.dual_color_blend_by_location &&
       (blend->blend_enables & 1) && blend->dual_color_blending;
 
-   /* TODO: Respect glHint for key->high_quality_derivatives */
-
 #if GFX_VER <= 5
    if (fb->nr_cbufs > 1 && zsa->cso.alpha_enabled) {
       key->alpha_test_func = compare_func_to_gl(zsa->cso.alpha_func);
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index 878fcb5ab17..d01e3454c31 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -4288,8 +4288,6 @@ iris_populate_fs_key(const struct iris_context *ice,
    key->force_dual_color_blend =
       screen->driconf.dual_color_blend_by_location &&
       (blend->blend_enables & 1) && blend->dual_color_blending;
-
-   /* TODO: Respect glHint for key->high_quality_derivatives */
 }
 
 static void
diff --git a/src/intel/compiler/brw_compiler.h b/src/intel/compiler/brw_compiler.h
index 951a99061e5..a31cfbb495e 100644
--- a/src/intel/compiler/brw_compiler.h
+++ b/src/intel/compiler/brw_compiler.h
@@ -492,7 +492,6 @@ struct brw_wm_prog_key {
    bool persample_interp:1;
    bool multisample_fbo:1;
    enum brw_wm_aa_enable line_aa:2;
-   bool high_quality_derivatives:1;
    bool force_dual_color_blend:1;
    bool coherent_fb_fetch:1;
    bool ignore_sample_mask_out:1;
diff --git a/src/intel/compiler/brw_debug_recompile.c b/src/intel/compiler/brw_debug_recompile.c
index 7c7e9db9bdd..a106be214e3 100644
--- a/src/intel/compiler/brw_debug_recompile.c
+++ b/src/intel/compiler/brw_debug_recompile.c
@@ -178,7 +178,6 @@ debug_fs_recompile(const struct brw_compiler *c, void *log,
    found |= check("per-sample interpolation", persample_interp);
    found |= check("multisampled FBO", multisample_fbo);
    found |= check("line smoothing", line_aa);
-   found |= check("high quality derivatives", high_quality_derivatives);
    found |= check("force dual color blending", force_dual_color_blend);
    found |= check("coherent fb fetch", coherent_fb_fetch);
 
diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
index 0301800cb71..b44d8c1a94a 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -971,7 +971,6 @@ void
 fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr,
                          bool need_dest)
 {
-   struct brw_wm_prog_key *fs_key = (struct brw_wm_prog_key *) this->key;
    fs_inst *inst;
    unsigned execution_mode =
       bld.shader->nir->info.float_controls_execution_mode;
@@ -1228,29 +1227,17 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr,
       inst = bld.emit(SHADER_OPCODE_COS, result, op[0]);
       break;
 
-   case nir_op_fddx:
-      if (fs_key->high_quality_derivatives) {
-         inst = bld.emit(FS_OPCODE_DDX_FINE, result, op[0]);
-      } else {
-         inst = bld.emit(FS_OPCODE_DDX_COARSE, result, op[0]);
-      }
-      break;
    case nir_op_fddx_fine:
       inst = bld.emit(FS_OPCODE_DDX_FINE, result, op[0]);
       break;
+   case nir_op_fddx:
    case nir_op_fddx_coarse:
       inst = bld.emit(FS_OPCODE_DDX_COARSE, result, op[0]);
       break;
-   case nir_op_fddy:
-      if (fs_key->high_quality_derivatives) {
-         inst = bld.emit(FS_OPCODE_DDY_FINE, result, op[0]);
-      } else {
-         inst = bld.emit(FS_OPCODE_DDY_COARSE, result, op[0]);
-      }
-      break;
    case nir_op_fddy_fine:
       inst = bld.emit(FS_OPCODE_DDY_FINE, result, op[0]);
       break;
+   case nir_op_fddy:
    case nir_op_fddy_coarse:
       inst = bld.emit(FS_OPCODE_DDY_COARSE, result, op[0]);
       break;
diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
index cae9689b326..0fbb15dbc93 100644
--- a/src/intel/vulkan/anv_pipeline.c
+++ b/src/intel/vulkan/anv_pipeline.c
@@ -518,9 +518,6 @@ populate_wm_prog_key(const struct anv_graphics_pipeline *pipeline,
     */
    key->input_slots_valid = 0;
 
-   /* Vulkan doesn't specify a default */
-   key->high_quality_derivatives = false;
-
    /* XXX Vulkan doesn't appear to specify */
    key->clamp_fragment_color = false;
 



More information about the mesa-commit mailing list