etnaviv: GC7000: Move active_samplers_bits to texture
authorWladimir J. van der Laan <laanwj@gmail.com>
Sat, 18 Nov 2017 09:44:39 +0000 (10:44 +0100)
committerChristian Gmeiner <christian.gmeiner@gmail.com>
Thu, 30 Nov 2017 06:33:16 +0000 (07:33 +0100)
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>
src/gallium/drivers/etnaviv/etnaviv_emit.c
src/gallium/drivers/etnaviv/etnaviv_texture.c
src/gallium/drivers/etnaviv/etnaviv_texture.h

index dcad467f58aff3398fd520167bcf643f644bffdf..f43c954f1fdb684899f6f6076e385d2e44548c89 100644 (file)
@@ -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
index ad0ea162054c43cea4a8baf2b27514f3f207c821..55b92f65e1e4d949c98f95483c81105894ebdfb7 100644 (file)
@@ -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)
 {
index ec50bca32101d80a8a2123e5a3dc9ac951a77198..373e10c9ff0ca996acccecec83b56329a461152a 100644 (file)
@@ -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