diff options
author | Ilia Mirkin <[email protected]> | 2016-06-11 16:52:17 -0400 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2016-06-18 13:38:30 -0400 |
commit | d1bdc1238a39469e6760758876e8832019795a54 (patch) | |
tree | 2df6f5e0242f36cff0168f8ac1b85b071672ee7d /src/mesa/state_tracker/st_cb_blit.c | |
parent | 07fcb06fe0220a51ad20b6b8a70512071999182c (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.c | 5 |
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; |