diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 1fe694744b1..36d45d093e0 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -2865,7 +2865,7 @@ zink_shader_compile(struct zink_screen *screen, struct zink_shader *zs, nir_shad if (zs->sinfo.have_xfb) sinfo->last_vertex = true; - if (!zink_vs_key_base(key)->clip_halfz && screen->driver_workarounds.depth_clip_control_missing) { + if (!zink_vs_key_base(key)->clip_halfz && !screen->info.have_EXT_depth_clip_control) { NIR_PASS_V(nir, nir_lower_clip_halfz); } if (zink_vs_key_base(key)->push_drawid) { diff --git a/src/gallium/drivers/zink/zink_pipeline.c b/src/gallium/drivers/zink/zink_pipeline.c index 1ce5291c730..0b5d160ada2 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -148,7 +148,7 @@ zink_create_gfx_pipeline(struct zink_screen *screen, viewport_state.pViewports = NULL; viewport_state.scissorCount = screen->info.have_EXT_extended_dynamic_state ? 0 : state->dyn_state1.num_viewports; viewport_state.pScissors = NULL; - if (!screen->driver_workarounds.depth_clip_control_missing && !hw_rast_state->clip_halfz) + if (screen->info.have_EXT_depth_clip_control && !hw_rast_state->clip_halfz) viewport_state.pNext = &clip; VkPipelineRasterizationStateCreateInfo rast_state = {0}; diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index c3994c38c5b..a3332c48b34 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -2389,7 +2389,6 @@ init_driver_workarounds(struct zink_screen *screen) screen->info.gpl_props.graphicsPipelineLibraryFastLinking || screen->is_cpu); screen->driver_workarounds.broken_l4a4 = screen->info.driver_props.driverID == VK_DRIVER_ID_NVIDIA_PROPRIETARY; - screen->driver_workarounds.depth_clip_control_missing = !screen->info.have_EXT_depth_clip_control; if (screen->info.driver_props.driverID == VK_DRIVER_ID_AMD_PROPRIETARY) /* this completely breaks xfb somehow */ screen->info.have_EXT_extended_dynamic_state2 = false; diff --git a/src/gallium/drivers/zink/zink_state.c b/src/gallium/drivers/zink/zink_state.c index cee570dee69..38a1e7b9ab8 100644 --- a/src/gallium/drivers/zink/zink_state.c +++ b/src/gallium/drivers/zink/zink_state.c @@ -672,7 +672,7 @@ zink_bind_rasterizer_state(struct pipe_context *pctx, void *cso) ctx->rast_state_changed = true; if (clip_halfz != ctx->rast_state->base.clip_halfz) { - if (!screen->driver_workarounds.depth_clip_control_missing) + if (screen->info.have_EXT_depth_clip_control) ctx->gfx_pipeline_state.dirty = true; else zink_set_last_vertex_key(ctx)->clip_halfz = ctx->rast_state->base.clip_halfz; diff --git a/src/gallium/drivers/zink/zink_types.h b/src/gallium/drivers/zink/zink_types.h index 2f12b6a4129..e3cb0667c22 100644 --- a/src/gallium/drivers/zink/zink_types.h +++ b/src/gallium/drivers/zink/zink_types.h @@ -1331,7 +1331,6 @@ struct zink_screen { struct { bool broken_l4a4; - bool depth_clip_control_missing; bool implicit_sync; bool always_feedback_loop; bool always_feedback_loop_zs;