diff options
author | Nanley Chery <[email protected]> | 2016-02-10 16:53:57 -0800 |
---|---|---|
committer | Nanley Chery <[email protected]> | 2016-02-24 14:40:34 -0800 |
commit | 3eb476fa143f0c14d3e811ee6301ce7beb4e44f1 (patch) | |
tree | 26100e384e96aa96cef209890a60751208857c6d /src | |
parent | c95d5c5f6fbfe4a96276e67ed279562b33432fb5 (diff) |
i965: Enable tiled mem_copy with sRGB-formatted resources
RGBA8 and BGRA8 unorm formats are compatible with the various
mem_copy functions. Their sRGB counterparts are also compatible
because they're also color-renderable (of importance when the
specified resource is a readbuffer) and they share the same
physical layout.
Signed-off-by: Nanley Chery <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_tiled_memcpy.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_tiled_memcpy.c b/src/mesa/drivers/dri/i965/intel_tiled_memcpy.c index 2383401d14c..31354582964 100644 --- a/src/mesa/drivers/dri/i965/intel_tiled_memcpy.c +++ b/src/mesa/drivers/dri/i965/intel_tiled_memcpy.c @@ -757,7 +757,9 @@ bool intel_get_memcpy(mesa_format tiledFormat, GLenum format, *cpp = 1; *mem_copy = memcpy; } else if ((tiledFormat == MESA_FORMAT_B8G8R8A8_UNORM) || - (tiledFormat == MESA_FORMAT_B8G8R8X8_UNORM)) { + (tiledFormat == MESA_FORMAT_B8G8R8X8_UNORM) || + (tiledFormat == MESA_FORMAT_B8G8R8A8_SRGB) || + (tiledFormat == MESA_FORMAT_B8G8R8X8_SRGB)) { *cpp = 4; if (format == GL_BGRA) { *mem_copy = memcpy; @@ -766,7 +768,9 @@ bool intel_get_memcpy(mesa_format tiledFormat, GLenum format, : rgba8_copy_aligned_src; } } else if ((tiledFormat == MESA_FORMAT_R8G8B8A8_UNORM) || - (tiledFormat == MESA_FORMAT_R8G8B8X8_UNORM)) { + (tiledFormat == MESA_FORMAT_R8G8B8X8_UNORM) || + (tiledFormat == MESA_FORMAT_R8G8B8A8_SRGB) || + (tiledFormat == MESA_FORMAT_R8G8B8X8_SRGB)) { *cpp = 4; if (format == GL_BGRA) { /* Copying from RGBA to BGRA is the same as BGRA to RGBA so we can |