cso: remove clip state handling
There is no need for this. v2: handle redundant clip state changes in st/mesa
This commit is contained in:
parent
b7492a1f45
commit
4ef7d93a94
|
@ -111,9 +111,6 @@ struct cso_context {
|
|||
uint render_condition_mode, render_condition_mode_saved;
|
||||
boolean render_condition_cond, render_condition_cond_saved;
|
||||
|
||||
struct pipe_clip_state clip;
|
||||
struct pipe_clip_state clip_saved;
|
||||
|
||||
struct pipe_framebuffer_state fb, fb_saved;
|
||||
struct pipe_viewport_state vp, vp_saved;
|
||||
struct pipe_blend_color blend_color;
|
||||
|
@ -910,47 +907,6 @@ void cso_restore_tesseval_shader(struct cso_context *ctx)
|
|||
ctx->tesseval_shader_saved = NULL;
|
||||
}
|
||||
|
||||
/* clip state */
|
||||
|
||||
static inline void
|
||||
clip_state_cpy(struct pipe_clip_state *dst,
|
||||
const struct pipe_clip_state *src)
|
||||
{
|
||||
memcpy(dst->ucp, src->ucp, sizeof(dst->ucp));
|
||||
}
|
||||
|
||||
static inline int
|
||||
clip_state_cmp(const struct pipe_clip_state *a,
|
||||
const struct pipe_clip_state *b)
|
||||
{
|
||||
return memcmp(a->ucp, b->ucp, sizeof(a->ucp));
|
||||
}
|
||||
|
||||
void
|
||||
cso_set_clip(struct cso_context *ctx,
|
||||
const struct pipe_clip_state *clip)
|
||||
{
|
||||
if (clip_state_cmp(&ctx->clip, clip)) {
|
||||
clip_state_cpy(&ctx->clip, clip);
|
||||
ctx->pipe->set_clip_state(ctx->pipe, clip);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
cso_save_clip(struct cso_context *ctx)
|
||||
{
|
||||
clip_state_cpy(&ctx->clip_saved, &ctx->clip);
|
||||
}
|
||||
|
||||
void
|
||||
cso_restore_clip(struct cso_context *ctx)
|
||||
{
|
||||
if (clip_state_cmp(&ctx->clip, &ctx->clip_saved)) {
|
||||
clip_state_cpy(&ctx->clip, &ctx->clip_saved);
|
||||
ctx->pipe->set_clip_state(ctx->pipe, &ctx->clip_saved);
|
||||
}
|
||||
}
|
||||
|
||||
enum pipe_error
|
||||
cso_set_vertex_elements(struct cso_context *ctx,
|
||||
unsigned count,
|
||||
|
|
|
@ -188,19 +188,6 @@ void cso_save_render_condition(struct cso_context *cso);
|
|||
void cso_restore_render_condition(struct cso_context *cso);
|
||||
|
||||
|
||||
/* clip state */
|
||||
|
||||
void
|
||||
cso_set_clip(struct cso_context *cso,
|
||||
const struct pipe_clip_state *clip);
|
||||
|
||||
void
|
||||
cso_save_clip(struct cso_context *cso);
|
||||
|
||||
void
|
||||
cso_restore_clip(struct cso_context *cso);
|
||||
|
||||
|
||||
/* sampler view state */
|
||||
|
||||
void
|
||||
|
|
|
@ -59,8 +59,11 @@ static void update_clip( struct st_context *st )
|
|||
memcpy(clip.ucp,
|
||||
use_eye ? ctx->Transform.EyeUserPlane
|
||||
: ctx->Transform._ClipUserPlane, sizeof(clip.ucp));
|
||||
st->state.clip = clip;
|
||||
cso_set_clip(st->cso_context, &clip);
|
||||
|
||||
if (memcmp(&st->state.clip, &clip, sizeof(clip)) != 0) {
|
||||
st->state.clip = clip;
|
||||
st->pipe->set_clip_state(st->pipe, &clip);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue