summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_state.c
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2013-05-29 14:39:17 +0800
committerChia-I Wu <[email protected]>2013-06-07 11:13:14 +0800
commit3bc8289f49f6f1a7256c7d199d09d3753c10af3a (patch)
tree64c037d5dc1debe5764c2d7598dfda78fc920193 /src/gallium/drivers/ilo/ilo_state.c
parent6b14b392d04d8f1b43d565f65cdbd738b9f950a7 (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.c17
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;
}