galahad: (trivial) handle cubemap arrays
authorRoland Scheidegger <sroland@vmware.com>
Tue, 30 Sep 2014 17:23:37 +0000 (19:23 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Wed, 1 Oct 2014 00:16:57 +0000 (02:16 +0200)
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/drivers/galahad/glhd_screen.c

index 5a910779948f3106e197c250fabdc76e27ee7017..11ab1a9ae55c46ec77084ee1a1782c57a9b41736 100644 (file)
@@ -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);