Mesa (master): st/mesa: don't enable NV_copy_depth_to_color if NIR doesn't support FP64

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Sep 16 02:38:05 UTC 2020


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Aug 31 21:00:01 2020 -0400

st/mesa: don't enable NV_copy_depth_to_color if NIR doesn't support FP64

Fixes: e512f2cef92 - mesa: add NV_copy_depth_to_color support for nir
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3459

Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6467>

---

 src/mesa/state_tracker/st_extensions.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 1278ef1dd3b..1769d27cf4e 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -1771,8 +1771,12 @@ void st_init_extensions(struct pipe_screen *screen,
 
    bool prefer_nir = PIPE_SHADER_IR_NIR ==
          screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT, PIPE_SHADER_CAP_PREFERRED_IR);
+   const struct nir_shader_compiler_options *nir_options =
+      consts->ShaderCompilerOptions[MESA_SHADER_FRAGMENT].NirOptions;
+
    if (prefer_nir &&
        screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT, PIPE_SHADER_CAP_INTEGERS) &&
-       extensions->ARB_stencil_texturing)
+       extensions->ARB_stencil_texturing &&
+       !(nir_options->lower_doubles_options & nir_lower_fp64_full_software))
       extensions->NV_copy_depth_to_color = TRUE;
 }



More information about the mesa-commit mailing list