diff options
author | Anuj Phogat <[email protected]> | 2015-06-11 16:48:26 -0700 |
---|---|---|
committer | Anuj Phogat <[email protected]> | 2015-07-24 10:48:58 -0700 |
commit | c59c0f8a42652603da7f89e3270897cb685fe76b (patch) | |
tree | 3a02959f53682d65f20e73d118a8c39459b1dfed | |
parent | 9fff00d387cacf7820c344324820cab764541762 (diff) |
mesa: Add a helper function _mesa_need_luminance_to_rgb_conversion()
Cc: <[email protected]>
Signed-off-by: Anuj Phogat <[email protected]>
Reviewed-by: Iago Toral Quiroga <[email protected]>
-rw-r--r-- | src/mesa/main/readpix.c | 18 | ||||
-rw-r--r-- | src/mesa/main/readpix.h | 4 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c index 25a09873fe0..ac46f7e47de 100644 --- a/src/mesa/main/readpix.c +++ b/src/mesa/main/readpix.c @@ -60,6 +60,24 @@ _mesa_need_rgb_to_luminance_conversion(mesa_format texFormat, GLenum format) format == GL_LUMINANCE_ALPHA_INTEGER_EXT); } +/** + * Return true if the conversion L,I to RGB conversion is needed. + */ +GLboolean +_mesa_need_luminance_to_rgb_conversion(GLenum srcBaseFormat, + GLenum dstBaseFormat) +{ + return (srcBaseFormat == GL_LUMINANCE || + srcBaseFormat == GL_LUMINANCE_ALPHA || + srcBaseFormat == GL_INTENSITY) && + (dstBaseFormat == GL_GREEN || + dstBaseFormat == GL_BLUE || + dstBaseFormat == GL_RG || + dstBaseFormat == GL_RGB || + dstBaseFormat == GL_BGR || + dstBaseFormat == GL_RGBA || + dstBaseFormat == GL_BGRA); +} /** * Return transfer op flags for this ReadPixels operation. diff --git a/src/mesa/main/readpix.h b/src/mesa/main/readpix.h index f8940361fb4..41116e430ec 100644 --- a/src/mesa/main/readpix.h +++ b/src/mesa/main/readpix.h @@ -40,6 +40,10 @@ _mesa_readpixels_needs_slow_path(const struct gl_context *ctx, GLenum format, extern GLboolean _mesa_need_rgb_to_luminance_conversion(mesa_format texFormat, GLenum format); +extern GLboolean +_mesa_need_luminance_to_rgb_conversion(GLenum srcBaseFormat, + GLenum dstBaseFormat); + extern GLbitfield _mesa_get_readpixels_transfer_ops(const struct gl_context *ctx, mesa_format texFormat, |