diff options
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_context.h')
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_context.h | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_context.h b/src/gallium/drivers/freedreno/freedreno_context.h index d3a01fcb84b..db37f9cb8a3 100644 --- a/src/gallium/drivers/freedreno/freedreno_context.h +++ b/src/gallium/drivers/freedreno/freedreno_context.h @@ -37,6 +37,7 @@ #include "util/u_string.h" #include "freedreno_screen.h" +#include "freedreno_gmem.h" struct fd_vertex_stateobj; @@ -80,15 +81,6 @@ struct fd_vertex_stateobj { unsigned num_elements; }; -struct fd_gmem_stateobj { - struct pipe_scissor_state scissor; - uint cpp; - uint16_t minx, miny; - uint16_t bin_h, nbins_y; - uint16_t bin_w, nbins_x; - uint16_t width, height; -}; - struct fd_context { struct pipe_context base; @@ -176,6 +168,8 @@ struct fd_context { * if out of date with current maximal-scissor/cpp: */ struct fd_gmem_stateobj gmem; + struct fd_vsc_pipe pipe[8]; + struct fd_tile tile[64]; /* which state objects need to be re-emit'd: */ enum { @@ -221,14 +215,10 @@ struct fd_context { /* GMEM/tile handling fxns: */ void (*emit_tile_init)(struct fd_context *ctx); - void (*emit_tile_prep)(struct fd_context *ctx, uint32_t xoff, uint32_t yoff, - uint32_t bin_w, uint32_t bin_h); - void (*emit_tile_mem2gmem)(struct fd_context *ctx, uint32_t xoff, uint32_t yoff, - uint32_t bin_w, uint32_t bin_h); - void (*emit_tile_renderprep)(struct fd_context *ctx, uint32_t xoff, uint32_t yoff, - uint32_t bin_w, uint32_t bin_h); - void (*emit_tile_gmem2mem)(struct fd_context *ctx, uint32_t xoff, uint32_t yoff, - uint32_t bin_w, uint32_t bin_h); + void (*emit_tile_prep)(struct fd_context *ctx, struct fd_tile *tile); + void (*emit_tile_mem2gmem)(struct fd_context *ctx, struct fd_tile *tile); + void (*emit_tile_renderprep)(struct fd_context *ctx, struct fd_tile *tile); + void (*emit_tile_gmem2mem)(struct fd_context *ctx, struct fd_tile *tile); /* optional, for GMEM bypass: */ void (*emit_sysmem_prep)(struct fd_context *ctx); |