freedreno/ir3: Lower all the 64b
authorRob Clark <robdclark@chromium.org>
Sun, 16 Oct 2022 15:34:42 +0000 (08:34 -0700)
committerMarge Bot <emma+marge@anholt.net>
Wed, 19 Oct 2022 12:23:40 +0000 (12:23 +0000)
Just need to enable some existing lowering.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>

src/freedreno/ir3/ir3_compiler.c
src/freedreno/ir3/ir3_nir.c

index e740d24..1da4c48 100644 (file)
@@ -122,10 +122,8 @@ static const nir_shader_compiler_options ir3_base_options = {
    .lower_cs_local_index_to_id = true,
    .lower_wpos_pntc = true,
 
-   /* Only needed for the spirv_to_nir() pass done in ir3_cmdline.c but that
-    * should be harmless for GL since 64b is not supported there.
-    */
    .lower_int64_options = (nir_lower_int64_options)~0,
+   .lower_doubles_options = (nir_lower_doubles_options)~0,
 };
 
 struct ir3_compiler *
index 8cc2920..ca39ece 100644 (file)
@@ -449,7 +449,7 @@ ir3_nir_post_finalize(struct ir3_shader *shader)
    struct ir3_compiler *compiler = shader->compiler;
 
    NIR_PASS_V(s, nir_lower_io, nir_var_shader_in | nir_var_shader_out,
-              ir3_glsl_type_size, (nir_lower_io_options)0);
+              ir3_glsl_type_size, nir_lower_io_lower_64bit_to_32);
 
    if (s->info.stage == MESA_SHADER_FRAGMENT) {
       /* NOTE: lower load_barycentric_at_sample first, since it