diff options
Diffstat (limited to 'src/gallium/drivers/zink/zink_compiler.c')
-rw-r--r-- | src/gallium/drivers/zink/zink_compiler.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 55e49c72185..69d611522eb 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -338,8 +338,10 @@ zink_shader_compile(struct zink_screen *screen, struct zink_shader *zs, struct z if (zs->streamout.so_info_slots) streamout = &zs->streamout; - nir = nir_shader_clone(NULL, zs->nir); - NIR_PASS_V(nir, nir_lower_clip_halfz); + if (!zink_vs_key(key)->clip_halfz) { + nir = nir_shader_clone(NULL, zs->nir); + NIR_PASS_V(nir, nir_lower_clip_halfz); + } } } else { if (!zink_fs_key(key)->samples && |