r300g: don't set PIPE_BIND flags for internal textures
authorMarek Olšák <maraeo@gmail.com>
Wed, 2 Jan 2013 19:23:57 +0000 (20:23 +0100)
committerMarek Olšák <maraeo@gmail.com>
Fri, 4 Jan 2013 20:08:28 +0000 (21:08 +0100)
src/gallium/drivers/r300/r300_context.c
src/gallium/drivers/r300/r300_transfer.c

index 048f810..878b52f 100644 (file)
@@ -428,7 +428,6 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,
 
         rtempl.target = PIPE_TEXTURE_2D;
         rtempl.format = PIPE_FORMAT_I8_UNORM;
-        rtempl.bind = PIPE_BIND_SAMPLER_VIEW;
         rtempl.usage = PIPE_USAGE_IMMUTABLE;
         rtempl.width0 = 1;
         rtempl.height0 = 1;
index fbae2df..6ad08c6 100644 (file)
@@ -120,35 +120,16 @@ r300_texture_transfer_map(struct pipe_context *ctx,
                 os_break();
             }
 
+            memset(&base, 0, sizeof(base));
             base.target = PIPE_TEXTURE_2D;
             base.format = texture->format;
             base.width0 = box->width;
             base.height0 = box->height;
             base.depth0 = 1;
             base.array_size = 1;
-            base.last_level = 0;
-            base.nr_samples = 0;
             base.usage = PIPE_USAGE_STAGING;
-            base.bind = 0;
-            if (usage & PIPE_TRANSFER_READ) {
-                base.bind |= PIPE_BIND_SAMPLER_VIEW;
-            }
-            if (usage & PIPE_TRANSFER_WRITE) {
-                base.bind |= PIPE_BIND_RENDER_TARGET;
-            }
             base.flags = R300_RESOURCE_FLAG_TRANSFER;
 
-            /* For texture reading, the temporary (detiled) texture is used as
-             * a render target when blitting from a tiled texture. */
-            if (usage & PIPE_TRANSFER_READ) {
-                base.bind |= PIPE_BIND_RENDER_TARGET;
-            }
-            /* For texture writing, the temporary texture is used as a sampler
-             * when blitting into a tiled texture. */
-            if (usage & PIPE_TRANSFER_WRITE) {
-                base.bind |= PIPE_BIND_SAMPLER_VIEW;
-            }
-
             /* Create the temporary texture. */
             trans->linear_texture = r300_resource(
                ctx->screen->resource_create(ctx->screen,