Mesa (main): lavapipe: enable VK_EXT_depth_range_unrestricted.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jul 28 01:09:36 UTC 2022


Module: Mesa
Branch: main
Commit: 62207cf8855a3b1f74ec0320198a4cb9894c984d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=62207cf8855a3b1f74ec0320198a4cb9894c984d

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jul 18 16:04:17 2022 +1000

lavapipe: enable VK_EXT_depth_range_unrestricted.

This passes all the VK CTS tests.

Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612>

---

 src/gallium/frontends/lavapipe/lvp_device.c  | 1 +
 src/gallium/frontends/lavapipe/lvp_execute.c | 1 +
 2 files changed, 2 insertions(+)

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];



More information about the mesa-commit mailing list