mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
radeonsi: Don't use anonymous struct trick in atom tracking
I'm somewhat impressed that current gccs will let you do this, but sufficiently old ones (including 4.4.7 in RHEL6) won't. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
cf93f86957
commit
74388dd24b
6 changed files with 10 additions and 10 deletions
|
|
@ -987,9 +987,9 @@ void si_init_all_descriptors(struct si_context *sctx)
|
|||
|
||||
si_init_sampler_views(sctx, &sctx->samplers[i].views, i);
|
||||
|
||||
sctx->atoms.const_buffers[i] = &sctx->const_buffers[i].desc.atom;
|
||||
sctx->atoms.rw_buffers[i] = &sctx->rw_buffers[i].desc.atom;
|
||||
sctx->atoms.sampler_views[i] = &sctx->samplers[i].views.desc.atom;
|
||||
sctx->atoms.s.const_buffers[i] = &sctx->const_buffers[i].desc.atom;
|
||||
sctx->atoms.s.rw_buffers[i] = &sctx->rw_buffers[i].desc.atom;
|
||||
sctx->atoms.s.sampler_views[i] = &sctx->samplers[i].views.desc.atom;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ void si_need_cs_space(struct si_context *ctx, unsigned num_dw,
|
|||
}
|
||||
|
||||
/* Count in framebuffer cache flushes at the end of CS. */
|
||||
num_dw += ctx->atoms.cache_flush->num_dw;
|
||||
num_dw += ctx->atoms.s.cache_flush->num_dw;
|
||||
|
||||
#if SI_TRACE_CS
|
||||
if (ctx->screen->b.trace_bo) {
|
||||
|
|
|
|||
|
|
@ -105,10 +105,10 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen, void *
|
|||
|
||||
/* Initialize cache_flush. */
|
||||
sctx->cache_flush = si_atom_cache_flush;
|
||||
sctx->atoms.cache_flush = &sctx->cache_flush;
|
||||
sctx->atoms.s.cache_flush = &sctx->cache_flush;
|
||||
|
||||
sctx->atoms.streamout_begin = &sctx->b.streamout.begin_atom;
|
||||
sctx->atoms.streamout_enable = &sctx->b.streamout.enable_atom;
|
||||
sctx->atoms.s.streamout_begin = &sctx->b.streamout.begin_atom;
|
||||
sctx->atoms.s.streamout_enable = &sctx->b.streamout.enable_atom;
|
||||
|
||||
switch (sctx->b.chip_class) {
|
||||
case SI:
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ struct si_context {
|
|||
struct r600_atom *streamout_begin;
|
||||
struct r600_atom *streamout_enable; /* must be after streamout_begin */
|
||||
struct r600_atom *framebuffer;
|
||||
};
|
||||
} s;
|
||||
struct r600_atom *array[0];
|
||||
} atoms;
|
||||
|
||||
|
|
|
|||
|
|
@ -2962,7 +2962,7 @@ void si_init_state_functions(struct si_context *sctx)
|
|||
{
|
||||
int i;
|
||||
|
||||
si_init_atom(&sctx->framebuffer.atom, &sctx->atoms.framebuffer, si_emit_framebuffer_state, 0);
|
||||
si_init_atom(&sctx->framebuffer.atom, &sctx->atoms.s.framebuffer, si_emit_framebuffer_state, 0);
|
||||
|
||||
sctx->b.b.create_blend_state = si_create_blend_state;
|
||||
sctx->b.b.bind_blend_state = si_bind_blend_state;
|
||||
|
|
|
|||
|
|
@ -964,7 +964,7 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
|
|||
|
||||
/* Check flush flags. */
|
||||
if (sctx->b.flags)
|
||||
sctx->atoms.cache_flush->dirty = true;
|
||||
sctx->atoms.s.cache_flush->dirty = true;
|
||||
|
||||
si_need_cs_space(sctx, 0, TRUE);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue