Hash :
05e9ec11
Author :
Date :
2023-11-23T00:00:00
Metal: Saturate floating-point depth textures on upload
Metal does not clamp uploaded floating-point
depth texture values to the normalized range.
Used a compute shader to enforce
the expected OpenGL ES semantics.
Fixed the following tests on Intel and Apple GPUs:
dEQP-GLES3.functional.texture.specification
.teximage2d_depth.depth_component32f
.teximage2d_depth.depth32f_stencil8
.teximage2d_depth_pbo.depth_component32f
.teximage2d_depth_pbo.depth32f_stencil8
.teximage3d_depth.depth_component32f_2d_array
.teximage3d_depth.depth32f_stencil8_2d_array
.teximage3d_depth_pbo.depth_component32f_2d_array
.teximage3d_depth_pbo.depth32f_stencil8_2d_array
.texsubimage2d_depth.depth_component32f
.texsubimage2d_depth.depth32f_stencil8
.texsubimage3d_depth.depth_component32f_2d_array
.texsubimage3d_depth.depth32f_stencil8_2d_array
Fixed: angleproject:8422
Fixed: angleproject:8426
Change-Id: I843024f098fef2fbca15e7b6124052681d05b6ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5062710
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
{
"src/libANGLE/renderer/angle_format.py":
"8269a72cc5629fb2544975b6c36c2bd4",
"src/libANGLE/renderer/angle_format_map.json":
"eab6744df71f7bf6bfe9e8bb39949b79",
"src/libANGLE/renderer/gen_angle_format_table.py":
"30485da3abcd7f100b459394dfe869a8",
"src/libANGLE/renderer/metal/shaders/blit.metal":
"9b3b7c24cd486c0987be24014f0ac427",
"src/libANGLE/renderer/metal/shaders/clear.metal":
"37ef05208eb5d12110a7d277a4bbcbe1",
"src/libANGLE/renderer/metal/shaders/common.h":
"6e3c16707cc78caebc79ab0a7807a397",
"src/libANGLE/renderer/metal/shaders/constants.h":
"dad1a869a1095be669b7da5651901d38",
"src/libANGLE/renderer/metal/shaders/copy_buffer.metal":
"c7cc90b1a034c0940952bdae86636169",
"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":
"5208b2c20cbe03a06aa6278b41aa654d",
"src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_autogen.metal":
"d4b35e15dcf7511ce2cdafa70f65682b",
"src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_src_autogen.h":
"5af0e8fa1777deb21b7878eb3ce71851",
"src/libANGLE/renderer/metal/shaders/rewrite_indices.metal":
"a29210b023ed3393e1342d94e338d449",
"src/libANGLE/renderer/metal/shaders/visibility.metal":
"b82aa740cf4b0aed606aacef1024beea"
}