[Mesa-dev] [PATCH 2/2] i965/blorp: Make BlitFramebuffer() do sRGB encoding in ES 3.x.
Pohjolainen, Topi
topi.pohjolainen at intel.com
Mon Mar 21 07:03:25 UTC 2016
On Fri, Mar 18, 2016 at 04:51:05PM -0700, Kenneth Graunke wrote:
> According to the ES 3.0 and GL 4.4 specifications, glBlitFramebuffer
> is supposed to perform sRGB decoding and encoding whenever sRGB formats
> are in use. The ES 3.0 specification is completely clear, and has
> always stated this.
>
> However, the GL specification has changed behavior in 4.1, 4.2, and
> 4.4. The original behavior stated that no sRGB encoding should occur.
> The 4.4 behavior matches ES 3.0's wording. However, implementing the
> new behavior appears to break applications such as Left 4 Dead 2.
>
> This patch changes Meta to apply the ES 3.x rules in ES 3.x, but
> leaves OpenGL alone for now, to avoid breaking applications.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
> src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> index df5d7ac..f8b48f5 100644
> --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> @@ -21,6 +21,7 @@
> * IN THE SOFTWARE.
> */
>
> +#include "main/context.h"
> #include "main/teximage.h"
> #include "main/fbobject.h"
>
> @@ -121,6 +122,8 @@ do_blorp_blit(struct brw_context *brw, GLbitfield buffer_bit,
> struct intel_mipmap_tree *src_mt = find_miptree(buffer_bit, src_irb);
> struct intel_mipmap_tree *dst_mt = find_miptree(buffer_bit, dst_irb);
>
> + bool es3 = _mesa_is_gles3(&brw->ctx);
Could be const. Either way both patches are:
Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
> +
> /* Do the blit */
> brw_blorp_blit_miptrees(brw,
> src_mt, src_irb->mt_level, src_irb->mt_layer,
> @@ -130,7 +133,7 @@ do_blorp_blit(struct brw_context *brw, GLbitfield buffer_bit,
> srcX0, srcY0, srcX1, srcY1,
> dstX0, dstY0, dstX1, dstY1,
> filter, mirror_x, mirror_y,
> - false, false);
> + es3, es3);
>
> dst_irb->need_downsample = true;
> }
> --
> 2.7.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list