|
2027314b
|
2025-08-26T17:07:27
|
|
CL/Vulkan: Enable OpenCL kernel printf in logcat
Added `__android_log_write` for kernel print output buffer
in case of android build
Bug: angleproject:433980940
Change-Id: I4eac408076c3b4d804949724eff439137172fa54
Signed-off-by: hoonee.cho <hoonee.cho@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981095
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
4d52bedb
|
2025-08-12T00:28:48
|
|
CL/Vulkan: Add 3.0 atomic memory order feature macros
With OpenCL 3.0, generic atomic_{load,store} functions
are defined with memory_order_seq_cst and memory_scope_device
as memory order and scope. For these corresponding feature
macros need to be enabled. Setting them up accordingly.
Bug: angleproject:379669750
Change-Id: I355cf4107fee10d203837ca0aa4a9f473cd81929
Signed-off-by: hoonee.cho <hoonee.cho@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981092
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
46d75031
|
2024-11-06T17:12:05
|
|
CL/VK: ConstantDataPointerPushConstant support
add compiler option "-module-constants-in-storage-buffer" to enable
Module-scope __constants to be collected into a single storage buffer
Bug: angleproject:442950569
Change-Id: I45b3776301a5cee8896cade71bce517dfad2eda2
Signed-off-by: hoonee.cho <hoonee.cho@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6916343
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
55063f5e
|
2024-11-06T09:26:38
|
|
CL/VK: ArgumentPointerPushConstant support
- use physical storage buffers instead of storage buffers
- add CLSPV compile options "-arch=spir64 -physical-storage-buffers "
- fix NonSemanticClspvReflectionArgumentPointerPushConstant logics
Bug: angleproject:442950569
Change-Id: I76a8c3fa6ea87c153022a5976f2914bd62cdfcf1
Signed-off-by: hoonee.cho <hoonee.cho@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6916341
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
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>
|
|
7ad67712
|
2025-08-13T16:33:03
|
|
CL/Vulkan: Enable cl_khr_integer_dot_product extension
- Enabled extension string and corresponding opencl_c features
- Updated packed_cl_enums.json with three new enums
- Enabled support for this extension in function clGetDeviceInfo
- Add support for CL_DEVICE_OPENCL_C_FEATURES API query through
clGetDeviceInfo corresponding integer_dot_product extension
- Updated vk_features.json with new ANGLE Feature
supports_shader_integer_dot_product
- The changes in autogen files are generated by running the
run_code_generation.py script
Tests-Passing:
ocl_cts: test_integer_ops integer_dot_product
ocl_cts: test_compiler features_macro
VK-GL-CTS:dEQP-VK.spirv_assembly.instruction.compute.opsdotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsdotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotaccsatkhr.*
Bug: angleproject:433980939
Change-Id: Iae7a7753d0556beeb85c254c61a37a0d047df058
Signed-off-by: Hareesh Karada <hareesh.k@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6785089
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|