galahad: Check that texture format is supported.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 6 Jul 2012 19:38:41 +0000 (20:38 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Fri, 6 Jul 2012 19:38:41 +0000 (20:38 +0100)
src/gallium/drivers/galahad/glhd_screen.c

index 309e55d3b47e829b1b7af5f6c96cb3e4bf71bddd..2596a148ce5a2f8cd1c372e7e767eaa7d015ec4b 100644 (file)
@@ -31,6 +31,7 @@
 #include "pipe/p_state.h"
 #include "util/u_memory.h"
 #include "util/u_math.h"
+#include "util/u_format.h"
 
 #include "glhd_public.h"
 #include "glhd_screen.h"
@@ -213,6 +214,12 @@ galahad_screen_resource_create(struct pipe_screen *_screen,
          glhd_warn("Requested NPOT (%ux%u) non-rectangle texture without NPOT support", templat->width0, templat->height0);
    }
 
+   if (templat->target != PIPE_BUFFER &&
+       !screen->is_format_supported(screen, templat->format, templat->target, templat->nr_samples, templat->bind)) {
+      glhd_warn("Requested format=%s target=%u samples=%u bind=0x%x unsupported",
+         util_format_name(templat->format), templat->target, templat->nr_samples, templat->bind);
+   }
+
    result = screen->resource_create(screen,
                                     templat);