diff options
author | Michel Dänzer <[email protected]> | 2013-05-15 18:09:50 +0200 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2013-05-21 17:50:13 +0200 |
commit | e3befbca5ed9f22effcdc91c5886c86b644bc190 (patch) | |
tree | 9abbd7a7e34a67fe8cd553d441fdf6f59dc1a870 /src/gallium/drivers/radeonsi/si_state.c | |
parent | eb19163a4dd3d7bfeed63229820c926f99ed00d9 (diff) |
radeonsi: Handle TGSI_SEMANTIC_CLIPVERTEX
17 more little piglits.
NOTE: This is a candidate for the 9.1 branch.
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index de86b1e38de..dec535ca597 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -237,6 +237,7 @@ static void si_set_clip_state(struct pipe_context *ctx, { struct r600_context *rctx = (struct r600_context *)ctx; struct si_pm4_state *pm4 = CALLOC_STRUCT(si_pm4_state); + struct pipe_constant_buffer cb; if (pm4 == NULL) return; @@ -252,6 +253,13 @@ static void si_set_clip_state(struct pipe_context *ctx, fui(state->ucp[i][3])); } + cb.buffer = NULL; + cb.user_buffer = state->ucp; + cb.buffer_offset = 0; + cb.buffer_size = 4*4*8; + ctx->set_constant_buffer(ctx, PIPE_SHADER_VERTEX, 1, &cb); + pipe_resource_reference(&cb.buffer, NULL); + si_pm4_set_state(rctx, clip, pm4); } @@ -387,6 +395,7 @@ static void *si_create_rs_state(struct pipe_context *ctx, } rs->two_side = state->light_twoside; + rs->clip_plane_enable = state->clip_plane_enable; polygon_dual_mode = (state->fill_front != PIPE_POLYGON_MODE_FILL || state->fill_back != PIPE_POLYGON_MODE_FILL); @@ -484,7 +493,6 @@ static void si_bind_rs_state(struct pipe_context *ctx, void *state) rctx->sprite_coord_enable = rs->sprite_coord_enable; rctx->pa_sc_line_stipple = rs->pa_sc_line_stipple; rctx->pa_su_sc_mode_cntl = rs->pa_su_sc_mode_cntl; - rctx->pa_cl_clip_cntl = rs->pa_cl_clip_cntl; si_pm4_bind_state(rctx, rasterizer, rs); si_update_fb_rs_state(rctx); |