|
b47fffc8
|
2025-02-20T11:11:25
|
|
CL/VK: Add rewrite-packed-structs and int8 CLSPV option
To support structs with three- and four-component vectors,
--rewrite-packed-structs is needed as a CLSPV option.
The --int8 option is added to allow shaders to process
char buffers.
Tests-Passing: OCLCTS.test_vectors vec_align_packed_struct_arr
Bug: angleproject:397733768
Change-Id: I98ecc9e82bc599453c27f60737bde752c69decd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6284137
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bf9f69fc
|
2025-02-14T11:57:14
|
|
CL/Vulkan: Add support for LiteralSampler
The support for LiteralSampler in clspv is enabled through the SPIR-V
non-sementic clspv reflection instructions - LiteralSampler [1].
Setting the utility functions to process
these instructions.
Bug: angleproject:394767574
Change-Id: I47aa03dac050f723d2e3f2a7f9c6c1756e7ac9cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6239519
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
|
|
2567dc4f
|
2025-01-30T11:20:57
|
|
CL/VK: Add spv validation for program build
Bug: angleproject:42266976
Change-Id: I529395cba2d935cd6117c9c18fefd9a27903e2a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216570
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
439dfe5e
|
2024-12-12T00:37:13
|
|
CL/Vulkan: Add options passed to clspv compiler
* Passes rte mode and image feature macros options
to clspv compiler
* Adds image feature macros device reported cl features
Tests-Passing: OCLCTS.test_compiler features_macro,
OCLCTS.test_samplerless_reads,
OCLCTS.test_image_streams,
OCLCTS.test_basic image_param
Bug: angleproject:42266936
Change-Id: Ifd2b2c49a525ba3ee4be572de004fd317b0ff1ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6089949
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
|
|
e330d959
|
2024-04-09T15:13:48
|
|
CL/Vulkan: Add native builtins to clspv compiler
Add a set of native builtins that are known to perform better for
Samsung devices.
A feature condition `uses_native_builtin_cl_kernel` is setup in
`vk_featurs.json` for control of the selection. The following files are
autogenerated
- FeaturesVk_autogen.h
- angle_features_autogen.cpp
- angle_features_autogen.h
Bug: angleproject:361717757
Change-Id: I10ffad0cbf1d4c2e9bfeea768311d90b0f65af2d
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6092036
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e0cbdbb5
|
2025-01-15T14:08:45
|
|
CL/VK: Enable dispatch region chunking
This change does two things:
- Allow non-uniform workgroup size
- Dispatches that go beyond VK workgroup count limit
Bug: angleproject:42267085
Change-Id: I1f2da93252e466b811273ee34d9d38e454f11686
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180550
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0878d854
|
2024-10-29T12:24:22
|
|
CL/Vulkan: Query spv version from renderer
Query the SPV version to be used by the clspv from the Vulkan renderer
and set it up accordingly.
Bug: angleproject:361717757
Change-Id: I6b1497120c21402386cb52a751970830e5cd7f3e
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5973716
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fbb0f994
|
2024-10-17T17:24:19
|
|
CL/Vulkan: Add check for std430-ubo-layout option for clspv
To support 1byte vectors, clspv needs to add
std430-ubo-layout option.
Related ocl_cts: test_basic parameter_types
Bug: angleproject:387306730
Change-Id: Ic00db6fcb3bc69eac455b36c6772dd83111ac06c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6137320
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f64fef25
|
2024-06-07T12:18:18
|
|
CL/Vulkan: Protect clspv compiler calls
The clspv compiler uses llvm backend to perform source code
transliteration, and the llvm parser used is non-rentrant. So protect
the clspv compiler call with a mutex.
Bug: angleproject:361717757
Change-Id: Ib10d6d165307594bed607d5e794b0ef92c3c894b
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6092035
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f9709279
|
2024-09-20T16:02:56
|
|
CL/Vulkan: Add support for printf builtin processing
The support for printf builtin in clspv enabled through the SPIR-V
non-semantic clspv reflection instructions - PrintfInfo and
PrintfBufferStorageBuffer [1]. The printf buffer is setup with a
separate descriptor layout and the pipeline layout is updated
accordingly.
Also, printf is enabled as default option now for clspv.
[1]: https://github.com/KhronosGroup/SPIRV-Registry/blob/master/nonsemantic/NonSemantic.ClspvReflection.html
Bug: angleproject:369724757
Change-Id: I20b245eb0fea69941bd1aeb42534f8b729ec17e8
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893958
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
59eff366
|
2024-05-03T11:33:25
|
|
CL/Vulkan: Enable global offset support
There is a "--global-offset" clspv flag that
enables OpenCL global offsets. This feature
is disabled by default otherwise.
Bug: angleproject:364396921
Change-Id: I89179228d2ff9e0b6750d9d0d062261dfaddec6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5834663
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0929a8d7
|
2024-08-13T10:43:06
|
|
CL/Vulkan: Add utility function for clspv compile options
Add a utility function for querying the options based on the vulkan
renderer for the clspv compiler.
Bug: angleproject:361717757
Change-Id: I9722b8a80bcad3f2b799d87b8fbe29c84a686a6e
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5810696
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|