diff options
author | Marek Olšák <[email protected]> | 2014-06-18 02:46:49 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-07-18 01:58:59 +0200 |
commit | dd46841bc9685b48c972ebe5f5cf92770cf025fd (patch) | |
tree | 271fad13df6b5cc05ba96cab0ac78349de18cdd9 /src/gallium/drivers/radeonsi/si_blit.c | |
parent | 2a7b57ad4269e7267922ff695a57b9a2ce413a06 (diff) |
radeonsi: move sampler descriptors from IB to memory
Sampler descriptors are now represented by si_descriptors.
This also adds support for fine-grained sampler state updates and
the border color update is now isolated in a separate function.
Border colors have been broken if texturing from multiple shader stages is
used. This patch doesn't change that.
BTW, blitting already makes use of fine-grained state updates.
u_blitter uses 2 textures at most, so we only have to save 2.
Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_blit.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_blit.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c index 072024aa323..a76d9052494 100644 --- a/src/gallium/drivers/radeonsi/si_blit.c +++ b/src/gallium/drivers/radeonsi/si_blit.c @@ -71,8 +71,8 @@ static void si_blitter_begin(struct pipe_context *ctx, enum si_blitter_op op) if (op & SI_SAVE_TEXTURES) { util_blitter_save_fragment_sampler_states( - sctx->blitter, sctx->samplers[PIPE_SHADER_FRAGMENT].n_samplers, - (void**)sctx->samplers[PIPE_SHADER_FRAGMENT].samplers); + sctx->blitter, 2, + sctx->samplers[PIPE_SHADER_FRAGMENT].states.saved_states); util_blitter_save_fragment_sampler_views(sctx->blitter, util_last_bit(sctx->samplers[PIPE_SHADER_FRAGMENT].views.desc.enabled_mask & |