|
2ee914a4
|
2024-03-04T06:54:29
|
|
CL: Add cl_image_format map autogeneration
* Added map JSON files containing CL image formats
* Updated ANGLE format table generator to include CL foramts
Tests-Passing: GN Build
Signed-off-by: hoonee.cho <hoonee.cho@samsung.com>
Bug: angleproject:42266936
Change-Id: I2967ea6d26f69223ffa3ca12d469c05a3844200f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5798054
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
11608a8b
|
2023-01-23T00:00:00
|
|
Adjust STENCIL_INDEX8 caps
* Fixed a typo in GetSizedFormatInternal
* Required texturing for OES_texture_stencil8
* Marked all depth/stencil formats as not blendable
* Fixed frontend and GL texture caps for GL_STENCIL_INDEX8
Bug: angleproject:3231
Change-Id: Ie91e4bb4e8ab56d39dc1270487380b0bfce25b08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4194169
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
37752956
|
2021-02-11T16:12:48
|
|
Generators: Use fixed year in license headers.
Remove dynamic year generation from generator scripts, as required by
the Chromium C++ style guide.
The dynamic year values were replaced by the current year at the time
the file was created according to git log. The code to dynamically
generate the year was removed.
This patch also refreshes generated files and hashes.
Bug: angleproject:5516
Change-Id: I735028bccb5c83217e92c380538f1abf0a906b2c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690950
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7a92d958
|
2020-07-21T16:32:49
|
|
Implement GL_OES_texture_stencil8
Add extension to Caps and code gen files.
Add to Validation of TexImage
Add all the autogen for new extension
Fix swizzle for stencil only
Add LoadFunction
Fix formatutils
Add validation
Test: angle_deqp_egl_tests
--deqp-case=GLES31.functional.stencil_texturing.format.stencil_index8_2d
Bug: angleproject:3231
Change-Id: Id59c7d183ea1658732887e99637d9c8faab938e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404327
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
49108a12
|
2020-06-30T11:53:23
|
|
Support BGRA_1010102 IOSurfaces in CGL and Vulkan.
Bug: chromium:1100599
Change-Id: I7bc2c2e35490e28e9f6fe8f2e0c26cdea50650b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275731
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
a156df23
|
2020-03-20T08:12:34
|
|
Vulkan: add support for EXT_texture_sRGB_R8
Added support for EXT_texture_sRGB_R8. The GL_SR8_EXT format
will be available if the VK ICD supports VK_FORMAT_R8_SRGB.
This does not add support for emulation of this format.
Bug: angleproject:4503
Bug: angleproject:3609
Test: dEQP-GLES3.functional.texture.*.srgb_r8_*
Change-Id: Ifaec92ac1a8561881f54ddb7fdf0975112711736
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135853
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b83b0f5e
|
2020-01-31T15:09:17
|
|
Add support for NV_read_depth, NV_read_stencil and NV_depth_buffer_float2 extensions
This cl adds the ability for the ReadPixels function to read other
attachments than the color attachment. Checks were added for both
depth and stencil attachments.
A new test was added (DepthStencilFormatsTest.DepthStencilReadback)
to test this new functionality. As the name mentions, it's used to
test reading from the depth and stencil attachments using ReadPixels.
Bug: angleproject:4295
Change-Id: I6fe9be11f05d6055a5883b4315f870e7c0ac41ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2031702
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
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>
|
|
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>
|
|
6e653981
|
2019-10-09T15:19:02
|
|
Added PVRTC compression extension needed for Metal on iOS.
Bug: angleproject:2634
Change-Id: I413f754fe5551b1e248bc2b824b327b92d8c70f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849076
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3b46885e
|
2019-07-30T16:50:36
|
|
Vulkan: Implement EXT_texture_type_2_10_10_10_REV
- Expose GLES 3.0 feature of 2_10_10_10_REV texture type
on GLES 2.0 as EXT.
- Handle alpha channel value as 1.0 when used with RGB format.
- Add test for "RGB+UNSIGNED_INT_2_10_10_10_REV" case into TextureUploadFormatTest.
BUG=angleproject:3232.
Test:
dEQP-GLES2.capability.extensions.uncompressed_texture_formats.GL_EXT_texture_type_2_10_10_10_REV
dEQP-GLES2.functional.fbo.completeness.renderable.texture.*2_10_10_10_rev
dEQP-GLES3.functional.fbo.completeness.renderable.texture.*2_10_10_10_rev
KHR-GLES2.core.internalformat.*2_10_10_10_rev*
KHR-GLES3.core.internalformat.*2_10_10_10_rev*
Change-Id: Iac00517971f9242161115c7256117a69093fb5df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1732618
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
53aff41e
|
2019-07-11T14:06:23
|
|
Use separate json files for each code generator.
This should reduce the number of merge conflicts when multiple people
touch different generators. There still will be merge conflicts when
two people touch the same code generator.
Bug: angleproject:3691
Change-Id: I0b179368a1352331c091972568c00213ab106e46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698650
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|