src/tests/gl_tests/ShadowSamplerFunctionsTest.cpp


Log

Author Commit Date CI Message
Sungyong Choi 119ffd44 2025-08-13T16:07:52 Fix -Wreturn-type in ShadowSamplerFunctionsTest::FunctionName Add UNREACHABLE() and a fallback return to ensure the non-void function always returns when switch does not cover all enum values. BUG: angleproject:438226513 Change-Id: I3904dd59b323b90930d9251b060ab7067ff412c7 Signed-off-by: Sungyong Choi <sywow.choi@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845486 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev cd10ad46 2024-09-30T00:00:00 Metal: Rework allowSamplerCompareGradient feature * AMD drivers may fail when a sample_compare function is used with explicit derivatives. To avoid such failures, the effective level is computed from the texture size, passed derivatives, and texture coordinates, if needed. The level value is then used for sample_compare instead of the explicit derivatives. * Apple2 GPUs do not support setting texture sampler compare state via Metal API. As a result, all sample_compare functions including those without LOD options do not work on Apple2 GPUs. This feature was attempting to incorrectly emulate a subset of sample_compare functions with a hard-coded compare state. There are no plans to support shadow samplers on Apple2 GPUs, as it would require non-trivial emulation, so this feature is no longer relevant for that platform. * Metal on macOS 10.15 only supports constant zero as the level parameter for sample_compare functions. Ignoring the passed derivatives and using zero LOD on old OS versions is a better fallback than dropping the derivatives altogether because many applications use the derivatives to set the level to zero anyway. Bug: angleproject:365066518 Bug: angleproject:368059227 Change-Id: I4028421b785ae49328b72658e0a9783275461779 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5903970 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 6d58359b 2024-09-12T00:00:00 Add shadow sampler LOD tests for cubemap arrays Added tests for GLSL 3.10 shadow samplers in fragment shaders with TEXTURE_CUBE_MAP_ARRAY target (with an extension). Bug: angleproject:365066518 Change-Id: I0d47b0af24383177d428ebace045e77f5563593c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5866449 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev b5280aa3 2024-09-12T00:00:00 Add shadow sampler LOD tests for cubemaps Added tests for GLSL 3.00 shadow samplers in fragment shaders with TEXTURE_CUBE_MAP target. Bug: angleproject:365066518 Change-Id: I2b8577310ea5c258d4d13611607f5c4d9be57e04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5865112 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 9decad75 2024-09-12T00:00:00 Add shadow sampler LOD tests for 2D arrays Added tests for GLSL 3.00 shadow samplers in fragment shaders with TEXTURE_2D_ARRAY target. Bug: angleproject:365066518 Change-Id: Iab68d7de6709e470ae6a4cd7d94682b454ed2880 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5861427 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev e90de4b2 2024-09-05T00:00:00 Add shadow sampler LOD tests Added tests for GLSL 3.00 shadow samplers in fragment shaders with TEXTURE_2D target. Bug: angleproject:365066518 Change-Id: I5b93d030cd14a388541acaff9f7a707ad599dba3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5845491 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>