summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/galahad/glhd_screen.c
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2014-09-30 19:23:37 +0200
committerRoland Scheidegger <[email protected]>2014-10-01 02:16:57 +0200
commite3da8c110c06c6f0c797bf6a6ab91d482092b93c (patch)
tree683ec09af71f2c72c6d14ef41afb6034103f5364 /src/gallium/drivers/galahad/glhd_screen.c
parent3e7f8005db3e8f5f493ab83c1438bb6cf8c840b5 (diff)
galahad: (trivial) handle cubemap arrays
Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/drivers/galahad/glhd_screen.c')
-rw-r--r--src/gallium/drivers/galahad/glhd_screen.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/galahad/glhd_screen.c b/src/gallium/drivers/galahad/glhd_screen.c
index 5a910779948..11ab1a9ae55 100644
--- a/src/gallium/drivers/galahad/glhd_screen.c
+++ b/src/gallium/drivers/galahad/glhd_screen.c
@@ -176,6 +176,13 @@ galahad_screen_resource_create(struct pipe_screen *_screen,
glhd_check("%u", templat->height0, == templat->width0);
glhd_check("%u", templat->depth0, == 1);
glhd_check("%u", templat->array_size, == 6);
+ } else if (templat->target == PIPE_TEXTURE_CUBE_ARRAY) {
+ unsigned max_texture_cube_levels = screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS);
+ glhd_check("%u", templat->last_level, < max_texture_cube_levels);
+ glhd_check("%u", templat->width0, <= (1 << (max_texture_cube_levels - 1)));
+ glhd_check("%u", templat->height0, == templat->width0);
+ glhd_check("%u", templat->depth0, == 1);
+ glhd_check("%u", templat->array_size, % 6 == 0);
} else if (templat->target == PIPE_TEXTURE_RECT) {
unsigned max_texture_2d_levels = screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_2D_LEVELS);
glhd_check("%u", templat->last_level, == 0);