diff options
Diffstat (limited to 'src/asahi/compiler/agx_compile.c')
-rw-r--r-- | src/asahi/compiler/agx_compile.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/asahi/compiler/agx_compile.c b/src/asahi/compiler/agx_compile.c index 6970e629648..7a38d63cdd5 100644 --- a/src/asahi/compiler/agx_compile.c +++ b/src/asahi/compiler/agx_compile.c @@ -1080,9 +1080,14 @@ agx_compile_shader_nir(nir_shader *nir, glsl_get_natural_size_align_bytes); NIR_PASS_V(nir, nir_lower_indirect_derefs, nir_var_function_temp, ~0); - if (ctx->stage == MESA_SHADER_VERTEX) + if (ctx->stage == MESA_SHADER_VERTEX) { agx_remap_varyings(nir); + /* Lower from OpenGL [-1, 1] to [0, 1] if half-z is not set */ + if (!key->vs.clip_halfz) + NIR_PASS_V(nir, nir_lower_clip_halfz); + } + NIR_PASS_V(nir, nir_split_var_copies); NIR_PASS_V(nir, nir_lower_global_vars_to_local); NIR_PASS_V(nir, nir_lower_var_copies); |