|
3e997419
|
2024-06-25T18:41:03
|
|
Add format conversions for WebGPU formats.
This CL adds a Format class, as well as a generator script to
generate methods to map between WebGPU and ANGLE formats.
Fallback mappings are listed but this CL only implements
support for required webgpu formats.
Bug: angleproject:344814096
Change-Id: I2588a57353eafc4e87f40df3bbe3f9375e5ed8c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5598178
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3870655e
|
2023-10-10T17:04:04
|
|
Vulkan: Add 8 external format ID for external_format_resolve
For external formats ANGLE does not know the exact that is. The idea is
we reserve 8 external format ID for these driver defined formats. Each
ID represents one uniquely defined external format. Then we will use
this format ID pass around ANGLE just like any other format ID.
Eventually vulkan backend will convert this formatID to the actual
external format structure that returned from driver. Right now we
reserved 8 IDs for this usage. Based on our survey, this is more than
enough for now. We will deal with it if we need more than 8 in future.
This CL is split from Chris Forbes's CL on android gerrit.
Bug: b/223456677
Change-Id: I9cf442179af95e04a44796125e0c03dde702a8f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4929749
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
bfae8072
|
2023-09-20T06:48:06
|
|
Metal: Support RGBA IOSurface pbuffer.
Currently only BGRA IOSurface is supported by ANGLE.
This CL adds RGBA IOSurface support to Metal backend.
- Added GL_RGBX8_ANGLE & GL_UNSIGNED_BYTE attributes combo to specify
that the IOSurface is RGBX. Only supported on Metal backend for now.
- Added GL_RGBA & GL_UNSIGNED_BYTE combo to specify that the IOSurface
is RGBA. Only supported on Metal backend for now.
Bug: angleproject:8350
Change-Id: I0e05762870c9c034bca78e8989aedf346406df57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4874484
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
519d330c
|
2023-08-28T15:41:18
|
|
Add GL_RGBX8_SRGB_ANGLEX and GL_BGRX8_SRGB_ANGLEX formats
If app creates AHB with sRGBX format, and then create a EGLImage,
Image::initialize() will retrieve the sized format from AHB, which is
GL_RGBX_ANGLE, and then try to convert to sRGB color space. The bug here
is that GetNonLinearFormat will pick GL_SRGB8 for all these formats
:GL_RGB8, GL_BGRX8_ANGLEX, GL_RGBX8_ANGLE. This means that different
AHBS with these three different format will end up createing a tetxure
with same format which sRGB. I think the reason somone did it this way
initially simply because there is no sRGB corresponding format available
for BGRX8 and RGBX8. This CL adds sRGB internal version of these two
formats, thus make it straight forward to pick the correct sRGB format.
The other change here is for AHBs, right now we are always force
mRequiredImageAccess to be Renderable. This actually workedaround the
bug that mentioned earlier that we are picking the wrong format. Because
of forced renderable, we end up with SRGB fallback to SRGBA. But
external images should not fallback, we should use its existing format
as is since it can be accessed via AHB interface directly.
Bug: b/298037344
Change-Id: I6119c4015cc5bf0effdf0530cb756b6c4656c38f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819053
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
8447e279
|
2023-05-30T13:56:19
|
|
code_generation_hashes json files end with newline
Bug: None
Change-Id: Iddd2c1777a1d5486a4d390c6e3d56ffb09f47f02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574569
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
61cd24d4
|
2023-03-31T14:54:17
|
|
MTLPixelFormatRGB9E5Float is not renderable on simulator.
See https://developer.apple.com/documentation/metal/
developing_metal_apps_that_run_in_simulator?language=objc
Bug: angleproject:7994
Change-Id: I07e50c19aaf6d033c7c25d0dbd4b21a8c255c1d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4386403
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
877cd04c
|
2023-03-02T10:24:14
|
|
Reland "Add vulkan format image fallback for R16G16B16"
Suppressed misbehaving trace test in https://crrev.com/c/4317088
This is a reland of commit 71f6d54c8d3662693283281651e57c994a10cf08
Original change's description:
> Add vulkan format image fallback for R16G16B16
>
> This change adds a vulkan format image mapping fallback from R16G16B16
> to R16G16B16A16, R32G32B32_FLOAT and R32G32B32A32_FLOAT for both
> UNORM and SNORM variants.
>
> This is done because in Chrome we want to use R16/RG16 formats which
> are exposed to Skia over the EXT_texture_norm16. Currently,
> EXT_texture_norm16 requires RGB16_EXT which if not present is not
> supported even if R16_EXT and RG16_EXT are supported. This fallback
> helps us support R16/RG16 as well over RGBA16.
>
> It also updates validationES checks for GL_RGBA signed and unsigned
> normalized checking if type is GL_SHORT or GL_UNSIGNED_SHORT.
>
> It adds a method LoadToFloat that allows a type (GLushort or GLshort)
> to be loaded into float format types. This is then used as part of
> fallbacks for load_functions_data.json.
>
> Bug: None
> Change-Id: I5c6879cd2ed5dd6e3440877f4891f269d96d88a1
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4294694
> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: None
Change-Id: I101dd9e8c62e6794692c9f89c4944297e195f710
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317089
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
b3178411
|
2023-03-07T15:08:46
|
|
Revert "Add vulkan format image fallback for R16G16B16"
This reverts commit 71f6d54c8d3662693283281651e57c994a10cf08.
Reason for revert: crashing win-trace
https://ci.chromium.org/ui/p/angle/builders/ci/win-trace/3527/overview
Also reproducible on Linux:
% src/tests/capture_replay_tests.py --gtest_filter="Texture2DNorm16TestES3.TextureNorm16R16
Original change's description:
> Add vulkan format image fallback for R16G16B16
>
> This change adds a vulkan format image mapping fallback from R16G16B16
> to R16G16B16A16, R32G32B32_FLOAT and R32G32B32A32_FLOAT for both
> UNORM and SNORM variants.
>
> This is done because in Chrome we want to use R16/RG16 formats which
> are exposed to Skia over the EXT_texture_norm16. Currently,
> EXT_texture_norm16 requires RGB16_EXT which if not present is not
> supported even if R16_EXT and RG16_EXT are supported. This fallback
> helps us support R16/RG16 as well over RGBA16.
>
> It also updates validationES checks for GL_RGBA signed and unsigned
> normalized checking if type is GL_SHORT or GL_UNSIGNED_SHORT.
>
> It adds a method LoadToFloat that allows a type (GLushort or GLshort)
> to be loaded into float format types. This is then used as part of
> fallbacks for load_functions_data.json.
>
> Bug: None
> Change-Id: I5c6879cd2ed5dd6e3440877f4891f269d96d88a1
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4294694
> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: None
Change-Id: I8373aee3a1d2c2279a3882ff7203d88483e29f4e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4316422
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
71f6d54c
|
2023-03-02T10:24:14
|
|
Add vulkan format image fallback for R16G16B16
This change adds a vulkan format image mapping fallback from R16G16B16
to R16G16B16A16, R32G32B32_FLOAT and R32G32B32A32_FLOAT for both
UNORM and SNORM variants.
This is done because in Chrome we want to use R16/RG16 formats which
are exposed to Skia over the EXT_texture_norm16. Currently,
EXT_texture_norm16 requires RGB16_EXT which if not present is not
supported even if R16_EXT and RG16_EXT are supported. This fallback
helps us support R16/RG16 as well over RGBA16.
It also updates validationES checks for GL_RGBA signed and unsigned
normalized checking if type is GL_SHORT or GL_UNSIGNED_SHORT.
It adds a method LoadToFloat that allows a type (GLushort or GLshort)
to be loaded into float format types. This is then used as part of
fallbacks for load_functions_data.json.
Bug: None
Change-Id: I5c6879cd2ed5dd6e3440877f4891f269d96d88a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4294694
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
177936ac
|
2023-02-18T14:51:29
|
|
Metal: disable 32-bit float filtering on iOS
Update Metal format tables according to the Metal Format Tables.
Disables OES_texture_float_linear on current iOS hardware, since
R*32Float filtering is not available.
Fixed: angleproject:8028
Change-Id: I29603d308f1992feb62ee997b0f69f8e6d0d385e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4266915
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
25e9686c
|
2023-02-09T11:51:24
|
|
[ios]: fix missing caps for D16_UNORM
Fixes "Assert failed in updateCaps (third_party/angle/src/libANGLE/ \
Context.cpp:4368): getClientVersion() < ES_3_0 || \
formatMaxSamples >= 4" as D16_UNORM caps were missing, which resulted
in GenerateTextureCapsMap skipping that format.
Bug: angleproject:6597, chromium:1413715
Change-Id: I031271e2db07d129e0c383107db2080794a11da1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4236537
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
93e311f7
|
2023-02-07T00:00:00
|
|
Add channel info to compressed formats in angle::Format
Fixed: angleproject:8011
Change-Id: I2ea08f30523c08b7ca11ee327990a110a448ca42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4232118
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
660e4a7c
|
2023-01-20T15:42:29
|
|
Don't override D16_UNORM to D32_FLOAT on Apple GPUs.
Local testing of:
dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units
on M1 indicates that depth bias works correctly with
MTLPixelFormatDepth16Unorm on this GPU type, indicating that previous
workarounds only need to be applied to non-Apple GPUs.
Reimplement d24s8_fallbacks_mac as depth_fallbacks_mac, add this
workaround there, and move the conditions to the JSON file per review
feedback from Alexey Knyazev. Avoid emitting duplicate depth formats
in gen_mtl_format_table.py.
Leave the iOS Simulator alone - the workaround is likely still needed
there, and difficult to test.
Tested via:
./out/Release/angle_deqp_gles3_tests \
--gtest_filter=\
dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units \
--use-angle=metal
Bug: angleproject:6597
Change-Id: I52a99b3f710bb88e1f43ed17862f6e6f2e6471ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4184943
Auto-Submit: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
e82eaff9
|
2022-09-22T16:01:06
|
|
Stubs for paletted images
Bug: angleproject:7599
Change-Id: Idb49f8ba07ebd3b6cad461fa9e90b856af666183
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3909396
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Constantine Shablya <constantine.shablya@collabora.com>
|
|
6937ea98
|
2022-09-08T14:15:10
|
|
Use base name of the generator script in various generated files
Increases compiler cache hits especially in cases where the file is run
during build.
Bug: angleproject:7642
Change-Id: I769dae2d7cca2cf1e238531f4cb356bad41b06dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3880323
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
af45d166
|
2022-02-23T14:05:47
|
|
Metal: PVRTC formats fail conformance tests on simulator
Remove support for PVRTC in simulator, as conformance tests fail
Bug: angleproject:6874
Change-Id: I2c3f9e26523098aaa6a988db5cb3f4bf748a0cdc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3485640
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
a20cd8b7
|
2022-01-22T01:40:34
|
|
Fix initialization for ETC2 punchthrough alpha formats
* Zero-filled ETC2_A1 data must be treated as opaque black
* Removed init functions when emulation is not needed
* Fixed initialization for emulated ETC2_R8G8B8A1_SRGB_BLOCK
Bug: angleproject:6936
Bug: angleproject:6941
Change-Id: Ie5555bbaa6b1a2bcfd9c22cb9c17d1a96e72aa70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3406761
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
55d12770
|
2022-01-19T16:00:47
|
|
Metal: Cleanup autogenerated format table
Skip generating code that sets default values.
Bug: angleproject:6874
Change-Id: Id12e39eedbe4665279710125e02b105318d40b82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3399836
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
00a2a2f3
|
2022-01-06T17:52:23
|
|
Merge metal format table updates from Webkit
Some texture formats are not supported in the Metal SDK
for certain platforms. Refactor the mtl_format_table map to
allow Webkit to continue to build all platforms.
This change removes a large block of changes between Webkit
and OSS ANGLE, due to resolving the generated file differences.
Bug: angleproject:6874
Change-Id: Ib53aea4fb95e230d53ad2ebbd74bf97e847005c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3371882
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
abf17f01
|
2021-12-10T17:10:53
|
|
Metal: Support depth filtering queries for D32, D24S8
Port changes from https://bugs.webkit.org/show_bug.cgi?id=232071
Bug: angleproject:6779
Change-Id: Id2d7a0c215e4db072b8830aedd90b878f3817967
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331666
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
3e7e2758
|
2021-12-14T15:48:42
|
|
Metal: Fix macOS ANGLE build on Catalina (10.15) SDK
macOS Catalina does not have an enum for AppleGPUFamily6
In addition, platform includes for macOS 11.0
should use 110000, not 101600 (10.16)
Bug: angleproject:6814
Change-Id: I9c6a0587aa22fb2e58d02fcb1779060de2632963
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340104
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
5068c040
|
2021-12-09T17:55:01
|
|
Metal: Merge changes to mtlPixelFormatTable
Bug: angleproject:6789
Change-Id: I9893093fdff1138fc8ae35ac4363201fa1e0b825
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329206
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
ef65edf2
|
2021-11-22T14:23:35
|
|
Add extension: ANGLE_rgbx_internal_format
Add the extension ANGLE_rgbx_internal_format, which exposes the ANGLE
internal format GL_RGBX8_ANGLE. The format GL_RGBX8_ANGLE enables
emulating RGB8 formats with RGBA8 within ANGLE.
This also renames the format GL_RGBX8_ANGLEX to GL_RGBX8_ANGLE, since
it's being exposed.
Bug: angleproject:6690
Test: Texture2DTestES3.TextureRGBXImplicitAlpha1
Change-Id: I5548a3578a14e2f2a4006bbf59983b01f694b7f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3296625
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
604610b4
|
2021-11-01T12:03:31
|
|
Metal: Use Depth32F for DEPTH_COMPONENT16
depth16unorm is broken on Metal. This is a workaround.
Bug: angleproject:6597
Change-Id: I1748f9fab587b22980d13e8a141fa880eb6f9db0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3255666
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
c0aa6108
|
2021-09-17T16:22:55
|
|
Add new GL_RGBX8_ANGLEX format
Currently, IOSurface objects using {GL_RGB, GL_UNSIGNED_BYTE}
are natively represented with GL_BGRX8_ANGLEX, which we use
instead of other RGBA formats in order to avoid issues when
a canvas uses 'no alpha':
https://source.chromium.org/chromium/chromium/src/+/main:third_party/swiftshader/third_party/angle/angle/src/libANGLE/renderer/vulkan/mac/IOSurfaceSurfaceVkMac.mm;l=44
This unfortunately causes some other issues because of the
implicit RGB <-> BGR conversion like type mismatches in
subresource updates. This CL adds a new type, RGBX8, which
will be usable by IOSurface objects and which behaves exactly
like the BGRX8 format with the B and R channels flipped.
Bug: chromium:1209250
Change-Id: I345eadc8addd05a0964cae30d89c20005479e37b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3188910
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e66e3344
|
2021-07-12T13:28:54
|
|
Vulkan: Add GL_ANGLE_yuv_internal_format extension
1. Add a new extension to support creation of immutable textures with
sized internal YUV formats
2. Rename YUV format enums from *_ANGLEX to *_ANGLE
3. Move YUV format enums from angleutils.h to glext_angle.h
Bug: angleproject:5773
Change-Id: Ibfe732f4c9a4a536be56481f33e4768f6227c212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820153
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d33a2222
|
2021-04-26T16:56:15
|
|
Upstream Apple's direct-to-Metal backend: compile libANGLE.
This change is meant to merge the metal backend changes from Apple's
direct-to-Metal backend. Taken from Kyle Piddington's CL:
https://chromium-review.googlesource.com/c/angle/angle/+/2857366/
The goal of this CL is to merge the metal backend code in a state
that compiles, but not to switch the Metal backend over to using
the direct-to-metal backend yet.
Bug: angleproject:5505
Bug: angleproject:6127
Change-Id: If6783e06e0086b3a1dd25c6f53caca5cfc96cb86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950067
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
835bcb1e
|
2021-05-08T13:24:58
|
|
Vulkan: Support GL_EXT_texture_sRGB_RG8
For completeness, added mappings of R8_SRGB and R8G8_SRGB
to OpenGL and Metal.
Bug: angleproject:4932
Change-Id: Ic8e44e3a94c114e985f6965fcd43fbcb8071432d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880661
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7828506a
|
2021-04-06T23:42:16
|
|
Vulkan: Cleanup buffer format fallbacks
- Fallbacks for formats that have required vertex attribute support are
removed.
- Fallbacks are changed to ones with smaller sizes
- A bug is fixed where CopyNativeVertexData wasn't initializing the
alpha channel appropriately, which was not exercised due to fallback
to 32-bit float formats.
Bug: b/184163871
Change-Id: Icd9afa49d94c65545d1f3fcf521881726d64529d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809441
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
53b89b83
|
2021-04-24T13:26:02
|
|
Metal: Add ASTC HDR support
ASTC HDR is a superset of ASTC LDR, so always use HDR enums
on supported platforms because there is no such difference in OpenGL ES.
Bug: angleproject:2634, angleproject:5672
Change-Id: I19a3212bcb949aa9cdeb682ab000aa03125f04a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2848509
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
8df3e5f2
|
2021-04-23T12:39:06
|
|
Metal: update format caps
Added MTLGPUFamilyApple6 and MTLGPUFamilyApple7 caps.
Bug: angleproject:2634, angleproject:5672
Change-Id: Icc35f823cdd018246a8ac3b1179adc81584fb204
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846832
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
f2b47418
|
2021-04-22T18:32:37
|
|
Align BPTC format names in angle::FormatID
Use the same naming convention as other similar formats.
Bug: angleproject:5731
Change-Id: I187881f4bc4691a0963502ed41f42ab0ebf4171c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846824
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
14f8918c
|
2021-04-16T09:17:29
|
|
Migrate more scripts to python3
Test: python3 scripts/run_code_generation.py
Bug: angleproject:5707
Change-Id: I5abae69c1c6bf03cc418f10beaabc80288fa1c94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2828979
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
f2aa9d5d
|
2021-04-11T14:55:19
|
|
Reland: Metal: Support importing external metal textures
This relands I4d4a88cfbb77d8b7508b787c7fec44073d3b11b0.
Fixes:
- uninstantiated ImageTestMetal error
- failed ImageTest.ANGLEExtensionAvailability on ARM mac.
Bug: angleproject:5763
Bug: angleproject:5814
Change-Id: I906fe52baefd6be3c6e00f594795bd527df01616
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820178
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
|
|
0273ea3f
|
2021-04-06T16:23:39
|
|
Vulkan: Use RGBA16_FLOAT for buffer format fallback
... instead of RGBA32_FLOAT. VK_FORMAT_R16G16B16A16_SFLOAT has
mandatory support for vertex buffers.
Bug: b/184163871
Change-Id: I7ef2933cd15e46bb984e6fd1b020d2ec15b9c60e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807780
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f54191ab
|
2021-03-25T12:27:02
|
|
Vulkan: Add YUV G8_B8R8_2PLANE_420_UNORM support.
Add support for YCbCr_420_888 and YCrCb_420_888 formats,
more commonly known as NV12 and NV21.
Bug: angleproject:5773
Change-Id: I1568d543c221ad110e7f199eb2ffd5df23a6134e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2787251
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
256100b2
|
2021-04-02T01:45:14
|
|
Revert "Metal: Support importing external metal textures"
This reverts commit 2ec3e0a1e6890da56de9dfd3da5c9f31a3f7fbb7.
Reason for revert: Test suite ImageTestMetal never instantiated https://anglebug.com/5814
Original change's description:
> Metal: Support importing external metal textures
>
> via KHR_image_base and ANGLE_metal_texture_client_buffer
>
> Bug: angleproject:5763
> Change-Id: I4d4a88cfbb77d8b7508b787c7fec44073d3b11b0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757811
> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:5763, angleproject:5814
Change-Id: Ia862aa37a6c914f6e21f9b3121c7c36d449475ea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2801155
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
2ec3e0a1
|
2021-03-13T22:17:49
|
|
Metal: Support importing external metal textures
via KHR_image_base and ANGLE_metal_texture_client_buffer
Bug: angleproject:5763
Change-Id: I4d4a88cfbb77d8b7508b787c7fec44073d3b11b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757811
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ffd80394
|
2021-03-06T13:32:09
|
|
Metal: Enable iOS pixel formats on macOS 11
Bug: angleproject:2634, angleproject:5672
Change-Id: Idd1cc325067e73b02f4f82b2d78d20420e50645b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739729
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
32bf7d41
|
2021-03-05T13:40:53
|
|
Fix Apple GPU detection for M1
Renamed supportsIOSGPUFamily to supportsAppleGPUFamily
to match official naming.
Bug: angleproject:5672
Change-Id: Ic02c0f01bc30c12cef594cc2eb4f9932c22c1e33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739459
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2e9161e4
|
2021-01-12T11:29:29
|
|
Vulkan: Add YUV G8_B8_R8_3PLANE_420_UNORM format.
Bug: angleproject:5438
Change-Id: I525a51256a5ee83fa69c8705aa90790fb32a6602
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2623813
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
56ea854e
|
2020-10-13T15:57:07
|
|
Metal: Allow unswizzled BC1 RGB
Refine DXT1CompressedTextureTest.DXT1Alpha to pass on more
configurations.
Fix the test's payload so that all 16 pixels use code 3.
Refine texture swizzling detection.
Bug: angleproject:2634
Bug: angleproject:5049
Change-Id: If9e1ab63220170a54954234ea205e19583b0df0a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2467896
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
9ff063e9
|
2020-10-25T03:08:25
|
|
Metal: fix max varyings, copyImage between mips, depth fmt
- GLSLTest_ES3.MaxVaryingWithFeedbackAndGLline failed before because
gl_Position takes up one slot from max varyings on Metal back-end.
FIXED
- Previously, copyImage() between mips of the same texture would fail.
Due to the read RenderTargetMtl is released before the copy happens.
FIXED
- GL_DEPTH_COMPONENT24 texture data upload didn't work due to the source
32 bit depth data wasn't handled properly. FIXED
- D24S8 format will be disabled on AMD for now, it will be converted to
D32S8 instead.
Bug: angleproject:2634
Bug: angleproject:5235
Bug: angleproject:5242
Change-Id: Ie7082f0545c0885ce5ec72df8a7ec4ee5d5de4b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494525
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
15823ab0
|
2020-09-15T15:21:58
|
|
Metal: Implement ASTC LDR support
Bug: angleproject:2634
Change-Id: If7ea09de384c8bc8727523f20fe17641127fcf9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2411982
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
1b436e07
|
2020-09-15T13:37:33
|
|
Metal: Implement BPTC support
Use autogen for setting compressed format caps.
Bug: angleproject:2634
Change-Id: I8cfb57390751615c08f798f223f4db3deed2fff6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2411979
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
85919ef7
|
2020-08-08T18:23:47
|
|
Metal: autogen format caps from json
Bug: angleproject:4940
Bug: angleproject:2634
Change-Id: I1e107e856a50a7eaf685296dd7464af9ad5bcec4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2342522
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f37f1dcb
|
2020-08-02T19:38:54
|
|
Metal: Init format table using Metal-Feature-Set-Tables.pdf
- Format table is now initialized using informations from
https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf.
Previously, it was setup using gl::GenerateMinimumTextureCaps().
- This CL also adds InitializeTextureDataFunction and LoadFunctionMap to
mtl::Format. They are needed to properly initialize/convert textures
with non-normalized formats.
- This CL is prerequisite for integer & floating point format supports.
- New test: DXT1CompressedTextureTest.DXT1Alpha (this test was added
in the past but was reverted for some reasons).
Bug: angleproject:2634
Change-Id: I5eaad812909a49c4c138d0f65fd21a6a199fcb22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332144
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
69ca1025
|
2020-07-31T02:08:09
|
|
Metal: Implement EGL_ANGLE_iosurface_client_buffer.
GL_R16UI format is not supported yet. It will be implemented once
integer textures are implemented in metal back-end.
Bug: angleproject:4847
Bug: angleproject:2634
Change-Id: I60a52c0ce327a524c74e80b18bb15978ac52065b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329091
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
58fc8b11
|
2020-01-31T19:03:12
|
|
Implement RGTC (BC4, BC5) compressed texture formats
gl.xml was modified as two enums were missing from their proper group.
dxgi_support_data.json was fixed to not expect BC4 and BC5 on FL9_3
Bug: angleproject:3149
Change-Id: Ieb97a8cf8e92258c1b44e090e823fac227997174
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033068
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
d1860ea1
|
2019-11-19T23:04:00
|
|
Metal: support OES_depth_texture
Also added Depth32 & Depth16 texture data upload tests.
Bug: angleproject:2634
Change-Id: I103f1cda1dc915f0dc8b04f7aaa2d8c0f9220cda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919281
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d6053daa
|
2019-12-05T17:46:23
|
|
Remove tabs from source files.
WebKit's Subversion repo refuses to commit source files that contain
tabs.
Bug: angleproject:3439
Change-Id: I0a804bcfa0375a98e19945e20297c90d31106827
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954410
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fe26bae4
|
2019-10-29T18:38:53
|
|
Metal backend implementation pt 2
This is without Metal specific shader translator implemented yet.
Bug: angleproject:2634
Change-Id: I95d589442251c9ba111bd05a2dc379a36739046c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855069
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
25301999
|
2019-10-11T14:49:00
|
|
Metal implementation pt 1: autogen resources
Autogen format table and internal shaders for Metal.
Bug: angleproject:2634
Change-Id: I4d81fcd17a0e9959ba9c38a250acc7abb168f54c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855067
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|