freedreno/a4xx: constify the shader variants

Most of the driver just needs read-only access, so constify..

Signed-off-by: Rob Clark <robclark@freedesktop.org>
This commit is contained in:
Rob Clark 2016-03-07 00:50:21 -05:00
parent d9395e4ed8
commit 5b955f09f7
4 changed files with 13 additions and 13 deletions

View file

@ -328,7 +328,7 @@ fd4_emit_vertex_bufs(struct fd_ringbuffer *ring, struct fd4_emit *emit)
int32_t i, j, last = -1;
uint32_t total_in = 0;
const struct fd_vertex_state *vtx = emit->vtx;
struct ir3_shader_variant *vp = fd4_emit_get_vp(emit);
const struct ir3_shader_variant *vp = fd4_emit_get_vp(emit);
unsigned vertex_regid = regid(63, 0);
unsigned instance_regid = regid(63, 0);
unsigned vtxcnt_regid = regid(63, 0);
@ -460,8 +460,8 @@ void
fd4_emit_state(struct fd_context *ctx, struct fd_ringbuffer *ring,
struct fd4_emit *emit)
{
struct ir3_shader_variant *vp = fd4_emit_get_vp(emit);
struct ir3_shader_variant *fp = fd4_emit_get_fp(emit);
const struct ir3_shader_variant *vp = fd4_emit_get_vp(emit);
const struct ir3_shader_variant *fp = fd4_emit_get_fp(emit);
uint32_t dirty = emit->dirty;
emit_marker(ring, 5);

View file

@ -59,7 +59,7 @@ struct fd4_emit {
bool no_decode_srgb;
/* cached to avoid repeated lookups of same variants: */
struct ir3_shader_variant *vp, *fp;
const struct ir3_shader_variant *vp, *fp;
/* TODO: other shader stages.. */
};
@ -70,7 +70,7 @@ static inline enum a4xx_color_fmt fd4_emit_format(struct pipe_surface *surf)
return fd4_pipe2color(surf->format);
}
static inline struct ir3_shader_variant *
static inline const struct ir3_shader_variant *
fd4_emit_get_vp(struct fd4_emit *emit)
{
if (!emit->vp) {
@ -80,7 +80,7 @@ fd4_emit_get_vp(struct fd4_emit *emit)
return emit->vp;
}
static inline struct ir3_shader_variant *
static inline const struct ir3_shader_variant *
fd4_emit_get_fp(struct fd4_emit *emit)
{
if (!emit->fp) {

View file

@ -462,7 +462,7 @@ ir3_shader_disasm(struct ir3_shader_variant *so, uint32_t *bin)
#include "freedreno_resource.h"
static void
emit_user_consts(struct fd_context *ctx, struct ir3_shader_variant *v,
emit_user_consts(struct fd_context *ctx, const struct ir3_shader_variant *v,
struct fd_ringbuffer *ring, struct fd_constbuf_stateobj *constbuf)
{
const unsigned index = 0; /* user consts are index 0 */
@ -500,7 +500,7 @@ emit_user_consts(struct fd_context *ctx, struct ir3_shader_variant *v,
}
static void
emit_ubos(struct fd_context *ctx, struct ir3_shader_variant *v,
emit_ubos(struct fd_context *ctx, const struct ir3_shader_variant *v,
struct fd_ringbuffer *ring, struct fd_constbuf_stateobj *constbuf)
{
uint32_t offset = v->first_driver_param + IR3_UBOS_OFF;
@ -529,7 +529,7 @@ emit_ubos(struct fd_context *ctx, struct ir3_shader_variant *v,
}
static void
emit_immediates(struct fd_context *ctx, struct ir3_shader_variant *v,
emit_immediates(struct fd_context *ctx, const struct ir3_shader_variant *v,
struct fd_ringbuffer *ring)
{
int size = v->immediates_count;
@ -553,7 +553,7 @@ emit_immediates(struct fd_context *ctx, struct ir3_shader_variant *v,
/* emit stream-out buffers: */
static void
emit_tfbos(struct fd_context *ctx, struct ir3_shader_variant *v,
emit_tfbos(struct fd_context *ctx, const struct ir3_shader_variant *v,
struct fd_ringbuffer *ring)
{
/* streamout addresses after driver-params: */
@ -584,7 +584,7 @@ emit_tfbos(struct fd_context *ctx, struct ir3_shader_variant *v,
}
static uint32_t
max_tf_vtx(struct fd_context *ctx, struct ir3_shader_variant *v)
max_tf_vtx(struct fd_context *ctx, const struct ir3_shader_variant *v)
{
struct fd_streamout_stateobj *so = &ctx->streamout;
struct pipe_stream_output_info *info = &v->shader->stream_output;
@ -629,7 +629,7 @@ max_tf_vtx(struct fd_context *ctx, struct ir3_shader_variant *v)
}
void
ir3_emit_consts(struct ir3_shader_variant *v, struct fd_ringbuffer *ring,
ir3_emit_consts(const struct ir3_shader_variant *v, struct fd_ringbuffer *ring,
struct fd_context *ctx, const struct pipe_draw_info *info, uint32_t dirty)
{
if (dirty & (FD_DIRTY_PROG | FD_DIRTY_CONSTBUF)) {

View file

@ -258,7 +258,7 @@ void ir3_shader_disasm(struct ir3_shader_variant *so, uint32_t *bin);
struct fd_ringbuffer;
struct fd_context;
void ir3_emit_consts(struct ir3_shader_variant *v, struct fd_ringbuffer *ring,
void ir3_emit_consts(const struct ir3_shader_variant *v, struct fd_ringbuffer *ring,
struct fd_context *ctx, const struct pipe_draw_info *info, uint32_t dirty);
static inline const char *