aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_cb_blit.c
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-06-11 16:52:17 -0400
committerIlia Mirkin <[email protected]>2016-06-18 13:38:30 -0400
commitd1bdc1238a39469e6760758876e8832019795a54 (patch)
tree2df6f5e0242f36cff0168f8ac1b85b071672ee7d /src/mesa/state_tracker/st_cb_blit.c
parent07fcb06fe0220a51ad20b6b8a70512071999182c (diff)
st/mesa: add support for GL_EXT_window_rectangles
Make sure to pass the requisite information in draws, blits, and clears that work on the context's draw buffer. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_cb_blit.c')
-rw-r--r--src/mesa/state_tracker/st_cb_blit.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_cb_blit.c b/src/mesa/state_tracker/st_cb_blit.c
index a05a5aff4c6..be0b1030996 100644
--- a/src/mesa/state_tracker/st_cb_blit.c
+++ b/src/mesa/state_tracker/st_cb_blit.c
@@ -40,6 +40,7 @@
#include "st_cb_blit.h"
#include "st_cb_fbo.h"
#include "st_manager.h"
+#include "st_scissor.h"
#include "util/u_format.h"
@@ -117,6 +118,7 @@ st_BlitFramebuffer(struct gl_context *ctx,
&clip.dstX0, &clip.dstY0, &clip.dstX1, &clip.dstY1)) {
return; /* nothing to draw/blit */
}
+ memset(&blit, 0, sizeof(struct pipe_blit_info));
blit.scissor_enable =
(dstX0 != clip.dstX0) ||
(dstY0 != clip.dstY0) ||
@@ -190,6 +192,9 @@ st_BlitFramebuffer(struct gl_context *ctx,
blit.src.box.height = srcY0 - srcY1;
}
+ if (drawFB != ctx->WinSysDrawBuffer)
+ st_window_rectangles_to_blit(ctx, &blit);
+
blit.filter = pFilter;
blit.render_condition_enable = TRUE;
blit.alpha_blend = FALSE;