|
1252d9aa
|
2025-05-30T14:16:23
|
|
CL: Create frontend event and pass to enqueue APIs
Since frontend cl_event object does not depend on enqueue
API routines, we can construct it early and then pass to
mImpl enqueue API calls (for any backend that needs it).
Also update backend routines to init their backend
event implementations using frontend event object.
Bug: angleproject:444482493
Change-Id: I459dbf34f10cb6b30245479c9966f876d6e905d7
Signed-off-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6941604
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ffbcd15e
|
2025-01-06T16:07:02
|
|
CL: Update event creation routines
Move backend construction after frontend construction
completes. This avoids potential undefined behavior
if backend construction tries to access members of
half-constructed frontend object.
Add virtual onEventCreate routine for any actions that
need to be performed after cmd event has been created.
Additionally, this also fixes incorrect timestamp values
when queue profiling is enabled for the VK backend.
This was due to a missed event association to the
cmd queue.
Bug: angleproject:377942756
Change-Id: I0a2f0390cc04f94143d1801ad71e06f63785f3ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6149055
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Gowtham Tammana <g.tammana@samsung.com>
|
|
82ba79ff
|
2024-01-08T15:22:59
|
|
OpenCL: Update CLtypes.h to cl_types.h
This change/enhancement is to keep codebase more consistent since
vulkan backend versions of this header use lowercase-snake_case for
file name.
Bug: angleproject:8501
Change-Id: I223712c72db06425d192ddfe7300e5475c341e38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5233364
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a9512a9f
|
2023-11-29T14:56:29
|
|
OpenCL: Replace error-return APIs to use angle::Result
The motivation of converting existing CL APIs using
"cl_int errorCode" to now use "angle::Result" is for better
interop with internal ANGLE plumbing/abstractions.
To facilitate this, we now make use of a TLS errorCode
object that we set internally and read from entrypoint/stubs
layer so that we can propagate back to user.
Bug: angleproject:8435
Change-Id: I7c2a786019c33c56649be4b6e8b61bc318497bb1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5075772
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2c8d9a9a
|
2021-06-09T16:09:35
|
|
CL: Remaining functions for OpenCL 1.2
Add support for the remaining functions for OpenCL 1.2 for the
front end and pass-through back end.
Also fix several bugs discovered by the conformance tests.
Bug: angleproject:6015
Change-Id: I1dca1c3f4c1d9aea7f0501094c171116ea01381f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954259
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: John Plate <jplate@google.com>
|
|
41b817f3
|
2021-05-31T17:38:43
|
|
CL: Add buffer enqueue commands
Add buffer enqueue commands to front end and pass-through back end.
Bug: angleproject:6015
Change-Id: I936530d31903e395550e4540339ebec2e6702e65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2928425
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
baca10b7
|
2021-05-29T16:26:57
|
|
CL: Remove object cache and fix multi-threading
All CL front end objects used to be cached to be able to determine
if an object has been created by the front end to check its validity.
The validity is now checked with the existence of an intrinsic value
(the dispatch table pointer), which is consistent with the patterns
found in Mesa and clvk (though clvk uses a magic value).
This allows the removal of all cached objects.
The cached objects were stored with std::unique_ptr. These are now
gone and all remaining pointers are now custom intrinsic reference
count pointers.
Also remove global lock which causes deadlocks, e.g. when CL API
is called from a separate thread to unlock a blocking call with
a user event. Most of the front end is constant and already
thread-safe. The ref count is also thread-safe now (atomic).
A few remaining locks will follow.
Without the global lock it was now possible to make the API
reentrant, and to remove the workaround with the Khronos ICD
loader to skip ANGLE's OpenCL library.
Bug: angleproject:6001
Change-Id: I7d3b52db9011a02cb7ea9ebdeb6e22c4c702ef5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2927395
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
076974a9
|
2021-05-28T11:44:54
|
|
CL: event creation for front end & passthrough
Add event object to back end and implement creation and info query.
Bug: angleproject:6001
Change-Id: Id4951b726b66afa289fafe1a716a7cfdb6f5826d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2925477
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|