diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index 854eb20fd65..723160188dd 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -146,6 +146,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported = .EXT_conditional_rendering = true, .EXT_depth_clip_enable = true, .EXT_depth_clip_control = true, + .EXT_depth_range_unrestricted = true, .EXT_extended_dynamic_state = true, .EXT_extended_dynamic_state2 = true, .EXT_external_memory_host = true, diff --git a/src/gallium/frontends/lavapipe/lvp_execute.c b/src/gallium/frontends/lavapipe/lvp_execute.c index 76a76b0e74b..1602e577a8c 100644 --- a/src/gallium/frontends/lavapipe/lvp_execute.c +++ b/src/gallium/frontends/lavapipe/lvp_execute.c @@ -4175,6 +4175,7 @@ VkResult lvp_execute_cmds(struct lvp_device *device, state->rs_dirty = true; state->vp_dirty = true; state->rs_state.point_tri_clip = true; + state->rs_state.unclamped_fragment_depth_values = device->vk.enabled_extensions.EXT_depth_range_unrestricted; for (enum pipe_shader_type s = PIPE_SHADER_VERTEX; s < PIPE_SHADER_TYPES; s++) { for (unsigned i = 0; i < ARRAY_SIZE(state->cso_ss_ptr[s]); i++) state->cso_ss_ptr[s][i] = &state->ss[s][i];