freedreno/ir3: constify shader key
authorRob Clark <robdclark@chromium.org>
Mon, 15 Jun 2020 16:37:13 +0000 (09:37 -0700)
committerMarge Bot <eric+marge@anholt.net>
Fri, 19 Jun 2020 13:16:57 +0000 (13:16 +0000)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508>

src/freedreno/ir3/ir3_shader.c
src/freedreno/ir3/ir3_shader.h

index a8f3dc7..4bd427b 100644 (file)
@@ -181,7 +181,7 @@ assemble_variant(struct ir3_shader_variant *v)
  * (non-binning) variant.
  */
 static struct ir3_shader_variant *
-create_variant(struct ir3_shader *shader, struct ir3_shader_key *key,
+create_variant(struct ir3_shader *shader, const struct ir3_shader_key *key,
                struct ir3_shader_variant *nonbinning)
 {
        struct ir3_shader_variant *v = CALLOC_STRUCT(ir3_shader_variant);
@@ -237,7 +237,7 @@ fail:
 }
 
 static inline struct ir3_shader_variant *
-shader_variant(struct ir3_shader *shader, struct ir3_shader_key *key,
+shader_variant(struct ir3_shader *shader, const struct ir3_shader_key *key,
                bool *created)
 {
        struct ir3_shader_variant *v;
@@ -260,7 +260,7 @@ shader_variant(struct ir3_shader *shader, struct ir3_shader_key *key,
 }
 
 struct ir3_shader_variant *
-ir3_shader_get_variant(struct ir3_shader *shader, struct ir3_shader_key *key,
+ir3_shader_get_variant(struct ir3_shader *shader, const struct ir3_shader_key *key,
                bool binning_pass, bool *created)
 {
        mtx_lock(&shader->variants_lock);
index 1ee7371..0123af6 100644 (file)
@@ -325,7 +325,7 @@ ir3_tess_mode(unsigned gl_tess_mode)
 }
 
 static inline bool
-ir3_shader_key_equal(struct ir3_shader_key *a, struct ir3_shader_key *b)
+ir3_shader_key_equal(const struct ir3_shader_key *a, const struct ir3_shader_key *b)
 {
        /* slow-path if we need to check {v,f}saturate_{s,t,r} */
        if (a->has_per_samp || b->has_per_samp)
@@ -649,7 +649,7 @@ ir3_const_state(const struct ir3_shader_variant *v)
 
 void * ir3_shader_assemble(struct ir3_shader_variant *v);
 struct ir3_shader_variant * ir3_shader_get_variant(struct ir3_shader *shader,
-               struct ir3_shader_key *key, bool binning_pass, bool *created);
+               const struct ir3_shader_key *key, bool binning_pass, bool *created);
 struct ir3_shader * ir3_shader_from_nir(struct ir3_compiler *compiler, nir_shader *nir,
                unsigned reserved_user_consts, struct ir3_stream_output_info *stream_output);
 void ir3_shader_destroy(struct ir3_shader *shader);