summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/etnaviv/etnaviv_internal.h
diff options
context:
space:
mode:
authorWladimir J. van der Laan <[email protected]>2017-04-14 09:44:27 +0200
committerChristian Gmeiner <[email protected]>2017-04-15 00:34:13 +0200
commit6a8d5ab932e525f16e744b4f13c4f6a7fa636ecf (patch)
treec2dfeb758f82b9d9371dcd906f28a6652bcb49b2 /src/gallium/drivers/etnaviv/etnaviv_internal.h
parent1dcb1d49254dabd3989ad4ec5004b540683529b2 (diff)
etnaviv: SINGLE_BUFFER support on GC3000
This patch adds support for the SINGLE_BUFFER feature on GC3000 GPUs, which allows rendering to a single buffer using multiple pixel pipes. This feature is always used when it is available, which means that multi-tiled formats are no longer being used in that case, and all buffers will be normal (super)tiled. This mimics the behavior of the blob on GC3000. - Because the same format can be used to render to and texture from, this avoids an extra resolve pass when rendering to texture. - i.MX6qp includes a PRE which can scan-out directly from tiled formats, avoiding untiling overhead. Signed-off-by: Wladimir J. van der Laan <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
Diffstat (limited to 'src/gallium/drivers/etnaviv/etnaviv_internal.h')
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_internal.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_internal.h b/src/gallium/drivers/etnaviv/etnaviv_internal.h
index 2f09d555bc2..2f8dacbce5f 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_internal.h
+++ b/src/gallium/drivers/etnaviv/etnaviv_internal.h
@@ -72,6 +72,8 @@ struct etna_specs {
unsigned has_shader_range_registers : 1;
/* has the new sin/cos functions */
unsigned has_new_sin_cos : 1;
+ /* supports single-buffer rendering with multiple pixel pipes */
+ unsigned single_buffer : 1;
/* can use any kind of wrapping mode on npot textures */
unsigned npot_tex_any_wrap;
/* number of bits per TS tile */
@@ -191,6 +193,7 @@ struct compiled_framebuffer_state {
uint32_t TS_COLOR_CLEAR_VALUE;
struct etna_reloc TS_COLOR_STATUS_BASE;
struct etna_reloc TS_COLOR_SURFACE_BASE;
+ uint32_t PE_LOGIC_OP;
bool msaa_mode; /* adds input (and possible temp) to PS */
};