zink: remove depth_clip_control_missing workaround

The ANV bug this was meant to represent has been long fixed, and the
workaround has just been a proxy for EXT_depth_clip_control for a while
now.

Let's simplify things a bit, by removing this flag.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20740>
This commit is contained in:
Erik Faye-Lund
2023-01-17 09:53:41 +01:00
committed by Marge Bot
parent c12fed1804
commit 0429f11dfb
5 changed files with 3 additions and 5 deletions
+1 -1
View File
@@ -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) {
+1 -1
View File
@@ -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};
-1
View File
@@ -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;
+1 -1
View File
@@ -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;
-1
View File
@@ -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;