llvmpipe: Use resource_is_texture() consistently.
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 22 Apr 2010 17:22:22 +0000 (18:22 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Thu, 22 Apr 2010 17:42:03 +0000 (18:42 +0100)
Otherwise slightly difference order causes assertion failures.

Also remove mentions of PIPE_BIND_SCANOUT/PIPE_BIND_SHARED. They are not
propoer bind flags and will likely be deprecated. If surfaces should
be passed to the winsys then they should have the DISPLAY_TARGET flag
set, which is a proper bind flag.

src/gallium/drivers/llvmpipe/lp_screen.c
src/gallium/drivers/llvmpipe/lp_texture.c

index f453b9fe5aed49fa0ce94b43b5f3695e41e5c770..7d2cd0c7679274dd47eebb90e56bd8e60a18702d 100644 (file)
@@ -194,9 +194,7 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
          return FALSE;
    }
 
-   if(tex_usage & (PIPE_BIND_DISPLAY_TARGET |
-                   PIPE_BIND_SCANOUT |
-                   PIPE_BIND_SHARED)) {
+   if(tex_usage & PIPE_BIND_DISPLAY_TARGET) {
       if(!winsys->is_displaytarget_format_supported(winsys, tex_usage, format))
          return FALSE;
    }
index 4fce02ac713ae209989a78243516be5d40554a26..336a4e4c016022a24eba942feeb3f7d508b13767 100644 (file)
@@ -193,20 +193,20 @@ llvmpipe_resource_create(struct pipe_screen *_screen,
 
    assert(lpr->base.bind);
 
-   if (lpr->base.bind & (PIPE_BIND_DISPLAY_TARGET |
-                         PIPE_BIND_SCANOUT |
-                         PIPE_BIND_SHARED)) {
-      /* displayable surface */
-      if (!llvmpipe_displaytarget_layout(screen, lpr))
-         goto fail;
-      assert(lpr->layout[0][0] == LP_TEX_LAYOUT_NONE);
-   }
-   else if (lpr->base.bind & (PIPE_BIND_SAMPLER_VIEW |
-                              PIPE_BIND_DEPTH_STENCIL)) {
-      /* texture map */
-      if (!llvmpipe_texture_layout(screen, lpr))
-         goto fail;
-      assert(lpr->layout[0][0] == LP_TEX_LAYOUT_NONE);
+   if (resource_is_texture(&lpr->base)) {
+      if (lpr->base.bind & PIPE_BIND_DISPLAY_TARGET) {
+         /* displayable surface */
+         if (!llvmpipe_displaytarget_layout(screen, lpr))
+            goto fail;
+         assert(lpr->layout[0][0] == LP_TEX_LAYOUT_NONE);
+      }
+      else {
+         /* texture map */
+         if (!llvmpipe_texture_layout(screen, lpr))
+            goto fail;
+         assert(lpr->layout[0][0] == LP_TEX_LAYOUT_NONE);
+      }
+      assert(lpr->layout[0]);
    }
    else {
       /* other data (vertex buffer, const buffer, etc) */
@@ -221,10 +221,6 @@ llvmpipe_resource_create(struct pipe_screen *_screen,
          goto fail;
    }
 
-   if (resource_is_texture(&lpr->base)) {
-      assert(lpr->layout[0]);
-   }
-
    lpr->id = id_counter++;
 
    return &lpr->base;
@@ -393,10 +389,7 @@ llvmpipe_resource_data(struct pipe_resource *resource)
 {
    struct llvmpipe_resource *lpr = llvmpipe_resource(resource);
 
-   assert((lpr->base.bind & (PIPE_BIND_DISPLAY_TARGET |
-                             PIPE_BIND_SCANOUT |
-                             PIPE_BIND_SHARED |
-                             PIPE_BIND_SAMPLER_VIEW)) == 0);
+   assert(!resource_is_texture(resource));
 
    return lpr->data;
 }