Implement EXT_texture_sRGB_decode. This builds on the existing functionality from EXT_texture_sRGB_override, with 2 major edge cases: 1. sRGB_decode allows the texture state to be overridden by sampler state, which is implemented by forcing a a texture state sync during updateActiveTextures if a texture is bound to the same unit as a sampler with that state 2. texelFetch calls require us to reenable decoding, regardless of decode state. We add a new compiler pass (FlagSamplersWithTexelFetch) to mark samplers that are used with texelFetch in order to support this. This change also re-enables EXT_texture_sRGB_R8, which was disabled due to a dEQP bug that this change will bypass. Bug: angleproject:3609 Bug: angleproject:4503 Test: dEQP.GLES31/functional_srgb_texture_decode_skip_decode_* Test: GLES31/functional_state_query_texture_*_srgb_decode_* Test: GLES31/functional_state_query_sampler_*_srgb_decode_* Test: GLES31/functional_debug_negative_coverage_*_srgb_decode_* Test: GLES31/functional_android_extension_pack_extensions_ext_texture_srgb_decode Test: angle_end2end_tests --gtest_filter=SRGBTextureTest.*Vulkan* Change-Id: I4a67e487dc82e2f57c8c87d4bcd8ef442b6fe220 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359481 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Tim Van Patten <timvp@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| fuchsia_egl | Loading commit data... | |
| third_party | Loading commit data... | |
| vulkan | Loading commit data... | |
| Color.h | Loading commit data... | |
| Color.inc | Loading commit data... | |
| FastVector.h | Loading commit data... | |
| FastVector_unittest.cpp | Loading commit data... | |
| FixedVector.h | Loading commit data... | |
| FixedVector_unittest.cpp | Loading commit data... | |
| Float16ToFloat32.cpp | Loading commit data... | |
| Float16ToFloat32.py | Loading commit data... | |
| MemoryBuffer.cpp | Loading commit data... | |
| MemoryBuffer.h | Loading commit data... | |
| Optional.h | Loading commit data... | |
| Optional_unittest.cpp | Loading commit data... | |
| PackedEGLEnums_autogen.cpp | Loading commit data... | |
| PackedEGLEnums_autogen.h | Loading commit data... | |
| PackedEnums.cpp | Loading commit data... | |
| PackedEnums.h | Loading commit data... | |
| PackedGLEnums_autogen.cpp | Loading commit data... | |
| PackedGLEnums_autogen.h | Loading commit data... | |
| PoolAlloc.cpp | Loading commit data... | |
| PoolAlloc.h | Loading commit data... | |
| PoolAlloc_unittest.cpp | Loading commit data... | |
| aligned_memory.cpp | Loading commit data... | |
| aligned_memory.h | Loading commit data... | |
| aligned_memory_unittest.cpp | Loading commit data... | |
| android_util.cpp | Loading commit data... | |
| android_util.h | Loading commit data... | |
| angle_version.h | Loading commit data... | |
| angleutils.cpp | Loading commit data... | |
| angleutils.h | Loading commit data... | |
| angleutils_unittest.cpp | Loading commit data... | |
| apple_platform_utils.h | Loading commit data... | |
| bitset_utils.h | Loading commit data... | |
| bitset_utils_unittest.cpp | Loading commit data... | |
| debug.cpp | Loading commit data... | |
| debug.h | Loading commit data... | |
| entry_points_enum_autogen.cpp | Loading commit data... | |
| entry_points_enum_autogen.h | Loading commit data... | |
| event_tracer.cpp | Loading commit data... | |
| event_tracer.h | Loading commit data... | |
| gen_packed_gl_enums.py | Loading commit data... | |
| gen_uniform_type_table.py | Loading commit data... | |
| hash_utils.h | Loading commit data... | |
| hash_utils_unittest.cpp | Loading commit data... | |
| mathutil.cpp | Loading commit data... | |
| mathutil.h | Loading commit data... | |
| mathutil_unittest.cpp | Loading commit data... | |
| matrix_utils.cpp | Loading commit data... | |
| matrix_utils.h | Loading commit data... | |
| matrix_utils_unittest.cpp | Loading commit data... | |
| packed_egl_enums.json | Loading commit data... | |
| packed_gl_enums.json | Loading commit data... | |
| platform.h | Loading commit data... | |
| string_utils.cpp | Loading commit data... | |
| string_utils.h | Loading commit data... | |
| string_utils_unittest.cpp | Loading commit data... | |
| system_utils.cpp | Loading commit data... | |
| system_utils.h | Loading commit data... | |
| system_utils_linux.cpp | Loading commit data... | |
| system_utils_mac.cpp | Loading commit data... | |
| system_utils_posix.cpp | Loading commit data... | |
| system_utils_unittest.cpp | Loading commit data... | |
| system_utils_win.cpp | Loading commit data... | |
| system_utils_win32.cpp | Loading commit data... | |
| system_utils_winuwp.cpp | Loading commit data... | |
| tls.cpp | Loading commit data... | |
| tls.h | Loading commit data... | |
| uniform_type_info_autogen.cpp | Loading commit data... | |
| utilities.cpp | Loading commit data... | |
| utilities.h | Loading commit data... | |
| utilities_unittest.cpp | Loading commit data... | |
| vector_utils.h | Loading commit data... | |
| vector_utils_unittest.cpp | Loading commit data... | |
| version.h | Loading commit data... |