projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
glsl_to_tgsi: make assignment hack safer
[mesa.git]
/
src
/
mesa
/
state_tracker
/
st_atom_viewport.c
diff --git
a/src/mesa/state_tracker/st_atom_viewport.c
b/src/mesa/state_tracker/st_atom_viewport.c
index 0b6c34ca2cbec9ac7d919e2faf7a683677e3d779..133cc49eaf05798b34d7d15dee18e595c261dd87 100644
(file)
--- a/
src/mesa/state_tracker/st_atom_viewport.c
+++ b/
src/mesa/state_tracker/st_atom_viewport.c
@@
-41,16
+41,20
@@
static void
update_viewport( struct st_context *st )
{
static void
update_viewport( struct st_context *st )
{
-
GL
context *ctx = st->ctx;
+
struct gl_
context *ctx = st->ctx;
GLfloat yScale, yBias;
/* _NEW_BUFFERS
*/
if (st_fb_orientation(ctx->DrawBuffer) == Y_0_TOP) {
GLfloat yScale, yBias;
/* _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 {
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;
}
yScale = 1.0;
yBias = 0.0;
}