diff options
Diffstat (limited to 'src/gallium/drivers/nouveau/nv30/nv30_screen.c')
-rw-r--r-- | src/gallium/drivers/nouveau/nv30/nv30_screen.c | 6 |
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; |