summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAxel Davy <davyaxel0@gmail.com>2021-03-20 13:50:45 +0100
committerMarge Bot <eric+marge@anholt.net>2021-04-14 08:33:13 +0000
commit9e9644666e9ba226edf22ab652c05fb148643f79 (patch)
tree9a074567517307d99cd0df13fc254dd99af628cd
parenta849923aea378bcd928581e15267ac8136a46b25 (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.c6
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;