|
408f5853
|
2025-04-04T00:00:00
|
|
Make gl::Version data members private
* Further simplified gl::Version implementation by
making data members private and merging them.
* Used proper version struct comparisons instead
of accessing individual version components.
* Moved known version constants to Version.h
for broader availability.
* Removed no longer used helpers:
* PrivateState::getClientMinorVersion()
* State::getClientMinorVersion()
* Context::getClientMinorVersion()
Bug: angleproject:408843436
Change-Id: I3ae8f495269d649253fa2381ecbfc018a184fa20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6460787
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
5dd05578
|
2025-04-14T07:34:57
|
|
Revert "GL: Allow untranslated shaders to pass through on GLES"
This reverts commit 4e77552b86a89b449ada6d6c18f84285f5812b1d.
Reason for revert: breaks ChromeOS and fuzzers
Bug: angleproject:398857482
Original change's description:
> GL: Allow untranslated shaders to pass through on GLES
>
> Add an EGL extension EGL_ANGLE_create_context_passthrough_shaders which
> uses the NULL translator and passes the original shader to the driver.
> The parser is still used for shader reflection.
>
> Bug: angleproject:398857482
> Change-Id: I7c5fcc318c7e11931f78c08dcbf4764bf77d397d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6297527
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:398857482, angleproject:410423936
Bug: chromium:410114655, chromium:410100607, chromium:410121218
Bug: chromium:410052365, chromium:410290507, chromium:410178288
No-Presubmit: true
Change-Id: I45b01960637a1cda05d21a7df6d07465f6a8f5e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6448984
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
4e77552b
|
2025-02-24T18:04:32
|
|
GL: Allow untranslated shaders to pass through on GLES
Add an EGL extension EGL_ANGLE_create_context_passthrough_shaders which
uses the NULL translator and passes the original shader to the driver.
The parser is still used for shader reflection.
Bug: angleproject:398857482
Change-Id: I7c5fcc318c7e11931f78c08dcbf4764bf77d397d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6297527
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
db48967f
|
2025-03-05T09:07:10
|
|
Reland "Add GL_BGRA_EXT as a sized renderable format"
This reverts commit 4bfb9da6f98b3e28905cc759a77bff750dfe3ff7.
Reason for revert: More mapping fixes for GL backend
Original change's description:
> Revert "Reland "Add GL_BGRA_EXT as a sized renderable format""
>
> This reverts commit 8f2fbbd1a0d16471596afad57c88f950a1ee3032.
>
> Reason for revert: http://anglebug.com/399913714
>
> Original change's description:
> > Reland "Add GL_BGRA_EXT as a sized renderable format"
> >
> > This reverts commit 22dfe435daa7c680c07bb8d4f1d98ab765e60ad0.
> >
> > Reason for revert: Fixed mapping back to BGRA_EXT for GL backend
> >
> > Original change's description:
> > > Revert "Add GL_BGRA_EXT as a sized renderable format"
> > >
> > > This reverts commit 80093a7d8f850c3ab551ddb4972c2f1f27511433.
> > >
> > > Reason for revert: suspect for blocking rolling ANGLE into Chroimum
> > > https://chromium-review.googlesource.com/c/chromium/src/+/6283973
> > > https://ci.chromium.org/ui/p/chromium/builders/try/chromeos-amd64-generic-rel-gtest/372754/overview
> > >
> > > Original change's description:
> > > > Add GL_BGRA_EXT as a sized renderable format
> > > >
> > > > dEQP tests were updated to cover GL_BGRA_EXT as a sized renderable
> > > > format. It was apparently always supposed to be, based on the
> > > > wording of the spec.
> > > >
> > > > This CL adds that support and updates expectations, along with a few
> > > > extra tests.
> > > >
> > > > Includes contributions from Robic.Sun@arm.com.
> > > >
> > > > Test: angle_end2end_tests, angle_deqp_*_tests
> > > > Bug: b/42267264
> > > > Bug: angleproject:394384906
> > > > Change-Id: Ia10bcd61f66c5d99a3d27a2cfd6008c991ddcaa7
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235444
> > > > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > > > Commit-Queue: Cody Northrop <cnorthrop@google.com>
> > > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > >
> > > Bug: b/42267264
> > > Bug: angleproject:394384906
> > > Change-Id: I64572361cfed33b4ea17eabf278f580471d045c2
> > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6285628
> > > Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
> > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
> > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> >
> > Bug: b/42267264
> > Bug: angleproject:394384906
> > Change-Id: I1bd9df904d93fd54286cbfce53fe89db89e842b9
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6310699
> > Commit-Queue: Cody Northrop <cnorthrop@google.com>
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
>
> Bug: b/42267264
> Bug: angleproject:394384906
> Bug: angleproject:399913714
> Change-Id: I9f79f39a6d9cba3b23c261005bc3e012d70cd1cf
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6312977
> Auto-Submit: Cody Northrop <cnorthrop@google.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bug: b/42267264
Bug: angleproject:394384906
Bug: angleproject:399913714
Change-Id: Ifc98fcbb0883dc4a55ad358825e9c1935fa26eaa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6330036
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4bfb9da6
|
2025-02-28T12:49:28
|
|
Revert "Reland "Add GL_BGRA_EXT as a sized renderable format""
This reverts commit 8f2fbbd1a0d16471596afad57c88f950a1ee3032.
Reason for revert: http://anglebug.com/399913714
Original change's description:
> Reland "Add GL_BGRA_EXT as a sized renderable format"
>
> This reverts commit 22dfe435daa7c680c07bb8d4f1d98ab765e60ad0.
>
> Reason for revert: Fixed mapping back to BGRA_EXT for GL backend
>
> Original change's description:
> > Revert "Add GL_BGRA_EXT as a sized renderable format"
> >
> > This reverts commit 80093a7d8f850c3ab551ddb4972c2f1f27511433.
> >
> > Reason for revert: suspect for blocking rolling ANGLE into Chroimum
> > https://chromium-review.googlesource.com/c/chromium/src/+/6283973
> > https://ci.chromium.org/ui/p/chromium/builders/try/chromeos-amd64-generic-rel-gtest/372754/overview
> >
> > Original change's description:
> > > Add GL_BGRA_EXT as a sized renderable format
> > >
> > > dEQP tests were updated to cover GL_BGRA_EXT as a sized renderable
> > > format. It was apparently always supposed to be, based on the
> > > wording of the spec.
> > >
> > > This CL adds that support and updates expectations, along with a few
> > > extra tests.
> > >
> > > Includes contributions from Robic.Sun@arm.com.
> > >
> > > Test: angle_end2end_tests, angle_deqp_*_tests
> > > Bug: b/42267264
> > > Bug: angleproject:394384906
> > > Change-Id: Ia10bcd61f66c5d99a3d27a2cfd6008c991ddcaa7
> > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235444
> > > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > > Commit-Queue: Cody Northrop <cnorthrop@google.com>
> > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> >
> > Bug: b/42267264
> > Bug: angleproject:394384906
> > Change-Id: I64572361cfed33b4ea17eabf278f580471d045c2
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6285628
> > Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
> > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
>
> Bug: b/42267264
> Bug: angleproject:394384906
> Change-Id: I1bd9df904d93fd54286cbfce53fe89db89e842b9
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6310699
> Commit-Queue: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: b/42267264
Bug: angleproject:394384906
Bug: angleproject:399913714
Change-Id: I9f79f39a6d9cba3b23c261005bc3e012d70cd1cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6312977
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
8f2fbbd1
|
2025-02-27T13:33:06
|
|
Reland "Add GL_BGRA_EXT as a sized renderable format"
This reverts commit 22dfe435daa7c680c07bb8d4f1d98ab765e60ad0.
Reason for revert: Fixed mapping back to BGRA_EXT for GL backend
Original change's description:
> Revert "Add GL_BGRA_EXT as a sized renderable format"
>
> This reverts commit 80093a7d8f850c3ab551ddb4972c2f1f27511433.
>
> Reason for revert: suspect for blocking rolling ANGLE into Chroimum
> https://chromium-review.googlesource.com/c/chromium/src/+/6283973
> https://ci.chromium.org/ui/p/chromium/builders/try/chromeos-amd64-generic-rel-gtest/372754/overview
>
> Original change's description:
> > Add GL_BGRA_EXT as a sized renderable format
> >
> > dEQP tests were updated to cover GL_BGRA_EXT as a sized renderable
> > format. It was apparently always supposed to be, based on the
> > wording of the spec.
> >
> > This CL adds that support and updates expectations, along with a few
> > extra tests.
> >
> > Includes contributions from Robic.Sun@arm.com.
> >
> > Test: angle_end2end_tests, angle_deqp_*_tests
> > Bug: b/42267264
> > Bug: angleproject:394384906
> > Change-Id: Ia10bcd61f66c5d99a3d27a2cfd6008c991ddcaa7
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235444
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Commit-Queue: Cody Northrop <cnorthrop@google.com>
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
>
> Bug: b/42267264
> Bug: angleproject:394384906
> Change-Id: I64572361cfed33b4ea17eabf278f580471d045c2
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6285628
> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: b/42267264
Bug: angleproject:394384906
Change-Id: I1bd9df904d93fd54286cbfce53fe89db89e842b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6310699
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
22dfe435
|
2025-02-20T06:46:07
|
|
Revert "Add GL_BGRA_EXT as a sized renderable format"
This reverts commit 80093a7d8f850c3ab551ddb4972c2f1f27511433.
Reason for revert: suspect for blocking rolling ANGLE into Chroimum
https://chromium-review.googlesource.com/c/chromium/src/+/6283973
https://ci.chromium.org/ui/p/chromium/builders/try/chromeos-amd64-generic-rel-gtest/372754/overview
Original change's description:
> Add GL_BGRA_EXT as a sized renderable format
>
> dEQP tests were updated to cover GL_BGRA_EXT as a sized renderable
> format. It was apparently always supposed to be, based on the
> wording of the spec.
>
> This CL adds that support and updates expectations, along with a few
> extra tests.
>
> Includes contributions from Robic.Sun@arm.com.
>
> Test: angle_end2end_tests, angle_deqp_*_tests
> Bug: b/42267264
> Bug: angleproject:394384906
> Change-Id: Ia10bcd61f66c5d99a3d27a2cfd6008c991ddcaa7
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235444
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: b/42267264
Bug: angleproject:394384906
Change-Id: I64572361cfed33b4ea17eabf278f580471d045c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6285628
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
80093a7d
|
2025-02-03T08:50:21
|
|
Add GL_BGRA_EXT as a sized renderable format
dEQP tests were updated to cover GL_BGRA_EXT as a sized renderable
format. It was apparently always supposed to be, based on the
wording of the spec.
This CL adds that support and updates expectations, along with a few
extra tests.
Includes contributions from Robic.Sun@arm.com.
Test: angle_end2end_tests, angle_deqp_*_tests
Bug: b/42267264
Bug: angleproject:394384906
Change-Id: Ia10bcd61f66c5d99a3d27a2cfd6008c991ddcaa7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235444
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fe76d70b
|
2025-01-10T14:41:06
|
|
Vulkan: Enable 16-bit norm support for tex buffers
According to the spec for EXT_texture_norm16, it enables texture
buffers to support the following additional formats:
* GL_R16_EXT
* GL_RG16_EXT
* GL_RGBA16_EXT
All of the above are unsigned short normalized values.
* Updated validation to support the aforementioned formats in texture
buffers in case of support for the norm16 extension.
* Updated AdjustViewFormatForSampler() to also support norm16 values.
* Added the condition for advertising textureNorm16EXT that the 16-bit
UNORM formats above should have the buffer feature bit for texture
buffer support: VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
* Added support check for renderSnormEXT after textureNorm16EXT,
since the check for former currently uses the support for latter
as a parameter.
* Added unit tests to draw using a texture buffer with norm16 formats.
* Added TextureBufferTestBase in order to test the API calls in the
extensions and the core ES 3.2 version, which the following suites
are derived from:
* TextureBufferTestES31 (existing)
* TextureBufferTestES32 (new)
* Extended the tests to similar 8-bit formats.
Bug: angleproject:381313704
Change-Id: I49157e8c2c9b5438eaf8d56c1932d12e56489318
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6169006
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
3226a3df
|
2024-12-13T14:06:55
|
|
Reland: vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid
Implement the ability to select a specific device and driver combination
through a few new selection criteria:
VkPhysicalDeviceIDProperties::deviceUUID
VkPhysicalDeviceIDProperties::driverUUID
VkPhysicalDeviceDriverProperties::driverID
Earlier version had problems due to a test build issue. Per syoussefi@,
going to rework the test into a separate CL so that we get the core
change merged.
Bug: angleproject:351866412
Change-Id: I0a3f4f1a2154a06bf6286a037c9ad4834ef4dda2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6165286
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
|
|
3b092269
|
2025-01-09T08:54:00
|
|
Revert "vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid"
This reverts commit 96abb2c3d9e296ae12e50e0026bf5d3a7b925e7e.
Reason for revert: breaks rolling into Chromium
https://chromium-review.googlesource.com/c/chromium/src/+/6158098
Original change's description:
> vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid
>
> Implement the ability to select a specific device and driver combination
> through a few new selection criteria:
>
> VkPhysicalDeviceIDProperties::deviceUUID
> VkPhysicalDeviceIDProperties::driverUUID
> VkPhysicalDeviceDriverProperties::driverID
>
> Bug: angleproject:351866412
> Change-Id: Ia6716aaed658d2563612d8b5d81287df97b57462
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686557
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Auto-Submit: Steven Noonan <steven@uplinklabs.net>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:351866412
Change-Id: Ic7cf9dcf6a950556cc44f5920498db429c866340
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6164164
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
96abb2c3
|
2024-12-13T14:06:55
|
|
vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid
Implement the ability to select a specific device and driver combination
through a few new selection criteria:
VkPhysicalDeviceIDProperties::deviceUUID
VkPhysicalDeviceIDProperties::driverUUID
VkPhysicalDeviceDriverProperties::driverID
Bug: angleproject:351866412
Change-Id: Ia6716aaed658d2563612d8b5d81287df97b57462
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686557
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a1be7e61
|
2024-11-26T14:39:18
|
|
Implement EGL_EXT_surface_compression
This patch adds implementation of EGL_EXT_surface_compression to
ANGLE, including new API eglQuerySupportedCompressionRatesEXT and
adding EGL_SURFACE_COMPRESSION_EXT in EGLQuerySurface and
EGLCreateWindowSurface/EGLCreatePlatformWindowSurface.
Angle end2end test is added to verify the extension.
Bug: angleproject:375496226
Change-Id: I06926930d94485a378fc831d552cf55fe7938a57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073355
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6bb1bc9b
|
2024-12-10T16:56:33
|
|
Add an extension to report total memory usage of all GL objects
Currently the extension will only count GL buffers, textures and
render buffers' memory.
Fixed: angleproject:383256300
Change-Id: I33ce6fafae8aa5b60071e66366d35dc098e1313b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084013
Auto-Submit: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
a504b6a2
|
2024-11-25T15:59:05
|
|
Support GL_OES_required_internalformat
Enable GL_OES_required_internalformat GLES extension.
Bug: angleproject:364069034
Change-Id: Ia57548469abff189472aa20b13ca99179c45f2c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038448
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Panfeng Hou <panfeng.hou@arm.com>
|
|
6451a893
|
2024-11-27T16:06:09
|
|
Fix minimum caps for texture gather offsets.
Bug: angleproject:40096373
Change-Id: Ia5480a37eba4efa40cb602d279feaaddfa9c59c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6053597
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Stephen White <senorblanco@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6f28cb15
|
2024-11-26T15:59:21
|
|
Fix minimum caps for draw buffers and compute invocations.
Framebuffer and blend state code asserts that draw buffers > 0 so
unconditionally set it to 1. It's increased to 4 in the ES3 block.
Fix the value of MAX_COMPUTE_WORK_GROUP_INVOCATIONS, it was incorrectly
copied from the spec.
Bug: angleproject:40096373
Change-Id: I471fa7e8dddd9bca755daf8ce5834ed60ec4e629
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6052094
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
|
|
c02e0184
|
2024-11-22T17:21:38
|
|
Add GL_ARM_rgba8
* It is a subset of GL_OES_rgb8_rgba8.
Bug: angleproject:352352894
Change-Id: I07f031157344385c847cd229a85ebf59cc6dfcfc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6044333
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c4ec8dbb
|
2024-11-19T17:01:42
|
|
Vulkan: Expose EGL_ANDROID_front_buffer_auto_refresh
Original CL implemented the functionality without exposing the
corresponding extension.
This CL exposes the extension on Android and adds necessary validation.
Bug: angleproject:42265697
Change-Id: Ia01c68f04c41a850e531aa7b889de9e561f3a9db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6035186
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
78f146e3
|
2024-10-14T00:00:00
|
|
Remove EAGL support
Fixed: angleproject:362530620
Change-Id: I6157655a7ad5b1e30c5d0a155d3ae3e8a81997e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938872
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.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>
|
|
87e9ee9c
|
2024-07-08T14:07:05
|
|
egl: add missing extension string for D3D LUID
This extension was never announcing itself.
Bug: angleproject:351866412
Change-Id: I9a6e4aae1ea3a8aba49ed036cb7cc14ec1a9151f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686555
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
|
|
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>
|
|
ebb56cee
|
2024-05-31T15:10:37
|
|
Implement OES_tessellation_shader
Based on the specs, there are no functional differences between
OES and EXT.
* Added validation for glPatchParameteriOES() and the core
glPatchParameteri().
* Added the extension support for GLSL.
* EXT_shader_io_blocks is implicitly enabled for the EXT geometry
and tessellation shader extensions.
* OES_shader_io_blocks is implicitly enabled for the OES versions
of said extensions.
* Added a test to make sure using this extension works instead of EXT.
* Turned the repeated test code into a function:
* testTessellationTextureBufferAccess
* Skipped the tests that fail on various platforms.
* It seems that these tests were being skipped before enabling
this extension ("Not supported").
Bug: b/344030760
Bug: angleproject:345306326
Bug: angleproject:345304850
Bug: angleproject:345312771
Change-Id: I905da0132bf6525cb453dcaa613e4deb3155c4dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5595611
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1fa6c020
|
2024-05-28T14:44:09
|
|
Vulkan: Add multisample line width query support
* As part of GLES 3.2 support, added support to query the following
through glGetFloatv():
* GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY
* GL_MULTISAMPLE_LINE_WIDTH_RANGE
* Added some tests to check the limits of the values above.
* Updated comment regarding ES 3.2 spec table number.
Bug: angleproject:42266081
Bug: b/336860504
Change-Id: I2c359bbb9003b3e76f342f7419477bdb1caaf88f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5576760
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
ccd9a43b
|
2024-05-22T11:15:39
|
|
Split EGL_ANGLE_device_d3d into D3D9 and D3D11 versions.
Add EGL_ANGLE_device_d3d9 and EGL_ANGLE_device_d3d11 which make it
possible to know what type of device can be queried ahead of time
without generating EGL errors.
Refactor the DeviceD3D class into Device9 and Device11. Remove the
getType method now that it's not needed for internal validation.
Keep EGL_ANGLE_device_d3d for backwards compatibility.
Bug: angleproject:342096132
Change-Id: Ib950abad58e46a5be269891ea7afd0cb8534cbe8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5559163
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
a70ef7fc
|
2024-04-25T14:19:50
|
|
Add EGL_ANGLE_no_error for disabling EGL validation.
Chrome makes many small EGL calls that can have proportionally
expensive validation.
Bug: angleproject:8434
Change-Id: I4f4d0e6eff64839f76a0f7bf48e5c94b8df9d809
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5491459
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b380ed1f
|
2024-02-14T09:31:26
|
|
Vulkan: Add EGL_ANGLE_global_fence_sync
Chrome has an implicit assumption that due to context virtualization,
signaling a fence in one context results in synchronization with _all_
contexts that have previously made submissions.
This is not per EGL spec, but the functionality is easily implementable
in the Vulkan backend. In the Vulkan backend, each context is given its
own "timeline" of submissions (tracked by serials associated with
"indices"). The required functionality is implemented through a new EGL
fence sync object whose sole difference is that it synchronizes with all
the existing timelines rather than the one of the current context.
Bug: b/318721705
Change-Id: I6c45d065e592d0d4ed627ce9695196b1086d5021
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5297396
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
157088ad
|
2024-01-30T20:24:50
|
|
Add EGL extension for WebGPU
Bug: angleproject:8476
Change-Id: Ic5aad4eb56239d9346c6ba1f812d070ce85131a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5245895
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
0d67d1bb
|
2023-08-29T11:19:35
|
|
Vulkan: Support EGL_EXT_gl_colorspace_bt2020
Add support for following 3 BT2020 colorspace extensions
1. EGL_EXT_gl_colorspace_bt2020_hlg
2. EGL_EXT_gl_colorspace_bt2020_linear
3. EGL_EXT_gl_colorspace_bt2020_pq
Bug: angleproject:8330
Tests: EGLSurfaceTest.CreateWithEGLConfig1010102Support*
Change-Id: I3a6ca0daa9ad4400da3834f43678b0db816ba6e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4824045
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
e408fc53
|
2023-08-09T06:25:38
|
|
Add support for EGL_MESA_platfrom_surfaceless extension
This adds support for the EGL_PLATFORM_SURFACELESS_MESA platform type to
allow applications to obtain an EGLDisplay that's independent of any
native windowing systems. This will be used in Ozone/Wayland to create
surfaceless EGLDisplays.
Bug: angleproject:8331
Change-Id: If2ae7a811cfa63ab9f49d54d78f5a3782c8c2fed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749337
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7aadc962
|
2023-05-05T19:28:17
|
|
Ban transform feedback and blend extensions with PLS
Transform feedback can lead to render pass breaks in the Vulkan backend.
EXT_blend_func_extended may restrict the number of draw buffers
depending on API state, which can invalidate a PLS implementation.
KHR_blend_equation_advanced does not allow multiple draw buffers, which
is required by some PLS implementations.
Bug: angleproject:7279
Change-Id: Id89f0e485ee65f55d802b121018f13b0028d8029
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4510716
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
f507fe05
|
2023-04-06T12:27:00
|
|
Rename PLATFORM_IOS to PLATFORM_IOS_FAMILY
The current define ANGLE_PLATFORM_IOS actually means
"iOS or tvOS or WatchOS or MacCatalyst".
The current define ANGLE_PLATFORM_WATCHOS means nothing.
The current define ANGLE_PLATFORM_APPLETV means nothing.
Replace PLATFORM_IOS and its uses with PLATFORM_IOS_FAMILY, so that
then PLATFORM_IOS can be reintroduced and others can be fixed.
Replace PLATFORM_IOS_SIMULATOR and its uses with
PLATFORM_IOS_FAMILY_SIMULATOR for consistency.
Use consistent `#if X` notation instead of `#if defined(X)`.
Bug: angleproject:8121
Change-Id: Ibe668c2ae9bb801d15e036fcf1dfd53f22c30787
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4404161
Reviewed-by: Dan Glastonbury <djg@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
c19b66f6
|
2023-04-06T11:30:03
|
|
EAGL: Define ANGLE_ENABLE_EAGL in build system
ANGLE_ENABLE_EAGL is a "build system" decision.
Set this and new variable ANGLE_ENABLE_CGL in BUILD.gn file. This is
consistent with the other backends.
Remove ANGLE_CPU_ARM64. This was used to do ANGLE_ENABLE_EAGL=TRUE
when on Catalyst. Instead, let the build system set this.
For ANGLE/Chrome buildsystem, this is not set, as Catalyst is not
implemented. For WebKit, this should be set at WebKit build settings.
Replace
`defined(ANGLE_PLATFORM_MACCATALYST) && defined(ANGLE_CPU_ARM64)`
with simpler expression: `defined(ANGLE_ENABLE_EAGL)`.
Replace `defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_IOS)`
with simpler expression: `defined(ANGLE_PLATFORM_APPLE)`.
Bug: angleproject:8121
Change-Id: I3a0bbabb4347ad11f693e3f7c336ff12f66203d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4404160
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Dan Glastonbury <djg@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
b26b01a2
|
2023-03-09T00:00:00
|
|
Implement EXT_render_snorm
Bug: angleproject:8048
Change-Id: Id01beaea9565f8ab374c732fef70ec0ac0d8743e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334303
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e2cf65ed
|
2023-02-22T00:00:00
|
|
Implement QCOM_render_shared_exponent
Fixed: angleproject:8043
Change-Id: Ia76b8e4b60a640180bae77cba523142749051398
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289140
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
be9e8e7b
|
2022-12-14T14:13:39
|
|
Add EGL_ANGLE_wait_until_work_scheduled extension
We're changing eglReleaseTexImage so it calls
flushCommandBuffer(mtl::NoWait) instead of
flushCommandBuffer(mtl::WaitUntilScheduled)
and then adding an extension to allow us to
WaitUntilScheduled.
This is because Chrome calls eglReleaseTexImage for
every canvas and having it WaitUntilScheduled per call
is very slow. So instead we'll call eglWaitUntilWorkScheduledANGLE
once which will effectively wait just once.
Bug: angleproject:7890
Change-Id: I87bc9f9a1a7f4a0f99d93736cc3083799e76afeb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4109311
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
5b7113b6
|
2022-09-21T10:05:42
|
|
EGL: Implement EGL_EXT_device_drm and EXT_device_drm_render_node
These extensions are needed by Exo for zwp_linux_dmabuf v4 support.
Add the needed infrastructure to the EGL backend to support device
queries and expose the extensions there.
In the future we will want to support the extensions on Vulkan as well,
however unfortunately this is not trivial, so leave it out for now.
Bug: angleproject:7686
Change-Id: I0a54bf58dbaa9e87c8baac760cb9ac9027fea4c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3964272
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
a89f678f
|
2022-06-16T13:59:16
|
|
EGL: Implement ANGLE_metal_shared_event_sync on metal
Implement creation of fence sync object taking an external
MTLSharedEvent and optional value to use when signaling completion of
prior commands.
Extended end2end test suite with metal shared event test cases.
Test: angle_end2end_tests --gtest_filter=EGLSyncTestMetalSharedEvent.*
Bug: angleproject:7561
Change-Id: I0e72b5417275a20a24e535670ceb995ecc87abcb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3865060
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
2d48a370
|
2022-08-26T11:11:19
|
|
Vulkan: Support passthrough of colorspace attributes
On Android, the EGL loader supports and implements the necessary
functionality for the following colorspace extensions -
1. EGL_EXT_gl_colorspace_display_p3
2. EGL_EXT_gl_colorspace_display_p3_linear
3. EGL_EXT_gl_colorspace_display_p3_passthrough
4. EGL_EXT_gl_colorspace_scrgb
5. EGL_EXT_gl_colorspace_scrgb_linear
Add support for "EGL_ANGLE_colorspace_attribute_passthrough"
extension that allows vendors that support wide color gamut
to passthrough colorspace attribute values to the underlying
Vulkan implementation to be used during VkImage creation.
Bug: angleproject:7319
Test: PbufferColorspaceTest.CreateSurfaceWithColorspace*
Change-Id: Ibd78bb5fea4ede394f4dc5027c1d4a730746f2ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3855048
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
aa2a558e
|
2022-08-23T09:47:02
|
|
Vulkan: Add support for setting timestamp surface attribute
On Android the EGL wrapper handles most of the functionality required
by EGL_ANDROID_get_frame_timestamps. However if for some reason the
swapchain is recreated, the timestamp state would be lost resulting in
stuttering.
Introduce EGL_ANGLE_timestamp_surface_attribute extension that adds
support for toggling the EGL_TIMESTAMPS_ANDROID attribute of a surface.
Cache this state and recreate the swapchain accordingly.
Bug: angleproject:7489
Test: EGLSurfaceTest.TimestampSurfaceAttribute*
Test: dEQP-EGL.functional.get_frame_timestamps*
Change-Id: I3660f7137c006d904164d243a682a4ff520eabd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3753396
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
68634d5c
|
2022-01-05T20:33:32
|
|
Vulkan: Enable VK_EXT_platform_wayland
Bug: angleproject:6902
Change-Id: I6a27e3f610bd48dd31937255b287b11fe84c05ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3528756
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2fb58a95
|
2022-02-15T15:40:23
|
|
Re-land: "Vulkan: GBM platform"
Add support for GBM platform by implementing a Display with no WSI
extension.
Re-land fixes build script, including GBM Vulkan backend whenever ozone
platform GBM is enabled.
Bug: angleproject:7217
Change-Id: Icbf2d034b700e22ab4c351e479f472d65d832ebe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3637562
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0db4c39b
|
2022-05-09T20:02:58
|
|
Revert "Vulkan: GBM platform"
This reverts commit 825d5b2c59b463253c82262a0c50f75d28860db4.
Reason for revert: Fails link rolling into Chrome crrev.com/c/3635013
https://ci.chromium.org/ui/p/chromium/builders/try/chromeos-amd64-generic-rel/1149608/overview
https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-compile-dbg/1013047/overview
https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-rel/1189185/overview
Original change's description:
> Vulkan: GBM platform
>
> Add support for GBM platform by implementing a Display with no WSI
> extension.
>
> Bug: angleproject:7217
> Change-Id: Ia9089131c5984dfdd926d2f85f1c218df1e84d9a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3596042
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7217
Change-Id: Ia8a4ca753a8f18d6a2c607010b5afabf6a78fe9a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3636059
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
825d5b2c
|
2022-02-15T15:40:23
|
|
Vulkan: GBM platform
Add support for GBM platform by implementing a Display with no WSI
extension.
Bug: angleproject:7217
Change-Id: Ia9089131c5984dfdd926d2f85f1c218df1e84d9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3596042
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5b4f180c
|
2022-04-29T16:56:34
|
|
Fix formatting
Unrelated changes created by running "git cl format"
Bug: None
Change-Id: I880c7d50aead70353f22502d953efa7aa60ff5d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3616882
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e74d0e81
|
2022-02-11T18:05:12
|
|
Vulkan: Implement EGL_KHR_partial_update
This change provides a trivial implementation of partial
update that does nothing, making apps that want this
extension happy. A possible efficient Vulkan implementation
would use the damage set to narrow down render area, but it
appears to only be useful for only some TBDR hardware.
Bug: angleproject:6960
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Change-Id: Ic553ac9590c336093f1bf25a6521574622599bf6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427640
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Constantine Shablya <constantine.shablya@collabora.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
29678329
|
2022-01-21T14:06:42
|
|
Vulkan: Fix advertised precision ranges
Advertise precision ranges similar to the spec requirements. This
change requires a fix to the CTS to allow drivers to provide more
precision in some situations:
97ceb2222747fef380d25acd15638b599fbc1d5a in VK-GL-CTS
Bug: angleproject:6645
Change-Id: I9b537a8acdf885e35fbcb539c70b730c5f2accc1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3407737
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2f4f5f8a
|
2021-12-14T17:30:42
|
|
Add EGL_ANGLE_platform_angle_device_id for the Metal backend.
This extension takes in a 64-bit device ID in two parts as parameters
to eglGetPlatformDisplay and uses it to initialize a display backed
by a specific device. The deviceID should match the MTLDevice's
registryId.
Bug: angleproject:6143
Change-Id: I02188b8266f8d0ac657b04325d191ab89bbef751
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3337985
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
42bd4fc2
|
2021-12-10T14:58:17
|
|
Metal: add ANGLE_metal_create_context_ownership_identity.
This Metal-specific EGL extension allows a given context
and the GPU resources it allocates to be associated with
a particular task ID on the system, for system-level
bookkeeping purposes.
Bug: angleproject:6795
Change-Id: I19ee0993564169b01c4a450e63dcfacd339b98b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3335172
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
e00ad443
|
2021-11-15T20:16:16
|
|
Add EGL_ANGLE_vulkan_image extension
This extension is for exporting VkImage from EGLImage.
The VkImage must be used with the same VkDevice used by ANGLE
Vulkan backend.
Bug: chromium:1264439
Change-Id: I222d900465cf2716d94fc64f06e240390ec518ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3285025
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
f422f21a
|
2021-11-09T18:42:15
|
|
Reland "Metal: Reintroduce GPU power preference selection code."
This reverts commit 67a8cf07a740c5ce3aafd2ad7fddd370451b3525.
Reason for revert: Landed Chromium-side dependency:
https://chromium-review.googlesource.com/c/chromium/src/+/3271170
Original change's description:
> Revert "Metal: Reintroduce GPU power preference selection code."
>
> This reverts commit 017161701b7dbf70a13f3c180a39e1fa45c27d9f.
>
> Reason for revert: Blocking roller, please re-land with the fix.
>
> Original change's description:
> > Metal: Reintroduce GPU power preference selection code.
> >
> > This CL re-introduces the GPU power preference code to
> > the metal backend. It also reworks EGLDisplay caching
> > in the frontend to cache based on the native display
> > as well as the power preference attribute.
> > A new extension, EGL_ANGLE_display_power_preference is
> > added based on EGL_ANGLE_power_preference. This extension
> > is a client extension that allows selection of GPU on
> > display creation, similar to how GPUs are selected on
> > context creation in EGL_ANGLE_power_preference.
> > This CL adds EGLDisplayPowerPreferenceTest and enables it on
> > the metal backend.
> >
> > Bug: angleproject:6143
> > Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Reviewed-by: Gregg Tavares <gman@chromium.org>
> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
>
> TBR=kbr@chromium.org,gman@chromium.org,jonahr@google.com,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I4f775bf7139253a87b033a30e0da2100b3c1bb02
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:6143
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270749
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
# Not skipping CQ checks because this is a reland.
Bug: angleproject:6143
Change-Id: Id9b0a5cbb76e4dea9e2f2da2b1c47a0587dfdaf5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270970
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
d3e67716
|
2021-09-21T15:03:15
|
|
EGL: EGL_KHR_lock_surface3
Add new extension KHR__lock_surface3
Add new interfaces for locking and unlocking a surface.
Test: angle_end2end_test --gtest_filter=EGLLockSurface3Test
Bug: angleproject:6062
Change-Id: Ic40708db4db552107025635540a0c62f956d741e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161447
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
67a8cf07
|
2021-11-09T15:10:50
|
|
Revert "Metal: Reintroduce GPU power preference selection code."
This reverts commit 017161701b7dbf70a13f3c180a39e1fa45c27d9f.
Reason for revert: Blocking roller, please re-land with the fix.
Original change's description:
> Metal: Reintroduce GPU power preference selection code.
>
> This CL re-introduces the GPU power preference code to
> the metal backend. It also reworks EGLDisplay caching
> in the frontend to cache based on the native display
> as well as the power preference attribute.
> A new extension, EGL_ANGLE_display_power_preference is
> added based on EGL_ANGLE_power_preference. This extension
> is a client extension that allows selection of GPU on
> display creation, similar to how GPUs are selected on
> context creation in EGL_ANGLE_power_preference.
> This CL adds EGLDisplayPowerPreferenceTest and enables it on
> the metal backend.
>
> Bug: angleproject:6143
> Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Gregg Tavares <gman@chromium.org>
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
TBR=kbr@chromium.org,gman@chromium.org,jonahr@google.com,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I4f775bf7139253a87b033a30e0da2100b3c1bb02
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:6143
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270749
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
01716170
|
2021-10-14T13:24:41
|
|
Metal: Reintroduce GPU power preference selection code.
This CL re-introduces the GPU power preference code to
the metal backend. It also reworks EGLDisplay caching
in the frontend to cache based on the native display
as well as the power preference attribute.
A new extension, EGL_ANGLE_display_power_preference is
added based on EGL_ANGLE_power_preference. This extension
is a client extension that allows selection of GPU on
display creation, similar to how GPUs are selected on
context creation in EGL_ANGLE_power_preference.
This CL adds EGLDisplayPowerPreferenceTest and enables it on
the metal backend.
Bug: angleproject:6143
Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
81d964a1
|
2021-10-28T10:50:51
|
|
vulkan: implement EGLDevice for vulkan backend
It allows ANGLE clients to get and use VkDevice and VkQueue
used by vulkan backend.
Bug: chromium:1264439
Change-Id: I338ac08152cfec50bb34c5025730e5e6368efba9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250964
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
d2c01d2c
|
2021-09-17T12:57:14
|
|
GL: Allow selecting virtualization groups at context creation
Rewrite EGL_ANGLE_platform_angle_context_virtualization to
EGL_ANGLE_context_virtualization, changing the context virtualization
parameter to an identifier for what virtualization group the frontend
context should be added to.
This allows ANGLE's GL backend to be used by multiple threads if the
user creates contexts with different virtualization groups.
Bug: angleproject:6406
Change-Id: I7414d4705ce10bdf63a9b824043d5dd040dad875
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169193
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ad8e4d99
|
2021-09-28T11:48:46
|
|
Remove EGL_ANGLE_flexible_surface_compatibility
This extension has been superseded by EGL_KHR_no_config_context.
Bug: chromium:1253930
Change-Id: Ie299c34baa84e9f47c73ddb5a0636536bf510d72
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3190612
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b918b1c6
|
2021-09-10T16:44:59
|
|
Auto-generate GLES extensions.
Uses the data from registry.xml combined with gl.xml to produce the
necessary header and source file with the strings map. Also updates
the list of supported extensions. Several extensions were missing
from the supported extensions map.
ARB_sync and NV_robustness_video_memory_purge require some specific
tweaks to get the generator to accept them as gles extensions.
Also includes a generate markdown file that lists supported exts.
Bug: angleproject:6379
Change-Id: I95bd589aa31a62b4a008de24408c7823a49023ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157418
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
e84b0154
|
2021-09-13T16:04:20
|
|
Update extension boolean names.
This is in preparation for auto-gen, which uses a simple naming
scheme. This fixes the bool names to be totally consistent with the
extension names.
Bug: angleproject:6379
Change-Id: Ia212449be04accb0e4f006b55b1813ab4481fa0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157417
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1ca1589f
|
2021-09-13T10:56:58
|
|
Give GLES extension bools a vendor suffix.
This is in preparation for auto-generation which will give all of
these bools suffixes.
Bug: angleproject:6379
Change-Id: I7e3f6c9b644c41a2165e6bf7b62d661fd352a250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158503
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a33d902b
|
2021-08-16T12:01:53
|
|
Add Entry points for GL_EXT_EGL_image_storage
Code generation for GL_EXT_EGL_image_storage
Bug: angleproject:6346
Change-Id: Ib918619205bfe7bd8fba0748ff6db593c858151f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133763
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d2d1f41f
|
2021-08-16T08:05:55
|
|
Add EGL extension to create window with a swap interval set.
On Vulkan this allows creating a window once without needing to
recreate the swapChain after we specify the swap interval.
Also adds a simple regression test and EGL enum assertion
printing formatting.
Bug: angleproject:5133
Change-Id: I72af124cb0e8f7cddfa810988a9862c0f36a0e46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097806
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6136620b
|
2021-03-25T15:43:06
|
|
Reland "EGL: GLES: Implement GL_EXT_protected_textures"
This is a reland of 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa
This removes changes in gl backend.
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: Id36d697c53afc0f0dadf92bda4565f9157f4fc2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076825
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c408926f
|
2021-07-22T12:00:59
|
|
Revert "EGL: GLES: Implement GL_EXT_protected_textures"
This reverts commit 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa.
Reason for revert: Suspected for breaking ANGLE->Chrome roller.
Bug: angleproject:6204
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:3965
Change-Id: Ia3ef260a17097b474189ccad5b235a9db99ee00b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043889
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
6210a9b3
|
2021-03-25T15:43:06
|
|
EGL: GLES: Implement GL_EXT_protected_textures
Implement EGL_EXT_protected_content Images
Add protected member to Images and Textures
Add error when creating objects if not supported or
does't match native buffer
When creating siblings pass protected state
Add extension caps
Add Validation
Add GetTexParameter and SetTextparameter
Add protected to Texture and state
Expand tests for images and textures
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d2b659f9
|
2021-03-25T15:40:58
|
|
EGL: implement EGL_EXT_protected_content Context
Add Validation check to Contexts and Surfaces
Add Vulkan protected memory features and properties
Add protected member to Surfaces and Contexts
Implement hasProtectedContent in Vulkan
Add QueueFamily helper, extent DeviceQueueMap
Protected Swapchains always on for Android
Add EGLProtectedContentTest
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: I9352b1e594f71bb4e89cee7137a468940d186b1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800413
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8c1cbc5a
|
2021-07-16T14:01:53
|
|
Implement EGL_KHR_mutable_render_buffer in the front-end.
Note that we do not currently expose any mutable configs.
Bug: b/192352791
Change-Id: Ib97f7889fedd91d09ef32dc7e7494ea4476cd7bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035583
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
232e5236
|
2021-07-08T15:08:35
|
|
Remove the explicit context extension.
This extension currently has no known users and doubles the
number of entry points that ANGLE exports which is a significant
binary size cost.
This saves about 130kb of binary size on Android.
Bug: chromium:1084580
Change-Id: Ib0fc4930b38a33bd61434f7d0030ba9fb9b93ba7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015518
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
db54b8dd
|
2021-06-08T21:44:10
|
|
Add YUV format support to frontend
Add GL_G8_B8R8_2PLANE_420_UNORM_ANGLE and
GL_G8_B8_R8_2PLANE_420_UNORM_ANGLE formats to InternalFormatInfoMap
Bug: angleproject:5773
Change-Id: Iaad4043f803c2702a5d41d3b9dc3a00c5f6aed73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947765
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>
|
|
69f2fb00
|
2021-03-08T10:49:31
|
|
Vulkan: Expose OES_geometry_shader extension
Modify the symbol table generation script to accept a list
of supported extensions. This allows for the EXT and
OES versions of the geometry shader extension to be exposed.
Test: angle_deqp_khr_gles31_tests --deqp-case=*geometry_shader*
Bug: angleproject:3571
Change-Id: Ia7127a03dbd3fce78957f0505d3ce0c9bab6cb15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2765011
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e697e379
|
2021-03-10T23:59:45
|
|
Vulkan: Allow certain usecases to have non-zero stride
When glVertexAttribPointer is called with a type parameter that doesn't
match the vertex attribute binding's type in shader, the vulkan backend
used to force the stride to 0. This is acceptable since this usecase is
unspecified in spec.
To allow for better app compatibility, introduce a new extension that
requires normal glVertexAttribPointer functionality to be maintained if
the mismatched vertex attribute type is a mismatched integer type sign.
This change also modifies the VkFormat used when a mismatch in
signedness occurs to use a VkFormat with the same component width as
the type parameter.
Bug: angleproject:5762
Test: VertexAttributeTestES3.DrawWithRelaxedVertexAttributeType*
Test: VertexAttributeTestES3.DrawWithMismatchedComponentCount*
Change-Id: I7e5281500afc3d77f0775821447cabfad3ff2d66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2765012
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1f1e0e6c
|
2021-05-13T12:35:43
|
|
Remove linear filtering requirement on depth textures
Linear filtering depth is an odd operation that doesn't yield
particularly useful information.
In the primary instance where it'd be used, the GLES3.1 spec
(8.17) specifically denies its use, and enforcing the capability
can lead to issues with hardware designed without support in
mind.
We think the check isn't necessary as a result.
Bug: angleproject:5964
Change-Id: I69f243f7cc078cd5383de2cc4bf1cfc3b6f2bc3b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894424
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@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>
|
|
19b7815d
|
2021-04-27T13:10:36
|
|
Angle: drop ANGLE_serialized_context_string from requestable
This extension is always needed for replay, and it should always
be enabled. By adding the extension using esOnlyExtension it is
no longer marked as requestable and WebGL compatibility will no
longer disable the extension.
Bug: angleproject:5851
Change-Id: I11c8f684b3bfe76c219a9210df0a2c5cccb706f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2853583
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
61167d52
|
2021-04-24T09:50:31
|
|
Add EXT_primitive_bounding_box entry points
Addition of the entry points for
GL_EXT_primitive_bounding_box extension.
Bug: angleproject:5896
Change-Id: I0dce407d2826ce3f730125d7c03f1233420f6780
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2849615
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
2d741b43
|
2021-04-20T07:33:02
|
|
Add KHR_blend_equation_advanced entry points
Addition of the entry points for GL_KHR_blend_equation_advanced
extension.
Bug: angleproject:3586
Change-Id: I7a651c19a4b3d0a7cfe4af7813f1530d27704bc1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2830140
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bdf5f084
|
2021-04-16T11:29:29
|
|
Add EXT_texture_border_clamp entry points
Addition of the entry points for EXT_texture_border_clamp extension.
Bug: angleproject:3586
Change-Id: I366c2748213d7fdde815543129320278937000e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2830146
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
5ee3826e
|
2021-04-01T16:23:27
|
|
Support GL_EXT_texture_type_2_10_10_10_REV on D3D backend
Bug: angleproject:5817
Change-Id: Ie572a252946f87d125f9074f2144928bb43d78b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802861
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
|
|
9b0911a0
|
2021-04-02T12:46:37
|
|
Add GL_ANGLE_get_serialized_context_string.
This will provide a front-door entry point where we can get
a serialized string representing the context state. Previously
we would have to call ANGLE internal directly.
This will enable a refactor of the replays to work more like
standalone plugin libraries.
Bug: angleproject:5811
Change-Id: I5a97d7aa3cd70c49199264c2eb7ca953943ac3c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2803391
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
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>
|
|
4ac6ea2a
|
2020-07-18T21:05:37
|
|
Metal: implement ANGLE_device_metal extension.
Allow user to query internal MTLDevice used by Metal back-end.
Bug: angleproject:2634
Change-Id: I9b0a6eaad8c634069f43e47d5f4f88f61da35f74
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757810
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
22fc9523
|
2021-02-03T15:32:48
|
|
EGL: implement EGL_EXT_buffer_age
Add extension flag.
Add Validation check to surface query.
Enable extension for vulkan.
Modify AcquireNextImage to ++frame count and tag images
with frame number.
Buffer age is the difference between current frame count
and the tagged frame number on the buffer.
getBuffeAge may need to trigger AcquireNextImage to be current.
Pass through egl extension and query.
Add EGLBufferAgeTest
Test: angle_end2end_test --gtest_filter=EGLBufferAgeTest
Test: angle_deqp_egl_tests
--deqp-case=dEQP-EGL.functional.buffer_age.*
Bug: angleproject:3529
Change-Id: I0cb94be1c3e85d6f33e82a6a1ccdc9731b6a7f23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2684724
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fb7a2445
|
2021-02-12T09:29:11
|
|
libANGLE: Declare copy operator if copy constructor is defined
If the copy constructor is defined then the copy assignment
must also be defined, but we can use the default here.
v2: Don't inline because the chromium-style errors out on this
Bug: angleproject:4486
Change-Id: Iec0f63342244249da32b455b49a0b89b6558cab9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690953
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
80a4223e
|
2021-01-28T17:51:31
|
|
Vulkan: Handle changes to viewport when clip origin is modified
The expected view port is different from current viewport translation
when the clip origin is the upper left. So now, it has four different
view port translations based on clip origin and y-flip of framebuffer.
- add query and state management for EXT_clip_control
- add dirty bit for clip control
- change viewport, scissor and cull face when clip origin changes
Bug: angleproject:5471
Tests: dEQP-GLES2.functional.clip_control.*
Change-Id: I78dc752c3287b09f25496034e0d0d2724138010c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2615863
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
74f7be6d
|
2021-01-28T14:04:47
|
|
Vulkan: Rectify typo in EXT_texture_format_sRGB_override
The extension string for EXT_texture_format_sRGB_override was
missing the "format" substring.
Bug: angleproject:4561
Change-Id: I19788191b589b64639b036d2bb54508077fca7e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2658355
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b912eec5
|
2020-11-27T11:08:41
|
|
Vulkan: Support GL_EXT_tessellation_shader.
Shader translator changes done in http://crrev.com/c/2633936
Adds a new DIRTY_BIT_PATCH_VERTICES state to Context.
Supportes state query and transform feedback.
4 test suppressions remain as follow-up fixes.
Adds a new varying packing mode for a simple Vulkan rule set.
Based on work by Mohan Maiya (m.maiya@samsung.com).
Test: dEQP-GLES31.functional.tessellation.*
Bug: angleproject:3572
Change-Id: I4cad2cca30adb754fd12c83027673906541f566a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568234
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
043fcf18
|
2021-01-07T13:23:57
|
|
Support create ANGLE EGLContext from an external EGLContext
For Android WebView, Android creates an EGLContext, EGLSurface
and FBO, and makeCurrent on them, and then calls WebView draw
function to draw the WebView content on the current EGLSurface or
binded FBO. So to use ANGLE in WebView, this CL adds a way to
create ANGLE EGLContext from an external EGLContext, and save
and restore GL state in eglMakeCurrent().
Bug: angleproject:5509
Change-Id: I874986813117f125e23e975ea1adc51ac5b3a631
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2615239
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
cea86910
|
2021-01-14T08:13:00
|
|
Vulkan: Support EXT_clip_cull_distance extension
EXT_clip_cull_distance extension is supported except for
some features related to EXT_tessellation_shader and
EXT_geometry_shader. Also added a few compiler tests to validate
the transformation from ESSL to GLSL for Vulkan backend.
Bug: angleproject:5458
Tests: angle_end2end_tests --gtest_filter=Clip*DistanceTest*
angle_unittests --gtest_filter=*Clip*Distance*
Change-Id: Ie74e6b2b55112ad92ad111191d629b63506032ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585987
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
2e9706d8
|
2021-01-08T17:29:42
|
|
Vulkan: Use angle::FormatID instead of VkFormat.
This change switches the internal enums we pass around from VkFormat
to FormatID. The end goal of the refactor is to allow the Vulkan
back-end to store packed tables indexed by FormatID. Because VkFormat
has large gaps in its enum space we'd otherwise need to use unordered
data structures like unordered_map.
The change removes the redundant VkFormat storage from vk::Format and
uses a new table query to return the VkFormat that 1:1 matches an
angle::FormatID. We also include a reverse mapping for use with native
Vulkan get functions for Android.
Also moves sRGB conversion functions into renderer_utils. A couple
sRGB formats that don't exist in GL are no longer handled by the sRGB
conversion functions. These formats should be extremely rare.
Bug: angleproject:5438
Change-Id: Id8b49773ca0c556f9f5a6a10fcf0d9762b93bbea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2618204
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
fb35201a
|
2020-12-22T13:14:41
|
|
GL: Expose NV_framebuffer_blit for ES2 contexts when available
ANGLE_framebuffer_blit is already exposed but has restrictions on
scaling/flipping and mismatched color buffer formats. When
NV_framebuffer_blit, EXT_framebuffer_blit, or an ES3 context is
available we can expose a less restrictive BlitFramebuffer.
Bug: angleproject:5474
Bug: chromium:1157057
Change-Id: I916ee39c8d6120216f91461080eb3ee9ca777e29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601165
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f32fbb51
|
2020-12-14T14:42:58
|
|
Add EXT_shader_framebuffer_fetch_non_coherent entry points
Addition of the entry points for
EXT_shader_framebuffer_fetch_non_coherent extension.
Bug: angleproject:5454
Change-Id: I2b8ba5141eed61a0c3ba58aeb2eec12a2071e7f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2590991
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8670d618
|
2020-12-02T14:18:27
|
|
Add support for GL_EXT_debug_label
Add support for labeling of GL objects for debug purposes.
Tests: DebugTest.ObjectLabelsEXT*
Bug: angleproject:5337
Change-Id: I792a27c69395ed62da70c3f619bef71776fba432
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568711
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
8797714c
|
2020-12-01T11:39:25
|
|
Vulkan: Support OES_shader_io_blocks
Enables OES/EXT_shader_io_blocks extensions in Vulkan backends.
With shader I/O blocks, the varyings can now be an array of struct (the
block itself) of struct (nested in the block).
This change is missing a number of features. In particular, if the
shader I/O block has a location decoration in the middle of the block,
that is not handled yet.
Based on changes from m.maiya@samsung.com and jmadill@chromium.org.
Bug: angleproject:3580
Tests: dEQP-GLES31.functional.shaders.linkage.es31.io_block.*
dEQP-GLES31.functional.separate_shader.validation.es31.io_blocks.*
dEQP-GLES31.functional.program_interface_query.program_input.*
dEQP-GLES31.functional.program_interface_query.program_output.*
Change-Id: I593840475d2365ff6c9ce7b2290f5ee462a30dfb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2567645
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ccd0b7e1
|
2020-11-30T08:37:04
|
|
Add support for OES_framebuffer_object extension
Expose OES_framebuffer_object extension for GLES1 contexts.
Bug: angleproject:5401
Test: FramebufferObjectTest*
Change-Id: I63b504f580cdab4655b4bfbd3438bcd807b422ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561795
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
56663dbf
|
2020-11-19T21:21:19
|
|
EGL: Expose device query as a client extension.
This matches the extension spec. Previously we were exposing the ext
as a normal display extension. The extension should work without
needing a display.
Because the extension requires a non-null device for every display we
also add a MockDevice class to handle back-ends which don't implement
any attribute query extensions. By default the device query ext does
not expose any way to use devices so this works fine.
Bug: angleproject:5372
Change-Id: I474310a86aff6a83bd6f9a6b21c8a07c649f306d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551543
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|