etnaviv: use dummy RT buffer when rendering without color buffer
[mesa.git] / src / gallium / drivers / etnaviv / etnaviv_context.h
index 1ed38ce48c1f6d3dbdd7fe43c8546ff6732a36c1..6ad9f3431e15e38f3c36f7d05c074a4ba38e96b4 100644 (file)
@@ -42,6 +42,7 @@
 
 struct pipe_screen;
 struct etna_shader_variant;
+struct etna_sampler_ts;
 
 struct etna_index_buffer {
    struct etna_reloc FE_INDEX_STREAM_BASE_ADDR;
@@ -100,6 +101,11 @@ struct etna_shader_uniform_info {
 struct etna_context {
    struct pipe_context base;
 
+   /* GPU-specific implementation to emit texture state */
+   void (*emit_texture_state)(struct etna_context *pctx);
+   /* Get sampler TS pointer for sampler view */
+   struct etna_sampler_ts *(*ts_for_sampler_view)(struct pipe_sampler_view *pview);
+
    struct etna_specs specs;
    struct etna_screen *screen;
    struct etna_cmd_stream *stream;
@@ -184,6 +190,9 @@ struct etna_context {
 
    /* list of active hardware queries */
    struct list_head active_hw_queries;
+
+   struct etna_bo *dummy_rt;
+   struct etna_reloc dummy_rt_reloc;
 };
 
 static inline struct etna_context *