etnaviv: GC7000: Move active_samplers_bits to texture

This needs to be shared between texture_plain and texture_desc.

Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
This commit is contained in:
Wladimir J. van der Laan
2017-11-18 10:44:39 +01:00
committed by Christian Gmeiner
parent 260a5e2a1a
commit 075f8cd7de
3 changed files with 17 additions and 12 deletions
@@ -91,18 +91,6 @@ etna_stall(struct etna_cmd_stream *stream, uint32_t from, uint32_t to)
#define EMIT_STATE_RELOC(state_name, src_value) \
etna_coalsence_emit_reloc(stream, &coalesce, VIVS_##state_name, src_value)
/* Create bit field that specifies which samplers are active and thus need to be
* programmed
* 32 bits is enough for 32 samplers. As far as I know this is the upper bound
* supported on any Vivante hw
* up to GC4000.
*/
static uint32_t
active_samplers_bits(struct etna_context *ctx)
{
return ctx->active_sampler_views & ctx->active_samplers;
}
#define ETNA_3D_CONTEXT_SIZE (400) /* keep this number above "Total state updates (fixed)" from gen_weave_state tool */
static unsigned
@@ -432,6 +432,12 @@ etna_texture_barrier(struct pipe_context *pctx, unsigned flags)
etna_set_state(ctx->stream, VIVS_GL_FLUSH_CACHE, VIVS_GL_FLUSH_CACHE_COLOR | VIVS_GL_FLUSH_CACHE_TEXTURE);
}
uint32_t
active_samplers_bits(struct etna_context *ctx)
{
return ctx->active_sampler_views & ctx->active_samplers;
}
void
etna_texture_init(struct pipe_context *pctx)
{
@@ -34,6 +34,8 @@
#include "hw/state_3d.xml.h"
struct etna_context;
struct etna_sampler_state {
struct pipe_sampler_state base;
@@ -83,4 +85,13 @@ etna_texture_init(struct pipe_context *pctx);
struct etna_resource *
etna_texture_handle_incompatible(struct pipe_context *pctx, struct pipe_resource *prsc);
/* Create bit field that specifies which samplers are active and thus need to be
* programmed
* 32 bits is enough for 32 samplers. As far as I know this is the upper bound
* supported on any Vivante hw
* up to GC4000.
*/
uint32_t
active_samplers_bits(struct etna_context *ctx);
#endif