diff options
author | Brian Paul <[email protected]> | 2011-01-21 17:34:42 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2011-01-22 18:33:35 -0700 |
commit | bd67962c5e8469062516da396e9c466a9446e00d (patch) | |
tree | b49cc431e660f2751075074124d7ba6ecf3cc907 | |
parent | bb770af3a59e5935c108c05ee45490fc5668d4a3 (diff) |
st/mesa: comments in update_viewport()
-rw-r--r-- | src/mesa/state_tracker/st_atom_viewport.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_atom_viewport.c b/src/mesa/state_tracker/st_atom_viewport.c index d10f1840df6..133cc49eaf0 100644 --- a/src/mesa/state_tracker/st_atom_viewport.c +++ b/src/mesa/state_tracker/st_atom_viewport.c @@ -47,10 +47,14 @@ update_viewport( struct st_context *st ) /* _NEW_BUFFERS */ if (st_fb_orientation(ctx->DrawBuffer) == Y_0_TOP) { + /* Drawing to a window. The corresponding gallium surface uses + * Y=0=TOP but OpenGL is Y=0=BOTTOM. So we need to invert the viewport. + */ yScale = -1; yBias = (GLfloat)ctx->DrawBuffer->Height; } else { + /* Drawing to an FBO where Y=0=BOTTOM, like OpenGL - don't invert */ yScale = 1.0; yBias = 0.0; } |