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