microsoft/compiler: Lower 64bit I/O to 32 and then run lower_pack
authorJesse Natalie <jenatali@microsoft.com>
Tue, 1 Feb 2022 20:44:38 +0000 (12:44 -0800)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Feb 2022 00:07:53 +0000 (00:07 +0000)
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>

src/microsoft/compiler/nir_to_dxil.c

index c0c1bf2..d83a623 100644 (file)
@@ -5630,10 +5630,10 @@ nir_to_dxil(struct nir_shader *s, const struct nir_to_dxil_options *opts,
    ctx->mod.major_version = 6;
    ctx->mod.minor_version = 1;
 
-   NIR_PASS_V(s, nir_lower_pack);
    NIR_PASS_V(s, nir_lower_frexp);
    NIR_PASS_V(s, nir_lower_flrp, 16 | 32 | 64, true);
-   NIR_PASS_V(s, nir_lower_io, nir_var_shader_in | nir_var_shader_out, type_size_vec4, (nir_lower_io_options)0);
+   NIR_PASS_V(s, nir_lower_io, nir_var_shader_in | nir_var_shader_out, type_size_vec4, nir_lower_io_lower_64bit_to_32);
+   NIR_PASS_V(s, nir_lower_pack);
    NIR_PASS_V(s, dxil_nir_lower_system_values);
 
    if (ctx->mod.shader_kind == DXIL_HULL_SHADER)