summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-01-21 21:23:48 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:05 -0800
commitdf401aaa11eeab91ada100c44ec9a1c4f3963978 (patch)
treea9c5392a69742491c924dad22f07e244ab71dd80 /src
parentdc4453d886189875cd0e0c358ce92816755e1a47 (diff)
iris: scissor slots
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/iris/iris_state.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index 9082b6154f2..8e49312f58d 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -923,15 +923,14 @@ static void
iris_set_scissor_states(struct pipe_context *ctx,
unsigned start_slot,
unsigned num_scissors,
- const struct pipe_scissor_state *state)
+ const struct pipe_scissor_state *states)
{
struct iris_context *ice = (struct iris_context *) ctx;
- // XXX: start_slot
ice->state.num_scissors = num_scissors;
- for (unsigned i = start_slot; i < start_slot + num_scissors; i++) {
- ice->state.scissors[i] = *state;
+ for (unsigned i = 0; i < num_scissors; i++) {
+ ice->state.scissors[start_slot + i] = states[i];
}
ice->state.dirty |= IRIS_DIRTY_SCISSOR_RECT;
@@ -1049,6 +1048,7 @@ iris_set_viewport_states(struct pipe_context *ctx,
struct iris_viewport_state *cso =
malloc(sizeof(struct iris_viewport_state));
+ // XXX: sf_cl_vp is only big enough for one slot, we don't iterate right
for (unsigned i = start_slot; i < start_slot + num_viewports; i++) {
float x_extent = extent_from_matrix(&state[i], 0);
float y_extent = extent_from_matrix(&state[i], 1);