diff options
author | Anuj Phogat <[email protected]> | 2015-06-05 19:18:19 -0700 |
---|---|---|
committer | Anuj Phogat <[email protected]> | 2015-06-29 13:16:13 -0700 |
commit | 7f282d05a11e0c29bddc1fac8c7028c7e823234f (patch) | |
tree | 78b67791d584a68b657c745371fff29cc7a56555 /src/mesa/main/blit.c | |
parent | 69ee316c1daf93b4a53b1c02301ffe9df9598d28 (diff) |
mesa: Add a new helper function _mesa_regions_overlap()
Signed-off-by: Anuj Phogat <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mesa/main/blit.c')
-rw-r--r-- | src/mesa/main/blit.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/mesa/main/blit.c b/src/mesa/main/blit.c index db8fee5a414..4765198d63a 100644 --- a/src/mesa/main/blit.c +++ b/src/mesa/main/blit.c @@ -37,6 +37,7 @@ #include "framebuffer.h" #include "glformats.h" #include "mtypes.h" +#include "macros.h" #include "state.h" @@ -59,6 +60,31 @@ find_attachment(const struct gl_framebuffer *fb, /** + * \return true if two regions overlap, false otherwise + */ +bool +_mesa_regions_overlap(int srcX0, int srcY0, + int srcX1, int srcY1, + int dstX0, int dstY0, + int dstX1, int dstY1) +{ + if (MAX2(srcX0, srcX1) < MIN2(dstX0, dstX1)) + return false; /* dst completely right of src */ + + if (MAX2(dstX0, dstX1) < MIN2(srcX0, srcX1)) + return false; /* dst completely left of src */ + + if (MAX2(srcY0, srcY1) < MIN2(dstY0, dstY1)) + return false; /* dst completely above src */ + + if (MAX2(dstY0, dstY1) < MIN2(srcY0, srcY1)) + return false; /* dst completely below src */ + + return true; /* some overlap */ +} + + +/** * Helper function for checking if the datatypes of color buffers are * compatible for glBlitFramebuffer. From the 3.1 spec, page 198: * |