summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nouveau/nv30/nv30_screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/nouveau/nv30/nv30_screen.c')
-rw-r--r--src/gallium/drivers/nouveau/nv30/nv30_screen.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
index d7563f4a60e..2b69a8f6968 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
@@ -435,6 +435,12 @@ nv30_screen_is_format_supported(struct pipe_screen *pscreen,
if (MAX2(1, sample_count) != MAX2(1, storage_sample_count))
return false;
+ /* No way to render to a swizzled 3d texture. We don't necessarily know if
+ * it's swizzled or not here, but we have to assume anyways.
+ */
+ if (target == PIPE_TEXTURE_3D && (bindings & PIPE_BIND_RENDER_TARGET))
+ return false;
+
/* shared is always supported */
bindings &= ~PIPE_BIND_SHARED;