|
94777428
|
2025-08-08T10:36:22
|
|
Shading rate should be {1,1} when enabled PER_SAMPLE
According to spec, if FETCH_PER_SAMPLE_ARM is enabled, the fragment
shading rate is set to {1,1}.
Bug: angleproject:437957110
Change-Id: I3ea6958f1aaec5f13923f62001906c7c6c71e09e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6839957
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Tingwei Guo <tingwei.guo@arm.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
718cdb91
|
2025-09-08T15:32:34
|
|
[WebGPU] Set ReadPixels to use context's command encoder.
This change modifies ContextWgpu::getCurrentCommandEncoder() such
that it now ends a render pass if there's an active one, ensures
a command encoder is created, then sets an outHandle command
encoder.
This streamlines a lot of repetitive calls when getting the
command encoder.
This change also modifies ImageHelper::readPixels such that it
now gets the command encoder from the context instead of making
its own. This ensure that when the queue is submitted for a
read call, that any draw/clear/etc calls in the queue are also
submitted for a texture so that a read call can properly read
from the texture.
Bug: angleproject:438268609
Change-Id: Iec6d7f7ca27c7640cc8bdb42da53f64e4836dc5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6923328
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
f32fa362
|
2025-09-02T16:14:44
|
|
[WebGPU] Add helper methods for streaming indices in syncClientArrays
Bug: angleproject:401499251
Change-Id: I2cab62524ce92a01117282726a3d4de1c266f818
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6438259
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
25390156
|
2025-08-21T00:13:19
|
|
Suppress unsafe buffers on a file-by-file basis in src/ [1 of N]
In this CL, we suppress many files but stop short of actually
enabling the warning by not removing the line from the
unsafe_buffers_paths.txt file. That will happen in a follow-on
CL, along with resolving any stragglers missed here.
This is mostly a manual change so as to familiarize myself with
the kinds of issues faced by the Angle codebase when applying buffer
safety warnings.
-- Re-generate affected hashes.
-- Clang-format applied to all changed files.
-- Add a few missing .reserve() calls to vectors as noticed.
-- Fix some mismatches between file names and header comments.
-- Be more consistent with header comment format (blank lines and
trailing //-only lines when a filename comment adjoins license
boilerplate).
Bug: b/436880895
Change-Id: I3bde5cc2059acbe8345057289214f1a26f1c34aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6869022
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
03068e0c
|
2025-08-20T17:36:22
|
|
[WebGPU] Implement direct copy for images.
This CL implements CopyImage specifically in cases
where the source is the same size and format as the
destination.
Bug: angleproject:438268609
Change-Id: Icf5f3685bb2f49874d996883c839515314f1c189
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6842317
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2ef85c24
|
2025-07-09T17:13:52
|
|
Vulkan: Add support for GL_EXT_fragment_shading_rate
Add support for GL_EXT_fragment_shading_rate.
Bug: angleproject:420310117
Change-Id: I7b368afc45baf8551c222b2569991269117d385b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6726817
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Panfeng Hou <panfeng.hou@arm.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b4d84458
|
2025-05-23T18:08:19
|
|
Move Buffer from VertexBinding to VertexArray
In later CL we will not taking shared context lock for certain
VertexArray API calls. VertexArray itself is per context, so this sounds
reasonable to do. The main challenge here is a lot of VertexArray
function end up accessing gl::Buffer object, which could be modified by
other shared contexts. In order to safely not taking the shared context
lock, we need to separate out Buffer object out of VertexArray itself so
that these lockless APIs will take VertexArray that does not have access
to buffer.
In this CL, VertexArray is split into two classes: VertexArrayPrivate is
everything in VertexArray except buffers. VertexArray is a subclass of
VertexArrayPrivate and owns all the buffers. Buffer is removed from
gl::VertexBinding class. In order to let back end access to buffers,
VertexArrayImpl holds a weak reference to
VertexArray::mVertexArrayBuffers (which is a vector of buffers).
Further, VertexArrayBufferBindingMask mBufferBindingMask is moved from
VertexArrayState into VertexArray class well, since it tracks which
index has a non-null buffer. The bulk of change are due to the
VertexARrayImpl constructor change, since it now takes
vertexArrayBuffers argument. Other bulk of changes are due to
VertexBinding no long has the buffer, but you need to get it directly
from VertexArray or VertexArrayImpl.
This CL also reverts some of the change in crrev.com/c/6758215 that
mVertexBindings no longer contains kElementArrayBufferIndex.
BYPASS_LARGE_CHANGE_WARNING
Bug: b/433331119
Change-Id: I15f4576f7c5c8d8f4d9c9c07d38a60ce539bfeea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6774702
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
3f170c17
|
2025-07-11T15:35:01
|
|
Roll third_party/dawn/ (1684 commits) and clean up WGPU_BREAKING_CHANGEs
With this roll, Dawn has completed the WGPU_BREAKING_CHANGE_* changes,
so the old paths are no longer used.
The roll:
https://dawn.googlesource.com/dawn.git/+log/7a8946456d49..d85fc050fef7
Created with:
roll-dep third_party/dawn
Bug: chromium:427242889
Change-Id: Ia17fbc1447944e7bcea20d5004367d94cf7be10e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6729918
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7ddc219f
|
2025-05-28T22:25:37
|
|
WebGPU: Handle Dawn breaking change in QueueWorkDoneCallback
Needed in order to update Dawn to match the standard webgpu.h, here:
https://dawn-review.googlesource.com/c/dawn/+/243697
Bug: chromium:414868699
Change-Id: Ib52c0e32b685ef3f9f05fe1fe549ab16e8eec610
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6600550
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kai Ninomiya <kainino@chromium.org>
|
|
70b90f22
|
2025-05-09T16:51:31
|
|
WebGPU: Use the C API only from the proc table
Define WGPU_SKIP_DECLARATIONS so that errors are generated when using
the global c or cpp functions.
The default proc table getter requires the cpp API is visible. Hide this
in a new wgpu_proc_utils so the rest of the WebGPU backend cannot see
those APIs.
Bug: angleproject:342213844
Change-Id: Ia1e9bfd25b0bb538cebeaa0efe7b9d2eeabc990d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6534317
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
3158d638
|
2025-05-06T17:08:56
|
|
WebGPU: Store the WebGPU proc table in wrappers
Instead of relying on the global WebGPU functions, pass the proc table
to the object wrappers.
Bug: angleproject:342213844
Change-Id: I79a5e819ffac5b366fed0a159a6cef116b5e82b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6514676
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
56becf05
|
2025-05-16T16:58:34
|
|
WGPU: texSubImage2D() should mark textures as dirty
TextureWgpu now observes its ImageHelper's edits to staged
subresources and notifies its observers (Texture) that it has
changed, ensuring TextureWgpu::syncState() is called before
draw if glTextSubImage2D() was called earlier.
Also ends the current render pass when flushing subresource
updates, otherwise if the texture is being used by the current
webgpu::CommandBuffer (staged render pass commands), the texture
may be updated before the staged commands are actually submitted
to the GPU.
Bug: angleproject:389145696
Change-Id: I07db566fca970e877a0d3faa3ceb02f8425c799a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6502676
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
96c9f065
|
2025-05-15T19:22:29
|
|
WGPU: Flip y for the default framebuffer
Bug: angleproject:389145696
Change-Id: I0d527ad3dc24dbca7e9d914b03edacdc257a568f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6477137
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
147f4810
|
2025-05-05T16:33:19
|
|
WebGPU: Use WebGPU C API for Display and error utils
Bug: angleproject:414831373
Change-Id: I56f90e453a746399c65956cc73eb4fcb020bcb5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512148
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
1faf6ef2
|
2025-05-05T15:18:58
|
|
WebGPU: Use WebGPU C API for Programs and Buffers
Bug: angleproject:414831373
Change-Id: I773f26483f53957bdfb8321b2a557df7febb376c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512147
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
cf0565f2
|
2025-05-14T17:59:41
|
|
WebGPU: Pack render pass descriptors
The render pass descriptors stored in FramebufferWgpu contained
references to textures that were fragile and depended on the
RenderTargetCache keeping the texture views alive.
Refactor the desc so that it does ref counting like the cpp interface
and clean up some FramebufferWgpu logic around copying descs.
Bug: angleproject:414831373
Change-Id: Ibea96e013474cc43aa30909b596b8898ebccef98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6546256
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
69841d3c
|
2025-04-30T23:55:16
|
|
WebGPU: Use WebGPU C API for Textures and Framebuffers
Bug: angleproject:414831373
Change-Id: I6b547a726b22e8eb5d407e2d6340b1d18bf39033
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6503024
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
481000fd
|
2025-04-30T16:42:39
|
|
WebGPU: Move pipeline creation to the C API.
Bug: angleproject:414831373
Change-Id: I3c4f7d22bce569d9813a580fd1f3d839ff165976
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6503023
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ce454fee
|
2025-04-30T15:24:34
|
|
Add RAII wrappers for WebGPU C API objects.
To ease the transition, add constructors from the cpp wrappers currently
in use. These will be deleted when we have fully moved to the C API.
Update the WebGPU CommandBuffer code to use the new wrappers and C API.
Bug: angleproject:414831373
Change-Id: I428349d84e1f79725eb836da5bb3d384ae296d75
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6501618
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c60d98ce
|
2025-05-03T01:06:02
|
|
WGPU: Ship driver uniforms in the bind groups to the shader
This writes driver uniforms to a WGPU buffer and ships that
buffer to the shader. Right now this creates a new buffer every time
a driver uniform changes.
Bug: angleproject:389145696
Change-Id: Icfbce4d995ef593e703a597bb96e72173ec29cda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6477136
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
4b69ba93
|
2025-04-28T16:45:56
|
|
WGPU: upload texture bind groups and configured samplers
GLSL samplers are split into separate sampler/texture variables
in WGSL. Before this CL, the WGSL translator generated shaders
that look like:
@group(1) @binding(@@@@@@) var ANGLE_sampler_samp2D :
sampler;
@group(1) @binding(@@@@@@) var ANGLE_texture_samp2D :
texture_2d<f32>;
@group(1) @binding(@@@@@@) var ANGLE_sampler_sampCube :
sampler;
@group(1) @binding(@@@@@@) var ANGLE_texture_sampCube :
texture_cube<f32>;
This CL replaces those with actual binding numbers
@group(1) @binding(0) var ANGLE_sampler_samp2D :
sampler;
@group(1) @binding(1) var ANGLE_texture_samp2D :
texture_2d<f32>;
...
Such that @binding(n*2) is the WGSL sampler variable corresponding
to the n-th GLSL sampler and @binding(n*2+1) is the WGSL texture
variable corresponding to the n-th GLSL sampler.
This CL then generates binding group layouts matching the above,
and uploads textures and configured samplers in bind groups.
This makes some of the deqp_gles2 tests 2d texture tests pass,
though some fail because they need a flipped y coordinate.
Not yet supported:
1. arrays of samplers
2. shadow samplers
3. cube textures
Bug: angleproject:389145696
Change-Id: I2ab18ae5ebb4d1289101266bd9451576aa04ce2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6382272
Reviewed-by: Liza Burakova <liza@chromium.org>
Auto-Submit: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bc40362b
|
2025-02-18T13:24:31
|
|
Add line loop emulation for draw arrays
Bug: angleproject:383356846
Change-Id: I43f4835e17ecb2401418f77555fd70332612e1bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6090912
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
e746fb06
|
2025-01-23T13:23:30
|
|
WebGPU: Implement blending
Constant alpha is not handled yet. It needs to be emualted or added
to WebGPU.
Bug: angleproject:370690274
Change-Id: I5f8402f74ab08345b2f02c18e2d43fa39b2479a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194554
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9f8d7cc2
|
2025-01-23T13:27:19
|
|
WebGPU: Stream incompatible vertex and index data.
Support reading back index and vertex buffers to stream incompatible
source data. For now this includes:
* Non-multiple-of-4 stride vertex data
* Stride not a multiple of the type size
* Unsigned byte indices
Fix fallback formats so that all GLES formats have a fallback.
Fix CopyToFloatVertexData writing the alpha channel as Float32One
with a static_cast which converted Float32One (an integer) to a
float instead of bit-casting.
Bug: angleproject:368602384
Change-Id: I7eb1ba7ad1ec4292060c18de22f5948136cbb0a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194556
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
40523499
|
2025-01-29T12:13:45
|
|
WebGPU: Emulate line loops for drawElements
Bug: angleproject:383356846
Change-Id: I82a6dfad4a1c5d434f029701611e4b61344655f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6086120
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
885a8060
|
2025-01-24T12:27:10
|
|
WebGPU: Implement depth/stencil test.
Force the compare function to Always when depth or stencil tests are
disabled.
Bug: angleproject:392604945
Change-Id: I67265b2e5eabe8e9fc3d1222140ee1b6a7c5cefa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6198040
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
4a835cf2
|
2024-11-01T13:31:00
|
|
WebGPU: send uniforms to GPU for use in shader
Basic uniforms should now be accessible in the shader during a draw
call, rather than just via glGetUniform*().
This is unoptimized and creates a new GPU-side copy of all the uniforms,
every time any uniform changes.
This sets up the bind group layout for a pipeline and sets the bind
groups in the renderer pass. Right now these bind groups only contain
the default uniform blocks, but in the future will need to contain
textures, samplers, and non-default uniform blocks (UBOs).
Bug: angleproject:376553328
Change-Id: I50891b81ab2ee374d674213257f76319c0222120
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5980972
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
37dd8e92
|
2024-09-20T17:49:11
|
|
WebGPU: Stream client arrays
Add support for vertex attributes and index data without buffer
backings. Stream the data to buffers at draw time.
Bug: angleproject:368602384
Change-Id: I697b7882cdebf0dfab08fcffabd2d36048920547
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5878137
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
0b610712
|
2024-09-20T12:00:17
|
|
WebGPU: Sync index buffers, add indexed draw calls
Bug: angleproject:368600230
Change-Id: Ibf1c4921635b525b7650e70ce7dc939e2bad2ebb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5828229
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bb14aa4d
|
2024-09-19T11:17:05
|
|
WebGPU: set vertex buffers.
This change actually sets the vertex attributes that are added to the
render pipeline description owned by the context, as well as sets
the vertex buffer in the pipeline.
Bug: angleproject:359823692
Change-Id: I5e94b357a4e6eadc1bbba54965cef94f90113b4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5789155
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
84492ff3
|
2024-09-10T13:11:07
|
|
Sync vertex attributs in VertexArrayWgpu.
This change only sets vertex attributes within VertexArrayWgpu and
sets them in the render pipeline description owned by the context.
It does not yet set attributes in the output pipeline created in
CreatePipeline, as vertex buffers are also not set yet.
Bug: angleproject:359823692
Change-Id: I1c3848e15d790026d53d4ab5614b1125f773e06a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5781788
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e10e31ed
|
2024-08-26T12:56:42
|
|
WebGPU: Add error handling macros for debugging.
Add a ANGLE_WGPU_SCOPED_DEBUG_TRY to create an error scope, execute
some commands and pop the scope in builds with assertions enabled.
A follow-up with full error handling at frame boundaries is still
needed.
Bug: angleproject:362191737
Change-Id: I4af9e1587f6d70bf14a3f6435b487e26424624ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5813006
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b36d94dc
|
2024-08-02T16:23:03
|
|
WebGPU: Implement viewport and scissor
Tested using samples. dEQP tests covering viewport and scissor require
more shader translation to be completed.
Bug: angleproject:0
Change-Id: Ia76f2edeea5a07af1881704a21fafb64ab7df43a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5756127
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
057bc0f0
|
2024-08-07T11:38:54
|
|
WebGPU: Set multiple parameters in RenderPipelineDesc.
This change adds multiple setters to RenderPipelineDesc to set
various parameters within the DepthStencilState.
Bug: angleproject:42267012
Change-Id: I71eed7195477572295de6575bfa18d2c58ca93de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5765553
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
31c0f439
|
2024-08-02T09:18:33
|
|
WebGPU: Centralize caps generation
All GL and EGL caps can be generated at display creation time for
WebGPU. Move all existing logic into a centralized GenerateCaps
function.
Bug: angleproject:357017322
Change-Id: I7398d4ee539192d64971023d9a598ac1f11592ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5759279
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9da7fb15
|
2024-07-30T21:21:45
|
|
WebGPU: Don't log all renderpass closure reasons
This logging line spams the console excessively. For now, just make
sure there is a message associated with each renderpass closure reason.
Bug: angleproject:356399840
Change-Id: I2313d439837ffb11f11cd56194511e80fb312eba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748444
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
84e54d88
|
2024-07-22T14:39:22
|
|
WebGPU: Add command buffers and renderpass management
Add a CommandBuffer class to serialize and replay WebGPU commands. Only
Draw and SetPipeline are implemented in this patch.
Manage render pass begin and end events due to framebuffer changes and
swapping.
Handle the color mask dirty bits so that a non-zero color mask will be
used.
All togther, this is enough to draw a triangle using a hard-coded
shader without inputs.
Bug: angleproject:0
Change-Id: I0fbf0296563c02c7f0774ad4197b83f4c93c22bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5731594
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c4274d54
|
2024-04-29T11:47:34
|
|
WebGPU: Add pipeline creation and caching.
Bug: angleproject:342213825
Change-Id: I303f193d30fd6b9820efaefcae64e11042888009
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5497535
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|