|
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>
|
|
5fd368aa
|
2025-07-30T14:45:55
|
|
Replace Surface::getWidth/Height() with getSize()
Most places in the code use both `getWidth/Height()` methods at the same
time. On some back-ends it is more optimal to have single method.
For example, `WindowSurfaceWGL` first uses `GetClientRect()` Win32 API
inside each method to then calculate width and hight in each method,
causing repeated `GetClientRect()` call.
The only place where only one of the methods may be used is from
`SurfaceImpl::getUserSize()` when one of the parameters is `nullptr`,
which is only possible from `QuerySurfaceAttrib()` function. This
method is rewritten to use new `getSize()` method and then use whatever
dimensions is requested by the caller. This may cause
`QuerySurfaceAttrib()` inefficiency on some back-ends that get width and
height of the surface differently (`SurfaceEGL` for example). In such
cases `getUserSize()` is overridden to avoid returning a dimension
which is not required.
After this change all places in the code that previously used both
`getWidth/Height()` methods (like `Surface::getAttachmentSize()`) will
be more efficient. The `QuerySurfaceAttrib()`, on the other hand, will
have slightly more overhead on back-ends where base
`SurfaceImpl::getUserSize()` method is used, which only happens on
back-ends with trivial `getSize()` implementation.
Bug: angleproject:397848903
Change-Id: I4a22701a1e62ee4e7d07e77cac5b388050d98e4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6802440
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
3cf7a604
|
2025-05-17T19:39:08
|
|
WebGPU: Add extensions for importing external textures
Add EGL_ANGLE_device_webgpu which exposes the adapter and device used
by ANGLE internally.
Add EGL_ANGLE_webgpu_texture_client_buffer which allows importing
external WGPUTexture handles if they share the same device as ANGLE
(queried from EGL_ANGLE_device_webgpu).
Bug: angleproject:418022112
Change-Id: I0683d36b84a0f8e0e9b68a5ec0d3aa8b7a95152c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6553063
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@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>
|
|
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>
|
|
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>
|
|
f4ff9241
|
2025-04-08T14:37:08
|
|
WGPU: add utils for converting between GLSL and WGSL types
...specifically those related to textures and samplers.
Bug: angleproject:389145696
Change-Id: If3bec56b70c04443928ef0d4e1e1a40b5c578cc0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6441818
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
ecc378cc
|
2025-03-03T16:43:33
|
|
Reland "Dont use Subject/Observer for SwapchainImageChanged"
This is reland of the following CL
https://chromium-review.googlesource.com/c/angle/angle/+/6319893
Because we do deferred ANI (VkAcquireNextImage) call until image is
needed, we need a way to force Context to go through
FramebufferVk::syncState call (FramebufferVk::syncState calls
WindowSurfaceVk::getAttachmentRenderTarget, which end up calling ANI.
Right now we uses subject/observer mechanism, by sending
angle::SubjectMessage::SwapchainImageChanged to all observers of
WindowSurfaceVk. In this case it is egl::Surface. Then eglSurface
redirects this message to its observers, which are all gl::Framebuffer's
attachments: color, depth, stencil. Even though only color attachment
needs to be notified, but because we don't have a separate list of
observers, depth/stencil attachment also receive the notification and
they early out. Then gl::Framebuffer sets
DIRTY_BIT_COLOR_BUFFER_CONTENTS_0 dirty bit and send the
angle::SubjectMessage::DirtyBitsFlagged to Context, which dirty DrawFBO
and ReadFBO and dirty cached state. Note that this is specific for swap
image changed case, there is no surface property change (surface
property change will still trigger the subject/observer message with
SubjectMessage::SubjectChanged message, but this occurs rarely). This
gets worse for apps that uses multiple contexts, for the example
pokemon_masters_ex has three contexts, each context has its own default
frame buffer that attach to the same surface, and we never remove
non-current context from the observer list. This end up with
egl::Surface has 12 observers and for every frame, it loop over the list
of 12 observers and send message (virtual function call) to each of
them. Color attachment also ends up sending two messages to Context, one
for Read FBO and another for Draw FBO. There are total 21 virtual
function calls. Even for single context usage, you have 6 virtual
function calls, for every frame.
EGL spec says "an EGLSurface must be current on only one thread at a
time", any other context must call EGLMakeCurrent in order to use this
surface, which will add all necessary dirty bits at that time. So we
really only need to notify current context. In this CL,
SwapchainImageChanged no longer uses subject/observer mechanism, so this
message is removed.
This CL still uses subject/observer mechanism to send DirtyBitsFlagged
from Framebuffer back to context. We could call setDrawFramebufferDirty
and setReadFramebufferDirty directly, but that will require to remove
the "const" decoration out of gl::Context which generates too much code
diff, so onStateChange(angle::SubjectMessage::DirtyBitsFlagged) is still
used.
Bug: angleproject:400711938
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6319893
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Change-Id: I017b0e8934b5194a520828fa5c4af1d6e3ef9aac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6404621
|
|
3cfc0ce2
|
2025-03-24T07:41:33
|
|
Revert "Vulkan:Dont use Subject/Observer for SwapchainImageChanged"
This reverts commit 48103cb2f2b292cb50cc5a29546b358b2e47fd29.
Reason for revert: assert fails
https://ci.chromium.org/ui/p/angle/builders/ci/android-arm64-exp-test/7085/overview
I 22:27:33.697 77.533s _RunTestsOnDevice(17221FDF6000A4) [ RUN ] EGLAndroidAutoRefreshTest.SwapCPUThrottling/ES3_Vulkan_NoFixture
INFO:root:ERR: SurfaceVk.cpp:3165 (getCurrentFramebuffer): ! Assert failed in getCurrentFramebuffer (../../src/libANGLE/renderer/vulkan/SurfaceVk.cpp:3165): mAcquireOperation.state == ImageAcquireState::Ready
Original change's description:
> Vulkan:Dont use Subject/Observer for SwapchainImageChanged
>
> Because we do deferred ANI (VkAcquireNextImage) call until image is
> needed, we need a way to force Context to go through
> FramebufferVk::syncState call (FramebufferVk::syncState calls
> WindowSurfaceVk::getAttachmentRenderTarget, which end up calling ANI.
> Right now we uses subject/observer mechanism, by sending
> angle::SubjectMessage::SwapchainImageChanged to all observers of
> WindowSurfaceVk. In this case it is egl::Surface. Then eglSurface
> redirects this message to its observers, which are all gl::Framebuffer's
> attachments: color, depth, stencil. Even though only color attachment
> needs to be notified, but because we don't have a separate list of
> observers, depth/stencil attachment also receive the notification and
> they early out. Then gl::Framebuffer sets
> DIRTY_BIT_COLOR_BUFFER_CONTENTS_0 dirty bit and send the
> angle::SubjectMessage::DirtyBitsFlagged to Context, which dirty DrawFBO
> and ReadFBO and dirty cached state. Note that this is specific for swap
> image changed case, there is no surface property change (surface
> property change will still trigger the subject/observer message with
> SubjectMessage::SubjectChanged message, but this occurs rarely). This
> gets worse for apps that uses multiple contexts, for the example
> pokemon_masters_ex has three contexts, each context has its own default
> frame buffer that attach to the same surface, and we never remove
> non-current context from the observer list. This end up with
> egl::Surface has 12 observers and for every frame, it loop over the list
> of 12 observers and send message (virtual function call) to each of
> them. Color attachment also ends up sending two messages to Context, one
> for Read FBO and another for Draw FBO. There are total 21 virtual
> function calls. Even for single context usage, you have 6 virtual
> function calls, for every frame.
>
> EGL spec says "an EGLSurface must be current on only one thread at a
> time", any other context must call EGLMakeCurrent in order to use this
> surface, which will add all necessary dirty bits at that time. So we
> really only need to notify current context. In this CL,
> SwapchainImageChanged no longer uses subject/observer mechanism, so this
> message is removed.
>
> This CL still uses subject/observer mechanism to send DirtyBitsFlagged
> from Framebuffer back to context. We could call setDrawFramebufferDirty
> and setReadFramebufferDirty directly, but that will require to remove
> the "const" decoration out of gl::Context which generates too much code
> diff, so onStateChange(angle::SubjectMessage::DirtyBitsFlagged) is still
> used.
>
> Bug: angleproject:400711938
> Change-Id: I61354516fd0aa307714b7abd30c6b6e45ff7b496
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6319893
> Commit-Queue: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Bug: angleproject:400711938
Change-Id: Ib7899d1ac63a1f86af0953a1d25922578c470fc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6387755
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
48103cb2
|
2025-03-03T16:43:33
|
|
Vulkan:Dont use Subject/Observer for SwapchainImageChanged
Because we do deferred ANI (VkAcquireNextImage) call until image is
needed, we need a way to force Context to go through
FramebufferVk::syncState call (FramebufferVk::syncState calls
WindowSurfaceVk::getAttachmentRenderTarget, which end up calling ANI.
Right now we uses subject/observer mechanism, by sending
angle::SubjectMessage::SwapchainImageChanged to all observers of
WindowSurfaceVk. In this case it is egl::Surface. Then eglSurface
redirects this message to its observers, which are all gl::Framebuffer's
attachments: color, depth, stencil. Even though only color attachment
needs to be notified, but because we don't have a separate list of
observers, depth/stencil attachment also receive the notification and
they early out. Then gl::Framebuffer sets
DIRTY_BIT_COLOR_BUFFER_CONTENTS_0 dirty bit and send the
angle::SubjectMessage::DirtyBitsFlagged to Context, which dirty DrawFBO
and ReadFBO and dirty cached state. Note that this is specific for swap
image changed case, there is no surface property change (surface
property change will still trigger the subject/observer message with
SubjectMessage::SubjectChanged message, but this occurs rarely). This
gets worse for apps that uses multiple contexts, for the example
pokemon_masters_ex has three contexts, each context has its own default
frame buffer that attach to the same surface, and we never remove
non-current context from the observer list. This end up with
egl::Surface has 12 observers and for every frame, it loop over the list
of 12 observers and send message (virtual function call) to each of
them. Color attachment also ends up sending two messages to Context, one
for Read FBO and another for Draw FBO. There are total 21 virtual
function calls. Even for single context usage, you have 6 virtual
function calls, for every frame.
EGL spec says "an EGLSurface must be current on only one thread at a
time", any other context must call EGLMakeCurrent in order to use this
surface, which will add all necessary dirty bits at that time. So we
really only need to notify current context. In this CL,
SwapchainImageChanged no longer uses subject/observer mechanism, so this
message is removed.
This CL still uses subject/observer mechanism to send DirtyBitsFlagged
from Framebuffer back to context. We could call setDrawFramebufferDirty
and setReadFramebufferDirty directly, but that will require to remove
the "const" decoration out of gl::Context which generates too much code
diff, so onStateChange(angle::SubjectMessage::DirtyBitsFlagged) is still
used.
Bug: angleproject:400711938
Change-Id: I61354516fd0aa307714b7abd30c6b6e45ff7b496
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6319893
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
4eb4165b
|
2025-03-07T10:24:05
|
|
Roll third_party/dawn/ 8119dbd27..7a8946456 (244 commits; 3 trivial rolls)
Need
https://dawn-review.googlesource.com/c/dawn/+/229494
to roll
https://chromium-review.googlesource.com/c/angle/angle/+/6334483
vulkan_platform.h:152:9: error: 'VK_USE_PLATFORM_XLIB_KHR' macro redefined
https://dawn.googlesource.com/dawn.git/+log/8119dbd27471..7a8946456d49
$ git log 8119dbd27..7a8946456 --date=short --no-merges --format='%ad %ae %s'
2025-03-07 cwallez [tint] Add support for binding_array to the IR validator
2025-03-07 hitawala [stream] Check for size invalidity before reserving in Stream::Read
2025-03-07 cwallez Reland "[dawn] Fix detection of __builtin_assume for DAWN_ASSERT"
2025-03-06 dawn-autoroll Roll ANGLE from 99ebd28ad246 to 0cdbc7814e59 (4 revisions)
2025-03-06 jiawei.shao Remove the redefinition of dawn::native::Vulkan::ClampFragDepthArgs
2025-03-06 jiawei.shao Vulkan: Implement PreferNotUsingMappableOrUniformBufferAsStorage()
2025-03-06 rharrison [tint][ir][fuzz] Re-enable SubgroupMatrix in IR binary
2025-03-06 shrekshao [Compat] Remove suppressions for ReadOnlyDepthStencilAttachmentTests
2025-03-06 thomasanderson [X11] Don't redefine VK_USE_PLATFORM_XLIB_KHR
2025-03-06 lokokung [dawn][emscripten] Fix Emscripten bindings for compilation messages.
2025-03-06 lokokung [dawn][native] Add validation for Infinities.
2025-03-06 lokokung [dawn][headers] Update wgpu::Surface APIs to match upstream.
2025-03-06 bsheedy [tools] Convert glob to use dependency injection
2025-03-06 cwallez [dawn][native] Track the set of BGLInternal separately from BGL.
2025-03-06 amaiorano tint: make PreventInfiniteLoops count down from uint32::highest() down to 0
2025-03-06 dsinclair Revert "Vulkan: Allow setting multiple `MemoryKind` bits"
2025-03-06 ynovikov Reland "Roll reclient, siso; update related DEPS to match Chromium"
2025-03-06 dawn-autoroll Roll ANGLE from 1a0c9db3748a to 99ebd28ad246 (8 revisions)
2025-03-06 cwallez Revert "[dawn] Fix detection of __builtin_assume for DAWN_ASSERT"
2025-03-05 zhaoming.jiang Dawn: Remove adapter from shader compilation request
2025-03-05 jiawei.shao Skip the test CreateBufferOOMWithValidationError when no validation
2025-03-05 lokokung [dawn][native] Make error scopes thread local.
2025-03-05 dawn-autoroll Roll ANGLE from 6b10ae3386b7 to 1a0c9db3748a (3 revisions)
2025-03-05 mohamedkhairy0101 tint: Improve error message for module-scope function calls
2025-03-05 mohammedashraf4599 add BOM error message
2025-03-05 cwallez [dawn] Fix detection of __builtin_assume for DAWN_ASSERT
2025-03-05 cwallez [tint] Add binding_array indexing to the resolver.
2025-03-05 kylechar Add SlabAllocator::DeleteEmptySlabs()
2025-03-05 dawn-autoroll Roll ANGLE from 73992d71f9d1 to 6b10ae3386b7 (7 revisions)
2025-03-05 shrekshao Remove enabling core-features-and-limits in backends
2025-03-04 lokokung [dawn][headers] Removes default UTF16 support.
2025-03-04 lokokung Reland "[dawn][headers] Remove obsolete ifdefs."
2025-03-04 jwata build: GN builds use Siso without Reclient in tools/setup-build script
2025-03-04 jrprice [vulkan] Fix subgroup matrix config gathering
2025-03-04 dawn-autoroll Roll ANGLE from bd8bc1055ecd to 73992d71f9d1 (1 revision)
2025-03-04 chrome-branch-day Activate dawn M135
2025-03-04 beaufort.francois Remove maxInterStageShaderComponents limit
2025-03-04 beaufort.francois Refactor Bindgroup constructors
2025-03-04 cwallez [tint] Add binding_array to the resolver
2025-03-04 cwallez Revert "[dawn][headers] Remove obsolete ifdefs."
2025-03-04 lokokung [dawn][headers] Remove obsolete ifdefs.
2025-03-03 zhaoming.jiang Dawn: Cache limits in AdapterBase
2025-03-03 dawn-autoroll Roll ANGLE from 19b35fcbff31 to bd8bc1055ecd (5 revisions)
2025-03-03 lokokung [dawn][headers] Adds extension support for UTF-16 in compilation message.
2025-03-03 jrprice [spirv] Only add explicit layout decorations on types that need them
2025-03-03 kainino [emscripten] Add emsdk to DEPS for Wasm builds
2025-03-03 lokokung [dawn][wire] Adds Dawn wire invalid extension struct and handling.
2025-03-03 jrprice [dawn] Validate workgroup size for subgroup matrix
2025-03-03 jrprice [inspector] Reflect the use of a subgroup matrix
2025-03-03 jrprice [tint] Reject non-compute shaders that use subgroup matrices
(...)
2025-02-18 zhjiang Dawn: Tighten the scope of ScopedTintICEHandler
2025-02-18 dawn-autoroll Roll DirectX Shader Compiler from 6b68f3b5832c to fcbd2a184294 (2 revisions)
2025-02-18 jiawei.shao Replace `PipelineCompatibilityToken(0)` with `kExplicitPCT`
2025-02-18 yulong.fs fix memory address value passed to emwgpuDelete()
2025-02-18 dsinclair [spirv-reader][ir] Implement OpConvertFToU
2025-02-18 kainino dawn::DynamicLib: Leak all DLLs on Windows ASan builds
2025-02-18 dsinclair [spirv-reader][ir] Implement ConvertFToS
2025-02-18 petermcneeley Fix for assignment outside the range of representable type
2025-02-18 kainino Refactor TINT_ASAN_ENABLED into common DAWN_ASAN_ENABLED()
2025-02-18 gman Add a trace option to the Metal Backend
2025-02-18 dawn-autoroll Roll ANGLE from ba3dcfa4670d to 8dda514cb833 (3 revisions)
2025-02-18 dsinclair Mark function unused.
2025-02-18 dawn-autoroll Roll DirectX Shader Compiler from 20950d662f4d to 6b68f3b5832c (1 revision)
2025-02-17 dawn-autoroll Roll ANGLE from e0332c861004 to ba3dcfa4670d (1 revision)
2025-02-17 dawn-autoroll Roll vulkan-deps from 2a09ac22553e to 5d08bc0b0e23 (6 revisions)
2025-02-17 yulong.fs fix buffer destroy
2025-02-17 dawn-autoroll Roll ANGLE from 51d2561b5a6b to e0332c861004 (1 revision)
2025-02-17 lehoangquyen D3D: remove dead code used by the old external image API
2025-02-16 dawn-autoroll Roll Depot Tools from 77a800d7294d to 7a0dbd207449 (59 revisions)
2025-02-16 jiawei.shao Enable creating pipeline layout with null bind group layout by default
2025-02-16 dawn-autoroll Roll vulkan-deps from 2365826a66b2 to 2a09ac22553e (1 revision)
2025-02-15 dawn-autoroll Roll vulkan-deps from cc6490ed63e7 to 2365826a66b2 (5 revisions)
2025-02-15 dawn-autoroll Roll ANGLE from bef478f54e6e to 51d2561b5a6b (2 revisions)
2025-02-15 jie.a.chen Fix CooperativeMatrix extension index
2025-02-14 dawn-autoroll Roll ANGLE from 7afa2345f8d2 to bef478f54e6e (3 revisions)
2025-02-14 dsinclair [spirv-reader][ir] Register names instead of using new
2025-02-14 dsinclair [spirv-reader][ir] Support OpBranchConditional after OpSelectionMerge
2025-02-14 dawn-autoroll Roll vulkan-deps from 5cc3a63e8fdb to cc6490ed63e7 (5 revisions)
2025-02-14 gman Emit WGSL errors as part of GPUValidationError
2025-02-14 jimblackler [Kotlin] Update template now WGPUChainedStructOut has been removed.
2025-02-14 dawn-autoroll Roll ANGLE from cd7f92e1ed57 to 7afa2345f8d2 (6 revisions)
2025-02-13 petermcneeley Substitute overrides in IR (vk)
2025-02-13 shaoboyan [Spirv] Remove clamp_frag_depth attribute in Options
2025-02-13 dsinclair [spirv-reader][ir] Handle OpBranch instruction
2025-02-13 jrprice [ir] Add builtin struct support to the protobuf
2025-02-13 rharrison [tint][ir][val] Check Samplers & Textures address space
2025-02-13 jrprice [tint] Add flag for WGSL internal structures
2025-02-13 rharrison [tint] Replace unsafe casting with shift & mask in eval.cc
2025-02-13 rharrison [tint] Narrow warning suppression in table_data.h
2025-02-13 bajones Loosen Viewport validation requirements
2025-02-13 shrekshao [Compat] Add compat-min-es31 tags in expectations
2025-02-13 gman Remove old subgroups from dawn.node
2025-02-13 dawn-autoroll Roll ANGLE from 19c5293e1347 to cd7f92e1ed57 (9 revisions)
2025-02-13 dsinclair [spirv-reader][ir] Add names for functions and function parameters.
2025-02-13 dsinclair [spirv-reader][ir] Support names.
2025-02-13 dsinclair [spirv-reader][ir] Fixup mixed sign binary methods.
2025-02-13 dawn-autoroll Roll vulkan-deps from a88fd25a6a0d to 5cc3a63e8fdb (17 revisions)
2025-02-13 dsinclair Add suppressions for compat failures.
2025-02-13 jrprice [spirv] Emit Matrix*SignedComponents operands
2025-02-13 jrprice [tint] Subgroup matrix component types do not have to match
Created with:
roll-dep third_party/dawn
Bug: chromium:345261080
Change-Id: I9ee360934bcbd838d682ffabe5029cc7baecec9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6333617
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6cd8a2db
|
2024-09-20T14:01:17
|
|
WebGPU: Use SurfaceTexture instead of SwapChain.
The SwapChain api is deprecated.
Bug: angleproject:342213844
Change-Id: I664d09eb0a0e8bca2ad73d9362f1f754f4dfbc7b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5873858
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
ca2e588b
|
2024-09-12T14:20:33
|
|
WebGPU: Add support for depth/stencil clears
This CL also adds helper methods to create webgpu depth/stencil
attachments for a render pass descriptor, as well as depth/stencil
attachment images.
Bug: angleproject:42267012
Change-Id: Iebef99ba34db2e50f56449d0737b3dbb03b90f2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5750001
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
8c12874c
|
2024-09-12T11:26:29
|
|
vulkan: add double buffer swapchain for fifo mode.
Double buffer swapchain usually drop the performance.
But at B* the default fps cap for silver device still at 30fps.
This change is for reduce latency.
Bug: b/311022968
Change-Id: Ida4044f439bbe3f235d53f5d1d2f945533cbb094
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5858255
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
27c0f10a
|
2024-08-06T11:12:32
|
|
WebGPU: Generate texture formats when initializing surfaces.
Bug: angleproject:344814096
Change-Id: I873c6308e9c203fd759ccbf5a378056f2aca849c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5763218
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1953c606
|
2024-07-30T21:28:13
|
|
WebGPU: Fix ReadPixels from window surfaces.
The intended/actual formats were not initialized in this code path and
the created swap chain texture did not have the usage flags needed for
copying to a buffer for ReadPixels.
Bug: angleproject:356399840
Bug: angleproject:42267090
Change-Id: I8e4279eedb2b23f0d2ed690ccee086ae115969c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748447
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
4f498eaa
|
2024-07-24T14:31:23
|
|
WebGPU: Add more format support
This CL adds a new FormatTable class that initializes webgpu texture
and vertex formats. It also adds this class to the display so it can
be used in the ImageHelper.
This CL changes the previously hardcoded RGBA8 texture format that
was initially used when creating textures to use the format passed
into the methods.
Bug: angleproject:344814096
Change-Id: I768b85335329116496dbf721aac54d1137aaae9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5660397
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@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>
|
|
85e2e6a9
|
2024-05-08T12:31:37
|
|
WebGPU: Add Window and Pbuffer surfaces.
Bug: angleproject:342213844
Change-Id: I58465bdf895b4bab63ec3c74e326c6be4827bf60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5525974
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
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>
|