X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fetnaviv%2Fetnaviv_context.h;h=9e00d34d23a2f822ba4835ab5c088a768a2b4a95;hb=17f24a9b752fa3f7a412ca05ae7029d142785e59;hp=74e93e1631a14c687ce306e18896abc411e01d80;hpb=c9e8b49b885242d84ba031dacef5aa4a5ac1e5b6;p=mesa.git diff --git a/src/gallium/drivers/etnaviv/etnaviv_context.h b/src/gallium/drivers/etnaviv/etnaviv_context.h index 74e93e1631a..9e00d34d23a 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_context.h +++ b/src/gallium/drivers/etnaviv/etnaviv_context.h @@ -41,7 +41,7 @@ #include "util/slab.h" struct pipe_screen; -struct etna_shader; +struct etna_shader_variant; struct etna_index_buffer { struct pipe_index_buffer ib; @@ -79,6 +79,11 @@ struct etna_vertexbuf_state { uint32_t enabled_mask; }; +struct etna_shader_state { + void *bind_vs, *bind_fs; + struct etna_shader_variant *vs, *fs; +}; + enum etna_immediate_contents { ETNA_IMMEDIATE_UNUSED = 0, ETNA_IMMEDIATE_CONSTANT, @@ -155,10 +160,7 @@ struct etna_context { struct pipe_constant_buffer constant_buffer[PIPE_SHADER_TYPES]; struct etna_vertexbuf_state vertex_buffer; struct etna_index_buffer index_buffer; - - /* pointers to the bound state. these are mainly kept around for the blitter */ - struct etna_shader *vs; - struct etna_shader *fs; + struct etna_shader_state shader; /* saved parameter-like state. these are mainly kept around for the blitter */ struct pipe_framebuffer_state framebuffer_s; @@ -174,6 +176,8 @@ struct etna_context { uint64_t prims_emitted; uint64_t draw_calls; } stats; + + struct pipe_debug_callback debug; }; static inline struct etna_context *