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>tags/18.0-branchpoint
@@ -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 |