r600g: shortcut ctx->screen->ws to ctx->ws
authorMarek Olšák <maraeo@gmail.com>
Sat, 29 Oct 2011 15:56:12 +0000 (17:56 +0200)
committerMarek Olšák <maraeo@gmail.com>
Sun, 30 Oct 2011 00:25:51 +0000 (02:25 +0200)
src/gallium/drivers/r600/evergreen_hw_context.c
src/gallium/drivers/r600/r600.h
src/gallium/drivers/r600/r600_hw_context.c
src/gallium/drivers/r600/r600_hw_context_priv.h
src/gallium/drivers/r600/r600_pipe.c

index f9b8ec28c85a75b4951c6a37242909ceb31d1e17..116fb4ecb5b44d351f285ebda2ff4390a6c4cd0f 100644 (file)
@@ -904,6 +904,7 @@ int evergreen_context_init(struct r600_context *ctx, struct r600_screen *screen)
 
        memset(ctx, 0, sizeof(struct r600_context));
        ctx->screen = screen;
+       ctx->ws = screen->ws;
 
        LIST_INITHEAD(&ctx->active_query_list);
 
index 9367651b5f38ca43e5e4ce3fa7ef7b91d2cde974..c38ea1b2a9ada0f92030ff4c03fa3e857eafb778 100644 (file)
@@ -190,6 +190,7 @@ struct r600_query {
 
 struct r600_context {
        struct r600_screen      *screen;
+       struct radeon_winsys    *ws;
        struct radeon_winsys_cs *cs;
 
        struct r600_range       *range;
index 70fab0bab7e19d132df41ec4958136e9c62524ee..9f03e66a0f13d796d8c1986c5745370efd2eb552 100644 (file)
@@ -74,10 +74,10 @@ void r600_get_backend_mask(struct r600_context *ctx)
                goto err;
 
        /* initialize buffer with zeroes */
-       results = ctx->screen->ws->buffer_map(buffer->buf, ctx->cs, PIPE_TRANSFER_WRITE);
+       results = ctx->ws->buffer_map(buffer->buf, ctx->cs, PIPE_TRANSFER_WRITE);
        if (results) {
                memset(results, 0, ctx->max_db * 4 * 4);
-               ctx->screen->ws->buffer_unmap(buffer->buf);
+               ctx->ws->buffer_unmap(buffer->buf);
 
                /* emit EVENT_WRITE for ZPASS_DONE */
                ctx->pm4[ctx->pm4_cdwords++] = PKT3(PKT3_EVENT_WRITE, 2, 0);
@@ -89,14 +89,14 @@ void r600_get_backend_mask(struct r600_context *ctx)
                ctx->pm4[ctx->pm4_cdwords++] = r600_context_bo_reloc(ctx, buffer, RADEON_USAGE_WRITE);
 
                /* analyze results */
-               results = ctx->screen->ws->buffer_map(buffer->buf, ctx->cs, PIPE_TRANSFER_READ);
+               results = ctx->ws->buffer_map(buffer->buf, ctx->cs, PIPE_TRANSFER_READ);
                if (results) {
                        for(i = 0; i < ctx->max_db; i++) {
                                /* at least highest bit will be set if backend is used */
                                if (results[i*4 + 1])
                                        mask |= (1<<i);
                        }
-                       ctx->screen->ws->buffer_unmap(buffer->buf);
+                       ctx->ws->buffer_unmap(buffer->buf);
                }
        }
 
@@ -773,7 +773,7 @@ void r600_context_fini(struct r600_context *ctx)
        free(ctx->range);
        free(ctx->blocks);
        free(ctx->bo);
-       ctx->screen->ws->cs_destroy(ctx->cs);
+       ctx->ws->cs_destroy(ctx->cs);
 
        memset(ctx, 0, sizeof(struct r600_context));
 }
@@ -831,6 +831,7 @@ int r600_context_init(struct r600_context *ctx, struct r600_screen *screen)
 
        memset(ctx, 0, sizeof(struct r600_context));
        ctx->screen = screen;
+       ctx->ws = screen->ws;
 
        LIST_INITHEAD(&ctx->active_query_list);
 
@@ -1500,7 +1501,7 @@ void r600_context_flush(struct r600_context *ctx, unsigned flags)
 
        /* Flush the CS. */
        ctx->cs->cdw = ctx->pm4_cdwords;
-       ctx->screen->ws->cs_flush(ctx->cs, flags);
+       ctx->ws->cs_flush(ctx->cs, flags);
 
        /* We need to get the pointer to the other CS,
         * the command streams are double-buffered. */
@@ -1568,7 +1569,7 @@ static boolean r600_query_result(struct r600_context *ctx, struct r600_query *qu
        unsigned results_base = query->results_start;
        u32 *map;
 
-       map = ctx->screen->ws->buffer_map(query->buffer->buf, ctx->cs,
+       map = ctx->ws->buffer_map(query->buffer->buf, ctx->cs,
                                          PIPE_TRANSFER_READ | (wait ? 0 : PIPE_TRANSFER_DONTBLOCK));
        if (!map)
                return FALSE;
@@ -1591,7 +1592,7 @@ static boolean r600_query_result(struct r600_context *ctx, struct r600_query *qu
        }
 
        query->results_start = query->results_end;
-       ctx->screen->ws->buffer_unmap(query->buffer->buf);
+       ctx->ws->buffer_unmap(query->buffer->buf);
        return TRUE;
 }
 
@@ -1630,7 +1631,7 @@ void r600_query_begin(struct r600_context *ctx, struct r600_query *query)
                u32 *results;
                int i;
 
-               results = ctx->screen->ws->buffer_map(query->buffer->buf, ctx->cs, PIPE_TRANSFER_WRITE);
+               results = ctx->ws->buffer_map(query->buffer->buf, ctx->cs, PIPE_TRANSFER_WRITE);
                if (results) {
                        results = (u32*)((char*)results + query->results_end);
                        memset(results, 0, query->result_size);
@@ -1642,7 +1643,7 @@ void r600_query_begin(struct r600_context *ctx, struct r600_query *query)
                                        results[(i * 4)+3] = 0x80000000;
                                }
                        }
-                       ctx->screen->ws->buffer_unmap(query->buffer->buf);
+                       ctx->ws->buffer_unmap(query->buffer->buf);
                }
        }
 
index 1f18e0ee405a7b3dd1b00be4a9d7f7a634d4f2f4..0cbd94bb4c82acba98732c1cdf3be8c66a303742 100644 (file)
@@ -78,7 +78,7 @@ static INLINE unsigned r600_context_bo_reloc(struct r600_context *ctx, struct r6
 
        assert(usage);
 
-       reloc_index = ctx->screen->ws->cs_add_reloc(ctx->cs, rbo->cs_buf, usage);
+       reloc_index = ctx->ws->cs_add_reloc(ctx->cs, rbo->cs_buf, usage);
        if (reloc_index >= ctx->creloc)
                ctx->creloc = reloc_index+1;
 
index 00c2834183531498d516cfea8ae41440000cbd05..42b11d28891b4e10385afa020018b9205d17c15b 100644 (file)
@@ -258,7 +258,7 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void
                return NULL;
        }
 
-       rctx->screen->ws->cs_set_flush_callback(rctx->ctx.cs, r600_flush_from_winsys, rctx);
+       rctx->ws->cs_set_flush_callback(rctx->ctx.cs, r600_flush_from_winsys, rctx);
 
        util_slab_create(&rctx->pool_transfers,
                         sizeof(struct pipe_transfer), 64,