summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/svga/svga_format.c12
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)