|
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>
|
|
657c8c0a
|
2024-06-04T15:16:20
|
|
Add optimization to defer clear calls.
This change adds a new SubresourceUpdate struct that will hold either
an update for a clear call or a texture upload in an ImageHelper's
update queue.
It also adds logic to defer clear calls similar to Vulkan's,
where clears are deferred if there is not an active render pass.
Draw based clears are not yet supported, so the optimization does not
handle those yet.
Bug: angleproject:8582
Change-Id: I3ee010fa64745871835d53ce0ccb56e3fdd74550
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5554984
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
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>
|
|
394e8767
|
2024-05-08T15:18:37
|
|
WebGPU: Fix accumulating mCurrentColorAttachments.
mCurrentColorAttachments was not being cleared so multiple clear
operations would have incorrect color attachments.
Comparing against the previous RenderPassDescriptor also compared
the same color attachment memory since the same scratch buffer was
used to generate the new descriptor.
Bug: angleproject:8582
Change-Id: I9026007607941b92856728b421bc43812195ca57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5526978
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
36cd4c1f
|
2024-05-08T12:27:22
|
|
Adding basic readPixels.
This change adds to methods in ImageHelper to read texture data.
It also implements FramebufferWgpu::readPixels to get the parameters
and read the texture data from an ImageHelper that's stored in
mRenderTargetCache.
Bug: angleproject:8653
Change-Id: I349ed8a0ae3d8d0e187c658f3402c4f8cac23eb8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5441353
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
1d0ef518
|
2024-05-07T16:56:43
|
|
Fixing glClear tests.
This CL makes a few changes to fix up the basic glClear test
RGBA8Framebuffer, as well as adding a test that uploads a
texture before clearing a RGBA8 framebuffer.
It moves the wgpu::RenderPassDescriptor(RPD), as well as helper
methods for comparing RPDs from the context to the framebuffer.
The color attachments that are created in when FramebufferWgpu::clear
is called are also stored in the framebuffer now as well.
This CL also changes texture creation to use the RGBA8Unorm format
instead of RGBA8Uint format. It also adds the wgpu viewFormats
parameter to an ImageHelper. Future formats support is still TBD.
Bug: angleproject:8582
Change-Id: Idfc4182eb4d6de8a771f2f91d337564ee71df010
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5503549
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
ead98ed9
|
2024-05-02T14:04:14
|
|
Implement basic texture upload.
This change modifies ImageHelper's methods to upload textures to
fix webgpu API calls, as well as fully implements uploading texture
data via TextureWgpu::setImage for RGBA8 formats.
Bug: angleproject:8457
Change-Id: I1c5be3d79ad996a709086ca7157cca6229a336ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5398002
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6557da03
|
2024-03-22T05:49:59
|
|
Implement TextureWgpu::getAttachmentRenderTarget()
Most of this is copied from TextureVk::getAttachmentRenderTarget() with
parts removed to make it simpler to start.
Need to check what happens when running a clear test.
Bug: angleproject:8582
Change-Id: Ia3b1f057add7714c7b192af1a3bf0edb41ccb649
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5388077
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
041b0a4d
|
2024-04-15T13:42:17
|
|
Begin initializing caps for webgpu
Bug: angleproject:8457
Change-Id: Idde0673297ec675a13bd3e4fd4d220ec47392153
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5391987
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
2218db2b
|
2024-04-10T13:41:17
|
|
Add error callback for webgpu device
Bug: angleproject:8547
Change-Id: I9946311a1f93cc5f49fb0e17e65c92789bdb3b6a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5443428
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
67fc293a
|
2024-04-05T13:25:12
|
|
WebGPU: Add shader translation and program linking stubs.
Add a TranslatorWGSL which outputs the same translated shaders every
time.
Implement the compile and link tasks.
Bug: angleproject:8662
Change-Id: I62bbd6c528e1d671d0f4becc38f15f1eceb0336c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5428807
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
f4485224
|
2024-04-05T10:29:23
|
|
WebGPU: Implement glBufferData and glBufferSubData
Define several usages for WebGPU buffers that map to wgpu buffer usage
flags. Maintain a set of buffers by usage and a serial of the one with
the most recent data.
Defer creation of the buffer as long as possible to take advantage of
the WebGPU mapAtCreation flag for data upload. If we ever have to unmap
these buffers, staging buffers must be used to upload afterwards.
Add some helpers for getting Device and Instance from a gl::Context.
Bug: angleproject:8654
Change-Id: Ibb8147119af8a98738fc4d579830a02ccaa1d7c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5426813
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
ac654931
|
2024-04-04T15:42:47
|
|
ProgramExecutable manages post-link tasks
Post-link tasks are now owned and managed by ProgramExecutable.
Also, update `LinkTask::link` API so backends have a choice to populate
either the linkSubTask or postLinkSubTask containers (but not both).
Bug: angleproject:8297
Change-Id: I5dbed6a070efe851fc1376699e9eccd3a21bd03f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5406487
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
be42f20b
|
2024-03-22T05:45:46
|
|
Start implementing glClear
Currently, because both SurfaceWgpu::getAttachmentRenderTarget() and
TextureWgpu::getAttachmentRenderTarget() are unimplemented, there is
no actual RenderTargetWgpu in the RenderTargetCache to clear.
Bug: angleproject:8582
Change-Id: I9ad33c57d533d81178d7d2a802d35b106ece5848
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5388076
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
5c6a531e
|
2024-04-03T02:53:13
|
|
Add ContextWgpu methods for managing current render pass
For simplicity ensureRenderPassStarted() just ends the current
render pass and starts a new one.
Bug: angleproject:8582
Change-Id: I929526cf2574fa33309310e7f60191c10ab3bf7a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5388075
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
beae7959
|
2024-03-26T11:12:15
|
|
Implement a basic setImage to TextureWgpu.
Bug: angleproject:8457
Change-Id: I62d7996b0492aa5dccfbc95892b5edc5cc05b20d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5392381
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
0add1163
|
2024-03-25T11:39:41
|
|
Move extent and dimension conversions to wgpu_utils.
This change moves some helper methods out of the ImageHelper and
wgpu_helpers and into wgpu_utils.
Bug: angleproject:8457
Change-Id: I1cc641e4a48eec30519e331b6150e2432d3bc3c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5392380
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eacd6acd
|
2024-03-22T05:38:13
|
|
Add RenderTargetCache to FramebufferWgpu
...and update it based on dirty bits.
Bug: angleproject:8582
Change-Id: If227392b24b3fc649d48cb1bce1144400cd98d70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5386900
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
ee02014d
|
2024-03-22T11:52:35
|
|
Selectively wait for LinkSubTasks
Backends have the option to request frontend to run their LinkSubTask
post-link. Do not wait for such sub tasks during most glProgram APIs.
Note that we do wait for these "post-link sub tasks" incase of a program
relink or first use by a draw call.
Bug: angleproject:8297
Change-Id: I936fb5a127570f9dfa567ee8cbc02e25c4b70a6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5387064
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1bd82319
|
2024-03-22T05:00:11
|
|
Add RenderTargetWgpu
Based on RenderTargetMtl without any multisampling support for now.
Bug: angleproject:8582
Change-Id: I4c77e747b341f08a0dd88f507e6d805d34a01d24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5386899
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
ad013650
|
2024-03-22T03:42:44
|
|
Revert "Rename LinkSubTask -> PostLinkTask"
This reverts commit 00eb6edba074a22389b09990ab856adfd417dd64.
Reason for revert: Sub tasks are not actually post-link tasks for all
the other backends (other than Vulkan), but they are a real part of
the link job.
Original change's description:
> Rename LinkSubTask -> PostLinkTask
>
> This is a renaming change, no behavior changes are expected.
>
> Bug: angleproject:8297
> Change-Id: I734c7959f5ed6db2447853cc6f6256e3c8e86213
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5382224
> Commit-Queue: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:8297
Change-Id: Iaebf9d165d810344bfc524042206ca427d270034
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5386432
Reviewed-by: Shahbaz Youssefi <syoussefi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6c379733
|
2024-03-21T14:25:52
|
|
Add more helper methods for textures.
This change adds a DisplayWgpu member variable to ContextWgpu
as well as a getter for the display so other objects can access
a webgpu device. This change also adds helper methods to translate
GL texture information (size, dimension, mip level count, etc.)
to webgpu compatible texture information.
Bug: angleproject:8547
Change-Id: Ifb2c5d021b1cbb95304a732c57d3250f1731496b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5385574
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
07137f57
|
2024-03-20T13:28:34
|
|
Add ImageHelper to TextureWgpu
Bug: angleproject:8547
Change-Id: If718d57704c2548cec27ca15e9adc7bf1a7f92b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5381638
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
00eb6edb
|
2024-03-20T06:49:38
|
|
Rename LinkSubTask -> PostLinkTask
This is a renaming change, no behavior changes are expected.
Bug: angleproject:8297
Change-Id: I734c7959f5ed6db2447853cc6f6256e3c8e86213
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5382224
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f8b18577
|
2024-03-15T16:31:02
|
|
Set the Dawn proc addresses at in DisplayWgpu initialization
This allows the display to fully initialize and some tests to pass!
Bug: angleproject:8485
Change-Id: I83176c572793ba8a6992264e873f7d24d3698d35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5372136
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
4e6fe5e0
|
2024-02-29T15:01:06
|
|
Vulkan: Cache ImageLoadContext in context
This avoids the need to requery this from the display every time.
Bug: angleproject:8564
Change-Id: Ied650e7789741f59b7662c0f97c55132b105778d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5332074
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6eaaad7c
|
2024-02-27T21:24:59
|
|
Create ImageHelper.
This CL adds a helper class ImageHelper, which acts
as a wrapper on webgpu textures that will be used by
TextureWgpu.
Bug: angleproject:8547
Change-Id: Ia796534c9d3ff0dd24797cc483677cfcbedb1f8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5317864
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
8346addb
|
2024-02-06T15:40:31
|
|
Contain X11 includes and free usage of common terms
This change undoes workarounds where some terms were avoided so there is
no clash with X11 (such as Success, Bool and None). In particular, this
helps us make sure we never include the X11 headers in such an
unconstrained manner as to clash with our code.
Bug: angleproject:8520
Change-Id: I53d9657c5a33164064d2c80a206b96fd52f607f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5273491
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
6d4706bf
|
2024-02-15T14:03:45
|
|
WGPU: Add a angle_dawn_dir build override.
This will allow Chromium to point out the dawn directory to ANGLE
and disable the WebGPU backend if dawn does not exist.
Bug: angleproject:8477
Change-Id: I5191b33dcf64ec1694f7be4ccc855b27d6fd0f76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5301615
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e8a3493f
|
2024-02-14T21:51:00
|
|
Initialize DisplayWgpu
This change adds basic initialize to DisplayWgpu as well as adding
APIs for DisplayGLX and DisplayWgpu. These APIs are necessary to ensure
DisplayWgpu doesn't pull in necessary X11 headers that break builds.
Bug: angleproject:8477
Change-Id: Icc6d9e7246a741def7a0337a296f9c1f9cec1415
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5259979
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
f2c00e8c
|
2024-01-18T18:36:33
|
|
Adding Dawn stub backend to ANGLE
Bug: angleproject:8473
Change-Id: I81ea83986e4e566169aa82250b5cfb727985ed01
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5201413
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|