st/mesa: use new cso_set_viewport_dims() helper

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
Brian Paul
2016-02-16 10:22:32 -07:00
parent f7af12ae85
commit 347b9418ac
3 changed files with 7 additions and 36 deletions

View File

@@ -267,19 +267,9 @@ setup_render_state(struct gl_context *ctx,
}
/* viewport state: viewport matching window dims */
{
const GLboolean invert = st->state.fb_orientation == Y_0_TOP;
const GLfloat width = (GLfloat)st->state.framebuffer.width;
const GLfloat height = (GLfloat)st->state.framebuffer.height;
struct pipe_viewport_state vp;
vp.scale[0] = 0.5f * width;
vp.scale[1] = height * (invert ? -0.5f : 0.5f);
vp.scale[2] = 0.5f;
vp.translate[0] = 0.5f * width;
vp.translate[1] = 0.5f * height;
vp.translate[2] = 0.5f;
cso_set_viewport(cso, &vp);
}
cso_set_viewport_dims(cso, st->state.framebuffer.width,
st->state.framebuffer.height,
st->state.fb_orientation == Y_0_TOP);
cso_set_vertex_elements(cso, 3, st->util_velems);

View File

@@ -277,17 +277,8 @@ clear_with_quad(struct gl_context *ctx, unsigned clear_buffers)
cso_set_rasterizer(cso, &st->clear.raster);
/* viewport state: viewport matching window dims */
{
const GLboolean invert = (st_fb_orientation(fb) == Y_0_TOP);
struct pipe_viewport_state vp;
vp.scale[0] = 0.5f * fb_width;
vp.scale[1] = fb_height * (invert ? -0.5f : 0.5f);
vp.scale[2] = 0.5f;
vp.translate[0] = 0.5f * fb_width;
vp.translate[1] = 0.5f * fb_height;
vp.translate[2] = 0.5f;
cso_set_viewport(cso, &vp);
}
cso_set_viewport_dims(st->cso_context, fb_width, fb_height,
st_fb_orientation(fb) == Y_0_TOP);
set_fragment_shader(st);
cso_set_tessctrl_shader_handle(cso, NULL);

View File

@@ -596,18 +596,8 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
}
/* viewport state: viewport matching window dims */
{
const float w = (float) ctx->DrawBuffer->Width;
const float h = (float) ctx->DrawBuffer->Height;
struct pipe_viewport_state vp;
vp.scale[0] = 0.5f * w;
vp.scale[1] = -0.5f * h;
vp.scale[2] = 0.5f;
vp.translate[0] = 0.5f * w;
vp.translate[1] = 0.5f * h;
vp.translate[2] = 0.5f;
cso_set_viewport(cso, &vp);
}
cso_set_viewport_dims(cso, ctx->DrawBuffer->Width,
ctx->DrawBuffer->Height, TRUE);
cso_set_vertex_elements(cso, 3, st->util_velems);
cso_set_stream_outputs(cso, 0, NULL, NULL);