diff options
author | Connor Abbott <cwabbott0@gmail.com> | 2023-05-17 15:00:46 +0200 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-09-11 10:34:10 +0000 |
commit | 252aee26346ee2f45dd009332d8997975bf7a2cf (patch) | |
tree | e54844f20e832ffaaf1f9762eafa57378e3407f2 /src/gallium/drivers | |
parent | d1b333a0b57d24b03dfd960859b52be43cb3e6d0 (diff) |
freedreno, ir3, tu: Constify various uses of ir3_shader_variant
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25076>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/freedreno/a3xx/fd3_program.c | 10 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a3xx/fd3_program.h | 6 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a4xx/fd4_program.c | 10 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a4xx/fd4_program.h | 6 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a5xx/fd5_program.c | 10 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a5xx/fd5_program.h | 6 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a6xx/fd6_const.cc | 6 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a6xx/fd6_const.h | 2 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a6xx/fd6_emit.h | 10 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a6xx/fd6_program.cc | 12 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a6xx/fd6_program.h | 12 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3_cache.c | 4 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3_cache.h | 8 |
13 files changed, 55 insertions, 47 deletions
diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_program.c b/src/gallium/drivers/freedreno/a3xx/fd3_program.c index 2219d2e7c4a..23443ee1e8e 100644 --- a/src/gallium/drivers/freedreno/a3xx/fd3_program.c +++ b/src/gallium/drivers/freedreno/a3xx/fd3_program.c @@ -450,10 +450,12 @@ fd3_program_emit(struct fd_ringbuffer *ring, struct fd3_emit *emit, int nr, } static struct ir3_program_state * -fd3_program_create(void *data, struct ir3_shader_variant *bs, - struct ir3_shader_variant *vs, struct ir3_shader_variant *hs, - struct ir3_shader_variant *ds, struct ir3_shader_variant *gs, - struct ir3_shader_variant *fs, +fd3_program_create(void *data, const struct ir3_shader_variant *bs, + const struct ir3_shader_variant *vs, + const struct ir3_shader_variant *hs, + const struct ir3_shader_variant *ds, + const struct ir3_shader_variant *gs, + const struct ir3_shader_variant *fs, const struct ir3_cache_key *key) in_dt { struct fd_context *ctx = fd_context(data); diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_program.h b/src/gallium/drivers/freedreno/a3xx/fd3_program.h index cefe1929773..4c8f3c46845 100644 --- a/src/gallium/drivers/freedreno/a3xx/fd3_program.h +++ b/src/gallium/drivers/freedreno/a3xx/fd3_program.h @@ -37,9 +37,9 @@ struct fd3_emit; struct fd3_program_state { struct ir3_program_state base; - struct ir3_shader_variant *bs; /* VS for when emit->binning */ - struct ir3_shader_variant *vs; - struct ir3_shader_variant *fs; /* FS for when !emit->binning */ + const struct ir3_shader_variant *bs; /* VS for when emit->binning */ + const struct ir3_shader_variant *vs; + const struct ir3_shader_variant *fs; /* FS for when !emit->binning */ }; static inline struct fd3_program_state * diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_program.c b/src/gallium/drivers/freedreno/a4xx/fd4_program.c index d165cebd95a..be1d4a717a5 100644 --- a/src/gallium/drivers/freedreno/a4xx/fd4_program.c +++ b/src/gallium/drivers/freedreno/a4xx/fd4_program.c @@ -578,10 +578,12 @@ fd4_program_emit(struct fd_ringbuffer *ring, struct fd4_emit *emit, int nr, } static struct ir3_program_state * -fd4_program_create(void *data, struct ir3_shader_variant *bs, - struct ir3_shader_variant *vs, struct ir3_shader_variant *hs, - struct ir3_shader_variant *ds, struct ir3_shader_variant *gs, - struct ir3_shader_variant *fs, +fd4_program_create(void *data, const struct ir3_shader_variant *bs, + const struct ir3_shader_variant *vs, + const struct ir3_shader_variant *hs, + const struct ir3_shader_variant *ds, + const struct ir3_shader_variant *gs, + const struct ir3_shader_variant *fs, const struct ir3_cache_key *key) in_dt { struct fd_context *ctx = fd_context(data); diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_program.h b/src/gallium/drivers/freedreno/a4xx/fd4_program.h index 8de10963966..0f1a9ad888b 100644 --- a/src/gallium/drivers/freedreno/a4xx/fd4_program.h +++ b/src/gallium/drivers/freedreno/a4xx/fd4_program.h @@ -37,9 +37,9 @@ struct fd4_emit; struct fd4_program_state { struct ir3_program_state base; - struct ir3_shader_variant *bs; /* VS for when emit->binning */ - struct ir3_shader_variant *vs; - struct ir3_shader_variant *fs; /* FS for when !emit->binning */ + const struct ir3_shader_variant *bs; /* VS for when emit->binning */ + const struct ir3_shader_variant *vs; + const struct ir3_shader_variant *fs; /* FS for when !emit->binning */ }; static inline struct fd4_program_state * diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_program.c b/src/gallium/drivers/freedreno/a5xx/fd5_program.c index f2c19c24917..32b97f04c79 100644 --- a/src/gallium/drivers/freedreno/a5xx/fd5_program.c +++ b/src/gallium/drivers/freedreno/a5xx/fd5_program.c @@ -748,10 +748,12 @@ fd5_program_emit(struct fd_context *ctx, struct fd_ringbuffer *ring, } static struct ir3_program_state * -fd5_program_create(void *data, struct ir3_shader_variant *bs, - struct ir3_shader_variant *vs, struct ir3_shader_variant *hs, - struct ir3_shader_variant *ds, struct ir3_shader_variant *gs, - struct ir3_shader_variant *fs, +fd5_program_create(void *data, const struct ir3_shader_variant *bs, + const struct ir3_shader_variant *vs, + const struct ir3_shader_variant *hs, + const struct ir3_shader_variant *ds, + const struct ir3_shader_variant *gs, + const struct ir3_shader_variant *fs, const struct ir3_cache_key *key) in_dt { struct fd_context *ctx = fd_context(data); diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_program.h b/src/gallium/drivers/freedreno/a5xx/fd5_program.h index d6904cc4aa9..2f9906bab08 100644 --- a/src/gallium/drivers/freedreno/a5xx/fd5_program.h +++ b/src/gallium/drivers/freedreno/a5xx/fd5_program.h @@ -37,9 +37,9 @@ struct fd5_emit; struct fd5_program_state { struct ir3_program_state base; - struct ir3_shader_variant *bs; /* VS for when emit->binning */ - struct ir3_shader_variant *vs; - struct ir3_shader_variant *fs; /* FS for when !emit->binning */ + const struct ir3_shader_variant *bs; /* VS for when emit->binning */ + const struct ir3_shader_variant *vs; + const struct ir3_shader_variant *fs; /* FS for when !emit->binning */ }; static inline struct fd5_program_state * diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_const.cc b/src/gallium/drivers/freedreno/a6xx/fd6_const.cc index b3d2f460551..a9b876de20e 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_const.cc +++ b/src/gallium/drivers/freedreno/a6xx/fd6_const.cc @@ -111,7 +111,7 @@ emit_const_ptrs(struct fd_ringbuffer *ring, const struct ir3_shader_variant *v, } static void -emit_stage_tess_consts(struct fd_ringbuffer *ring, struct ir3_shader_variant *v, +emit_stage_tess_consts(struct fd_ringbuffer *ring, const struct ir3_shader_variant *v, uint32_t *params, int num_params) { const struct ir3_const_state *const_state = ir3_const_state(v); @@ -166,7 +166,7 @@ fd6_build_tess_consts(struct fd6_emit *emit) } if (emit->gs) { - struct ir3_shader_variant *prev; + const struct ir3_shader_variant *prev; if (emit->ds) prev = emit->ds; else @@ -229,7 +229,7 @@ fd6_emit_ubos(const struct ir3_shader_variant *v, struct fd_ringbuffer *ring, } unsigned -fd6_user_consts_cmdstream_size(struct ir3_shader_variant *v) +fd6_user_consts_cmdstream_size(const struct ir3_shader_variant *v) { if (!v) return 0; diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_const.h b/src/gallium/drivers/freedreno/a6xx/fd6_const.h index 8c277752884..33e059641bc 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_const.h +++ b/src/gallium/drivers/freedreno/a6xx/fd6_const.h @@ -28,7 +28,7 @@ #include "fd6_emit.h" struct fd_ringbuffer *fd6_build_tess_consts(struct fd6_emit *emit) assert_dt; -unsigned fd6_user_consts_cmdstream_size(struct ir3_shader_variant *v); +unsigned fd6_user_consts_cmdstream_size(const struct ir3_shader_variant *v); template <fd6_pipeline_type PIPELINE> struct fd_ringbuffer *fd6_build_user_consts(struct fd6_emit *emit) assert_dt; diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_emit.h b/src/gallium/drivers/freedreno/a6xx/fd6_emit.h index d0f7fecb6a6..5fd9e38b0bf 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_emit.h +++ b/src/gallium/drivers/freedreno/a6xx/fd6_emit.h @@ -200,11 +200,11 @@ struct fd6_emit { /* cached to avoid repeated lookups: */ const struct fd6_program_state *prog; - struct ir3_shader_variant *vs; - struct ir3_shader_variant *hs; - struct ir3_shader_variant *ds; - struct ir3_shader_variant *gs; - struct ir3_shader_variant *fs; + const struct ir3_shader_variant *vs; + const struct ir3_shader_variant *hs; + const struct ir3_shader_variant *ds; + const struct ir3_shader_variant *gs; + const struct ir3_shader_variant *fs; struct fd6_state state; }; diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_program.cc b/src/gallium/drivers/freedreno/a6xx/fd6_program.cc index efb9a1b96df..f4f373f1bbe 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_program.cc +++ b/src/gallium/drivers/freedreno/a6xx/fd6_program.cc @@ -285,7 +285,7 @@ setup_stream_out(struct fd_context *ctx, struct fd6_program_state *state, } static uint32_t -sp_xs_config(struct ir3_shader_variant *v) +sp_xs_config(const struct ir3_shader_variant *v) { if (!v) return 0; @@ -1312,10 +1312,12 @@ emit_interp_state(struct fd_ringbuffer *ring, const struct fd6_program_state *st template <chip CHIP> static struct ir3_program_state * -fd6_program_create(void *data, struct ir3_shader_variant *bs, - struct ir3_shader_variant *vs, struct ir3_shader_variant *hs, - struct ir3_shader_variant *ds, struct ir3_shader_variant *gs, - struct ir3_shader_variant *fs, +fd6_program_create(void *data, const struct ir3_shader_variant *bs, + const struct ir3_shader_variant *vs, + const struct ir3_shader_variant *hs, + const struct ir3_shader_variant *ds, + const struct ir3_shader_variant *gs, + const struct ir3_shader_variant *fs, const struct ir3_cache_key *key) in_dt { struct fd_context *ctx = fd_context((struct pipe_context *)data); diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_program.h b/src/gallium/drivers/freedreno/a6xx/fd6_program.h index e7ae12f466e..0ce2f8627c3 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_program.h +++ b/src/gallium/drivers/freedreno/a6xx/fd6_program.h @@ -38,12 +38,12 @@ struct fd6_emit; struct fd6_program_state { struct ir3_program_state base; - struct ir3_shader_variant *bs; /* binning pass vs */ - struct ir3_shader_variant *vs; - struct ir3_shader_variant *hs; - struct ir3_shader_variant *ds; - struct ir3_shader_variant *gs; - struct ir3_shader_variant *fs; + const struct ir3_shader_variant *bs; /* binning pass vs */ + const struct ir3_shader_variant *vs; + const struct ir3_shader_variant *hs; + const struct ir3_shader_variant *ds; + const struct ir3_shader_variant *gs; + const struct ir3_shader_variant *fs; struct fd_ringbuffer *config_stateobj; struct fd_ringbuffer *interp_stateobj; struct fd_ringbuffer *binning_stateobj; diff --git a/src/gallium/drivers/freedreno/ir3/ir3_cache.c b/src/gallium/drivers/freedreno/ir3/ir3_cache.c index ff39540c41d..351ed52bd52 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_cache.c +++ b/src/gallium/drivers/freedreno/ir3/ir3_cache.c @@ -117,7 +117,7 @@ ir3_cache_lookup(struct ir3_cache *cache, const struct ir3_cache_key *key, shaders[MESA_SHADER_TESS_CTRL] = hs; } - struct ir3_shader_variant *variants[MESA_SHADER_STAGES]; + const struct ir3_shader_variant *variants[MESA_SHADER_STAGES]; struct ir3_shader_key shader_key = key->key; for (gl_shader_stage stage = MESA_SHADER_VERTEX; stage < MESA_SHADER_STAGES; @@ -146,7 +146,7 @@ ir3_cache_lookup(struct ir3_cache *cache, const struct ir3_cache_key *key, } } - struct ir3_shader_variant *bs; + const struct ir3_shader_variant *bs; if (ir3_has_binning_vs(&key->key)) { /* starting with a6xx, the same const state is used for binning and draw diff --git a/src/gallium/drivers/freedreno/ir3/ir3_cache.h b/src/gallium/drivers/freedreno/ir3/ir3_cache.h index cd75f33d462..e29561f5b86 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_cache.h +++ b/src/gallium/drivers/freedreno/ir3/ir3_cache.h @@ -61,10 +61,10 @@ struct ir3_program_state { struct ir3_cache_funcs { struct ir3_program_state *(*create_state)( - void *data, struct ir3_shader_variant *bs, /* binning pass vs */ - struct ir3_shader_variant *vs, struct ir3_shader_variant *hs, - struct ir3_shader_variant *ds, struct ir3_shader_variant *gs, - struct ir3_shader_variant *fs, const struct ir3_cache_key *key); + void *data, const struct ir3_shader_variant *bs, /* binning pass vs */ + const struct ir3_shader_variant *vs, const struct ir3_shader_variant *hs, + const struct ir3_shader_variant *ds, const struct ir3_shader_variant *gs, + const struct ir3_shader_variant *fs, const struct ir3_cache_key *key); void (*destroy_state)(void *data, struct ir3_program_state *state); }; |