diff options
author | Chia-I Wu <[email protected]> | 2013-05-29 14:39:17 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2013-06-07 11:13:14 +0800 |
commit | 3bc8289f49f6f1a7256c7d199d09d3753c10af3a (patch) | |
tree | 64c037d5dc1debe5764c2d7598dfda78fc920193 /src/gallium/drivers/ilo/ilo_state.c | |
parent | 6b14b392d04d8f1b43d565f65cdbd738b9f950a7 (diff) |
ilo: switch to ilo states for SOL stage
Define and use
struct ilo_so_state;
in ilo_context.
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_state.c')
-rw-r--r-- | src/gallium/drivers/ilo/ilo_state.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/gallium/drivers/ilo/ilo_state.c b/src/gallium/drivers/ilo/ilo_state.c index 75b87d872a5..76a82ac7a9c 100644 --- a/src/gallium/drivers/ilo/ilo_state.c +++ b/src/gallium/drivers/ilo/ilo_state.c @@ -785,15 +785,16 @@ ilo_set_stream_output_targets(struct pipe_context *pipe, if (!targets) num_targets = 0; - for (i = 0; i < num_targets; i++) { - pipe_so_target_reference(&ilo->stream_output_targets.targets[i], - targets[i]); - } - for (; i < ilo->stream_output_targets.num_targets; i++) - pipe_so_target_reference(&ilo->stream_output_targets.targets[i], NULL); + for (i = 0; i < num_targets; i++) + pipe_so_target_reference(&ilo->so.states[i], targets[i]); + + for (; i < ilo->so.count; i++) + pipe_so_target_reference(&ilo->so.states[i], NULL); + + ilo->so.count = num_targets; + ilo->so.append_bitmask = append_bitmask; - ilo->stream_output_targets.num_targets = num_targets; - ilo->stream_output_targets.append_bitmask = append_bitmask; + ilo->so.enabled = (ilo->so.count > 0); ilo->dirty |= ILO_DIRTY_STREAM_OUTPUT_TARGETS; } |