Hash :
b480ba30
Author :
Date :
2023-09-18T17:30:09
CopySubTexture: Fix premultiplied alpha When copying from an sRGB texture to a non-sRGB texture, un-do the sRGB-to-linear transform independently of the premultiply vs unpremultiply properties of the texture. The sRGB-to-linear transform performed during sampling is performed on the RGB part of the pixel, independent of the alpha channel's value. Un-do this part immediately before examining the alpha channel's value (and its premultiply vs unpremultiply state). Bug: angleproject:7907 Change-Id: I50c8f56182a46957febcd1f7b7887b0956074bb8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4872047 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: ccameron chromium <ccameron@chromium.org>
{
"src/libANGLE/renderer/angle_format.py":
"601bfb757e052c50ac8f4cb4e0b58eb5",
"src/libANGLE/renderer/angle_format_map.json":
"eab6744df71f7bf6bfe9e8bb39949b79",
"src/libANGLE/renderer/gen_angle_format_table.py":
"2ec32d6ad86d2dece50bc7db3cd0d807",
"src/libANGLE/renderer/metal/shaders/blit.metal":
"103dfa7c302b03719a36709f9cfa9462",
"src/libANGLE/renderer/metal/shaders/clear.metal":
"37ef05208eb5d12110a7d277a4bbcbe1",
"src/libANGLE/renderer/metal/shaders/common.h":
"bf58ee7fa32143c7eec4fb12218c08bf",
"src/libANGLE/renderer/metal/shaders/constants.h":
"dad1a869a1095be669b7da5651901d38",
"src/libANGLE/renderer/metal/shaders/copy_buffer.metal":
"8a93eae194831f99493e290aa2ec6723",
"src/libANGLE/renderer/metal/shaders/gen_indices.metal":
"b46a137083fb55a3dd2a392494dcf972",
"src/libANGLE/renderer/metal/shaders/gen_mipmap.metal":
"fab35deec42fd89ae7a11d2f87b6e0b4",
"src/libANGLE/renderer/metal/shaders/gen_mtl_internal_shaders.py":
"35717adb82858bca41bc931284845805",
"src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_autogen.metal":
"652efddc19c31a34cd8e3ff156e693d8",
"src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_ios_autogen.h":
"a96315520cfb44b9487c11e100384a67",
"src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_macos_autogen.h":
"d99f2a5c5224ed02256e93f620e4f6e9",
"src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_src_autogen.h":
"483dd9b737eef0d3556f6ee5b840f6f3",
"src/libANGLE/renderer/metal/shaders/rewrite_indices.metal":
"a29210b023ed3393e1342d94e338d449",
"src/libANGLE/renderer/metal/shaders/visibility.metal":
"b82aa740cf4b0aed606aacef1024beea"
}