diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/svga/svga_format.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_format.c b/src/gallium/drivers/svga/svga_format.c index 1eb03b9a4dd..5baf8f87f28 100644 --- a/src/gallium/drivers/svga/svga_format.c +++ b/src/gallium/drivers/svga/svga_format.c @@ -2442,8 +2442,18 @@ svga_is_dx_format_supported(struct pipe_screen *screen, if (bindings & PIPE_BIND_DEPTH_STENCIL) mask |= SVGA3D_DXFMT_DEPTH_RENDERTARGET; - if (target == PIPE_TEXTURE_3D) + switch (target) { + case PIPE_TEXTURE_3D: mask |= SVGA3D_DXFMT_VOLUME; + break; + case PIPE_TEXTURE_1D_ARRAY: + case PIPE_TEXTURE_2D_ARRAY: + case PIPE_TEXTURE_CUBE_ARRAY: + mask |= SVGA3D_DXFMT_ARRAY; + break; + default: + break; + } /* Is the format supported for rendering */ if ((caps.u & mask) != mask) |