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:
committed by
Marge Bot
parent
c12fed1804
commit
0429f11dfb
@@ -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) {
|
||||
|
||||
@@ -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};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user