summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/etnaviv/etnaviv_emit.c
diff options
context:
space:
mode:
authorWladimir J. van der Laan <[email protected]>2017-11-01 18:19:02 +0100
committerChristian Gmeiner <[email protected]>2017-11-06 21:30:54 +0100
commit93ba3f29bbfd996dea5ecd053501800c11fc7f1c (patch)
tree0201d4cf5e47b2af8e46ab36824e804e17e3c212 /src/gallium/drivers/etnaviv/etnaviv_emit.c
parentf1e1c60ff69dc54f3db00afa16237ff04dd32096 (diff)
etnaviv: ASTC texture support
Add ASTC texture support for hardware that supports this (currently only GC3000 on i.MX6qp is known to have this). Signed-off-by: Wladimir J. van der Laan <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
Diffstat (limited to 'src/gallium/drivers/etnaviv/etnaviv_emit.c')
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_emit.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_emit.c b/src/gallium/drivers/etnaviv/etnaviv_emit.c
index 5397aa33ce3..d313af60cf4 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_emit.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_emit.c
@@ -703,6 +703,14 @@ etna_emit_state(struct etna_context *ctx)
/*03828*/ EMIT_STATE(GL_VARYING_COMPONENT_USE(x), ctx->shader_state.GL_VARYING_COMPONENT_USE[x]);
}
}
+ if (unlikely(ctx->specs.tex_astc && (dirty & (ETNA_DIRTY_SAMPLER_VIEWS)))) {
+ for (int x = 0; x < VIVS_TE_SAMPLER__LEN; ++x) {
+ if ((1 << x) & active_samplers) {
+ struct etna_sampler_view *sv = etna_sampler_view(ctx->sampler_view[x]);
+ /*10500*/ EMIT_STATE(NTE_SAMPLER_ASTC0(x), sv->TE_SAMPLER_ASTC0);
+ }
+ }
+ }
etna_coalesce_end(stream, &coalesce);
/* end only EMIT_STATE */