|
25390156
|
2025-08-21T00:13:19
|
|
Suppress unsafe buffers on a file-by-file basis in src/ [1 of N]
In this CL, we suppress many files but stop short of actually
enabling the warning by not removing the line from the
unsafe_buffers_paths.txt file. That will happen in a follow-on
CL, along with resolving any stragglers missed here.
This is mostly a manual change so as to familiarize myself with
the kinds of issues faced by the Angle codebase when applying buffer
safety warnings.
-- Re-generate affected hashes.
-- Clang-format applied to all changed files.
-- Add a few missing .reserve() calls to vectors as noticed.
-- Fix some mismatches between file names and header comments.
-- Be more consistent with header comment format (blank lines and
trailing //-only lines when a filename comment adjoins license
boilerplate).
Bug: b/436880895
Change-Id: I3bde5cc2059acbe8345057289214f1a26f1c34aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6869022
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f48fcb46
|
2025-06-19T07:11:48
|
|
Revert "Metal: Wraparound int arithmetic for add, sub"
This reverts commit 2f6f0514563d81e439e04ba09eee9e8a1d6ca8d1.
Reason for revert: Leads to MSL compiler errors:
> error: non-const reference cannot bind to vector element
Bug: angleproject:382215759
Original change's description:
> Metal: Wraparound int arithmetic for add, sub
>
> Implement wraparound int arithmetic for
> int, ivec +, -, +=, -=, ++, --.
>
> All of the added tests pass also without the changes.
>
> Bug: angleproject:382215759
> Change-Id: I7605582ab2931e63010c34fba474797f7edd19f9
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578729
> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Bug: angleproject:382215759
Bug: chromium:425746892
Change-Id: I831d96c6ee7b8bcdeaa08fbf32d430def87a3c30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6656001
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
94ee620d
|
2025-05-22T10:07:05
|
|
Metal: Allow optimization of simple loops
Reimplement the feature to avoid undefined behavior of infinite loops.
Add EnsureLoopForwardProgress rewrite pass that inserts a volatile
variable access to all loops that it cannot analyze as being finite.
Detect loops of form `for (; i <op> x; ++i)` as being finite.
The <op> can be any of <,<=,>,>=,==, != operator.
The i can be int or uint.
The ++i can be -- or ++, -=1, +=1.
This assumes that backends using the feature emit signed int arithmetic
with defined wraparound semantics.
Uses volatile write instead of asm("") due to asm not forcing the
behavior in some compiler versions. The volatile variable access is
defined in C++ as forward progress, and by inheritance this works in
MSL.
Later commits may remove injectAsmStatementIntoLoopBodies if
ensureLoopForwardProgress is appropriate for all use-cases.
Bug: angleproject:418918522
Change-Id: Ic9c29f57044b792195386483208632354d24c854
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6575051
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
2f6f0514
|
2025-05-22T15:59:19
|
|
Metal: Wraparound int arithmetic for add, sub
Implement wraparound int arithmetic for
int, ivec +, -, +=, -=, ++, --.
All of the added tests pass also without the changes.
Bug: angleproject:382215759
Change-Id: I7605582ab2931e63010c34fba474797f7edd19f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578729
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
03de46ef
|
2025-02-20T00:00:00
|
|
Metal: Remove divMatrixScalar polyfills
MSL 2.3+ natively supports
matrix by scalar division.
Bug: angleproject:372169468
Change-Id: I2055ab8cfff01d8a52ddc0de4d5c3bc115271aed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6289047
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
239ef680
|
2024-11-21T00:00:00
|
|
Metal: Support ANGLE_texture_multisample
* Added explicit multisample texture creation support
* Added support for SAMPLE_MASK frontend state
* Adjusted Metal backend caps
Fixed: angleproject:380475003
Change-Id: I90250e14da52869cb954b5a61d9c670e958a526c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6048958
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
8e9dc1a6
|
2024-11-19T11:08:31
|
|
Validate anonymous struct names with namespace
Consider GLSL:
struct { vec4 e; } g;
struct sbbf { vec4 f; };
The struct name validation would fail if user chosen struct name would
clash with a symbol name that ANGLE internally gave to an anonymous
struct.
Fix by importing Name abstraction from MSL backend. A symbol name is
a pair (namespace, string).
Move operator<<(std::ostream &os, const ImmutableString &str)
to sh namespace because that is more natural for operator overloading
name resolution. MSVC works with this.
Bug: angleproject:379758201
Change-Id: Icc9b02aa8cb532e1d925e2fba4c45468f01b9144
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6035029
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
898a1c12
|
2024-10-24T13:09:36
|
|
Metal: Fix ToposortStructs validation == failures
ToposortStructs would convert mat, vec, struct == to ANGLE_equals()
calls. However, the functions called were not in AST. This would cause
"Found node calling previously undeclared function
<validateFunctionCall>" validation error and ASSERT.
Mat, vec equality calls would use prelude ANGLE_equals implementations.
The MSL emit already does the conversion from == to ANGLE_equals for
these builtins.
For user-defined structs the logic would be:
- collect struct decls, structs, create equality functions
- toposort
- for each sorted struct:
- insert struct decl
- insert equality function
Move the equality function creation after the toposort:
- collect struct decls, structs
- toposort
- for each sorted struct:
- insert struct decl
- create equality function
- insert equality function
This way the sort ensures that nested struct equality functions can
refer to previously introduced equality functions.
Bug: angleproject:375352601
Change-Id: I59efed98bca6d99b198abc2b5c7577cf5d1d5d83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961281
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
4aa12e9e
|
2024-10-07T00:00:00
|
|
Metal: Remove macOS 11.0 availability checks
Chromium now requires at least macOS 11.0.
This also implies MSL 2.3 support.
Bug: angleproject:371829506
Change-Id: I6aaf4d9775bfe58747df28173d3931aa11fa8d25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5912903
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
af33337a
|
2024-10-07T00:00:00
|
|
Metal: Remove unused MSL helpers
These helpers are never emitted.
Bug: angleproject:372169468
Change-Id: I306164aaf4db1b7070e3e4a0599f0f02a1e29c7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5912762
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0f7371ae
|
2024-10-07T00:00:00
|
|
Metal: Remove ANGLE_tensor macro
Its replacement is never used.
Fixed: angleproject:372053408
Change-Id: I1d54efcc1a1ecac1d0c6dae5ff7524b501297fe0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5912904
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
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>
|
|
a921694b
|
2024-09-30T00:00:00
|
|
Metal: Support EXT_texture_shadow_lod
Bug: angleproject:365108862
Change-Id: Ieb0b53253c5d9091e0c74baccf808622d9578d5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5907407
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
d550d96f
|
2024-09-30T00:00:00
|
|
Metal: Remove allowSamplerCompareLod feature
* 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 not needed.
* Metal on macOS 10.15 only supports constant zero as
the level parameter for sample_compare functions.
Ignoring the requested level and using zero on old OS versions is a
better fallback than dropping the parameter altogether because many
applications set the level to zero anyway.
Bug: angleproject:365066518
Bug: angleproject:368059227
Change-Id: I2cdc0bda5842842d62ad5663427da7f1f37bddda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5907619
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
b16d105f
|
2024-10-03T10:25:32
|
|
Remove Desktop GL front-end support
For Desktop GL applications, please use Zink!
Bug: angleproject:370937467
Change-Id: Ie734634bb62a2e98c80e1b32d8b3d34624da3c04
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905428
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7ff7775b
|
2024-09-19T00:00:00
|
|
Metal: Align internal texture wrapper names
Used consistent internal names for
all ESSL 3.00 texture wrappers.
Bug: angleproject:368059227
Change-Id: I69c162d7b1557bb9a92cba902f4fdd5b4c30ee2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5890621
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
371ab6d8
|
2024-09-19T00:00:00
|
|
Metal: Refactor texture wrappers
* Removed variadic macros.
* Removed invalid overloads.
* Added MSL compile guards to not fail shader
compilation on macOS 10.15.
Bug: angleproject:368059227
Change-Id: I5376b410670a50cf700f1c33823f43c89c10b876
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893780
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
86872374
|
2024-09-19T00:00:00
|
|
Metal: Refactor textureGrad wrappers
* Removed variadic macros.
* Removed an invalid overload.
* Updated emitter to not output unused variants.
* Added MSL compile guards to not fail shader
compilation on macOS 10.15.
Bug: angleproject:368059227
Change-Id: I816b8b96b264d0ca943bca566987755460b3a72f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893778
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
39b5f5fc
|
2024-09-19T00:00:00
|
|
Metal: Refactor textureLod wrappers
* Removed variadic macros.
* Removed an invalid overload.
* Updated emitter to not output unused variants.
* Added MSL compile guards to not fail shader
compilation on macOS 10.15.
Bug: angleproject:368059227
Change-Id: If15fcb0cb772e3ee2e2e1669f894fb8de4e76578
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5896390
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
80e5e611
|
2024-09-19T00:00:00
|
|
Metal: Refactor textureGradOffset wrappers
* Removed variadic macros.
* Removed invalid overloads.
* Updated emitter to not output unused variants.
* Added MSL compile guards to not fail shader
compilation on macOS 10.15.
Bug: angleproject:368059227
Change-Id: I47e0c04176bd9f4b6e6abcd266ae4c673135c93b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893503
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
baf0c6b2
|
2024-09-19T00:00:00
|
|
Metal: Refactor texture[Lod]Offset wrappers
* Removed variadic macros.
* Removed invalid textureLodOffset overload.
* Split bias variants into separate wrappers.
* Updated emitter to not output unused variants.
Bug: angleproject:368059227
Change-Id: I983d84685479e5154f2ecfb15b525c1acbb9e280
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5890517
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bc9c772d
|
2024-09-19T00:00:00
|
|
Metal: Refactor textureProj[Offset] wrappers
* Removed variadic macros.
* Split bias variants into separate wrappers.
* Updated emitter to not output unused variants.
Bug: angleproject:368059227
Change-Id: I6e08e92dfbc2378bfc4ccd7760dbe28f6bc64f27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893163
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b4ec5850
|
2024-09-19T00:00:00
|
|
Metal: Refactor textureProj(Grad|Lod)[Offset] wrappers
* Removed variadic macros.
* Updated emitter to not output unused variants.
* Added MSL compile guards to not fail shader
compilation on macOS 10.15.
Bug: angleproject:368059227
Change-Id: If9d9479c056da6a76cff78c7c5b42101a0fcce1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893255
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
c2051a2d
|
2024-09-19T00:00:00
|
|
Metal: Refactor texelFetch[Offset] and textureSize wrappers
* Removed variadic macros from texelFetch[Offset]
and textureSize function wrappers.
* Updated emitter to not output unused variants.
* Aligned parameter types with GLSL and MSL specs.
Bug: angleproject:368059227
Change-Id: I7cbd6f60e70e0357aa5ca12d6adbe1064eed94fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5876034
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
95664631
|
2024-09-19T00:00:00
|
|
Metal: Fix OES_texture_3D texture function wrappers
* Removed redundant variadic macros and templates for
GL_OES_texture_3D functions.
* Added missing texture3D function variants.
* Emit texture3DProj variant with bias only when
the GLSL function call has that parameter.
Fixed all failures in KHR-GLES2.texture_3d.* tests.
Bug: angleproject:368059227
Change-Id: I9c0b209988563710824c38d0535997e351bbd6bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5875725
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
5eb71dc1
|
2024-09-19T00:00:00
|
|
Metal: Simplify ESSL 1.00 texture function wrappers
* Removed redundant variadic macros and templates for
ESSL 1.00 and GL_EXT_shader_texture_lod functions.
* Emit texture2D, texture2DProj, and textureCube
variants with bias only when the GLSL function
call has that parameter.
Bug: angleproject:368059227
Change-Id: I1b60d0b874a08dcdd0a92585b2642336134236e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5872916
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e6c22c93
|
2024-09-19T00:00:00
|
|
Metal: Remove invalid ESSL 1.00 texture functions
* 1D textures are not supported in GLSL ES
* 2D textures do not support sampling with
3-component coordinates
* Metal backend does not support rectangle
texture type
* Cubemap textures do not support sampling
with projection
Bug: angleproject:368059227
Change-Id: Iec33f4293d995b9f244274338d444604ffd23249
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5872915
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e13cc7df
|
2024-08-30T00:00:00
|
|
Metal: Add shadow sampler overloads for textureProj[Offset]
Added compile guards because sample_compare with
bias is not defined for older MSL versions.
Fixed: angleproject:354101888
Change-Id: I3972fabc9ebe7b7475343438272e57dcfed007f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5828944
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d193d51b
|
2024-06-17T22:46:08
|
|
Replace issue ids post migration to new issue tracker
This change replaces anglebug.com/NNNN links.
Bug: None
Change-Id: I8ac3aec8d2a8a844b3d7b99fc0a6b2be8da31761
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637912
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
02aa605a
|
2024-01-25T00:00:00
|
|
Metal: Include only the <metal_stdlib> header
Removed the logic for generating individual include
macros as <metal_stdlib> provides all functions.
Fixed: angleproject:8504
Change-Id: I8c83ca8cc2443a4b64e4e022a3a694c7643be569
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5237274
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
7d30cf9f
|
2024-01-22T00:00:00
|
|
Metal: Simplify sign function translation
Check whether a float or an integer variant
is needed and emit only what is necessary.
Fixed: angleproject:8502
Change-Id: I7061a5faa7cf09519b30e64ff90c42bbe392908a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5234350
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
600a1a80
|
2024-01-22T00:00:00
|
|
Metal: Clamp vector element index references
Ensured that vector elements passed by reference
are within the number of vector components.
Fixed: angleproject:8492
Change-Id: I2defbd8dfd418256ddb87f8ce1a74ac09a8a1b7b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5229957
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
fc742305
|
2024-01-18T00:00:00
|
|
Metal: Simplify geometry functions translation
Check whether a vector or a scalar variant
is needed and emit only what is necessary.
Reduced the generated MSL for:
- atan/atan2
- length
- distance
- dot
- normalize
- faceforward
- reflect
- refract
Fixed: angleproject:8487
Fixed: angleproject:8489
Change-Id: I3be39e55997062136aae2782269a65c0c738d6cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5217532
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
6d9f0aee
|
2023-11-30T00:00:00
|
|
Metal: Ensure helper invocations when derivatives are used
Set sample coverage mask to ensure that
fragment shader helper invocations are
performed when derivatives are used.
Fixed the following tests on Apple silicon:
dEQP-GLES2.functional.texture.mipmap
.2d.projected.nearest_linear_repeat
.2d.projected.linear_linear_repeat
.cube.projected.linear_nearest
.cube.projected.linear_linear
dEQP-GLES3.functional.texture.mipmap
.2d.projected.nearest_nearest_mirror
.2d.projected.linear_nearest_clamp
.2d.projected.linear_nearest_repeat
.2d.projected.linear_nearest_mirror
.2d.projected.nearest_linear_repeat
.2d.projected.linear_linear_clamp
.2d.projected.linear_linear_repeat
.3d.projected.nearest_nearest_mirror
.3d.projected.linear_nearest_clamp
.3d.projected.linear_nearest_repeat
.3d.projected.nearest_linear_clamp
.3d.projected.nearest_linear_mirror
.3d.projected.linear_linear_clamp
.3d.projected.linear_linear_repeat
Fixed: angleproject:8443
Fixed: angleproject:7023
Change-Id: I13fc52532b94de098dcf3e9f5f02d48a6c8913c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5089131
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
59f7467a
|
2023-11-01T14:53:42
|
|
Metal: Add missing ScalarMatrix ops
Translations for the following built-ins were missing:
scalar - matrix
scalar + matrix
scalar / matrix
Bug: angleproject:7525
Change-Id: I5da85781829c195906cc689ffee55cb681f0337c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995668
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
280e79e1
|
2023-08-10T14:08:00
|
|
Rescope globals only used in one function to function-local.
We can demote global variables when they are only used in one function.
This has performance implications on Metal.
Bug: angleproject:8311
Change-Id: Id666e6b167be771c14768cd73efa61fdacd897d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771215
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9b63700b
|
2023-07-11T10:25:40
|
|
Translator: Reorganize files
This change makes the translator files more organized by:
- Grouping files that are specific to a certain output under their own
directory,
- Moving transformations under tree_ops
- Removing Direct from metal translation now that that SPIR-V Cross path
is removed
Bug: angleproject:6394
Change-Id: Iaf5bb8d5604b84748dece029821b1f77b2813967
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4678780
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|