frontend/nine: Improve VS_WINDOW_SPACE_POSITION fallback
authorAxel Davy <davyaxel0@gmail.com>
Thu, 28 Jul 2022 19:31:25 +0000 (21:31 +0200)
committerMarge Bot <emma+marge@anholt.net>
Mon, 8 May 2023 21:41:20 +0000 (21:41 +0000)
commit372c4549f4b1db1a51730c91be870b8bb0e3fa44
tree66938ebb7ca5c0979875497043ba1be24e8d5ff2
parent98a51b77944a3a0ca1a3ac07e4c9339218ce4bb6
frontend/nine: Improve VS_WINDOW_SPACE_POSITION fallback

Previously we would implement position_t by
applying the inverse of the viewport, and
advertising clipping was going to occur with
the cap CLIPTLVERTS.

However when the cap is advertised, clipping
is supposed to be disabled via sw emulation
when D3DRS_CLIPPING is set to FALSE.

Since we don't support that either, instead take the
approach of disabling at least depth clipping, and
not advertising the cap.

Ideally, clipping should be totally disabled.

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22644>
src/gallium/frontends/nine/adapter9.c
src/gallium/frontends/nine/device9.c
src/gallium/frontends/nine/device9.h
src/gallium/frontends/nine/nine_pipe.c
src/gallium/frontends/nine/nine_state.c
src/gallium/frontends/nine/nine_state.h