diff options
author | Axel Davy <davyaxel0@gmail.com> | 2021-03-20 13:50:45 +0100 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-04-14 08:33:13 +0000 |
commit | 9e9644666e9ba226edf22ab652c05fb148643f79 (patch) | |
tree | 9a074567517307d99cd0df13fc254dd99af628cd | |
parent | a849923aea378bcd928581e15267ac8136a46b25 (diff) |
st/nine: Refuse depth buffers as rendertargets
If we allow them, some apps try to use them
as rendertargets.
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10160>
-rw-r--r-- | src/gallium/frontends/nine/adapter9.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/frontends/nine/adapter9.c b/src/gallium/frontends/nine/adapter9.c index 3d339d982f2..85031ef4584 100644 --- a/src/gallium/frontends/nine/adapter9.c +++ b/src/gallium/frontends/nine/adapter9.c @@ -328,7 +328,11 @@ NineAdapter9_CheckDeviceFormat( struct NineAdapter9 *This, } bind = 0; - if (Usage & D3DUSAGE_RENDERTARGET) bind |= PIPE_BIND_RENDER_TARGET; + if (Usage & D3DUSAGE_RENDERTARGET) { + if (depth_stencil_format(CheckFormat)) + return D3DERR_NOTAVAILABLE; + bind |= PIPE_BIND_RENDER_TARGET; + } if (Usage & D3DUSAGE_DEPTHSTENCIL) { if (!depth_stencil_format(CheckFormat)) return D3DERR_NOTAVAILABLE; |