src/libANGLE/renderer/vulkan/CLProgramVk.h


Log

Author Commit Date CI Message
Shahbaz Youssefi c3a1cae4 2024-04-15T14:58:55 Use angle::SimpleMutex everywhere in libGLESv2 Only cases left that use std::mutex are: - Share group and the context ErrorSet mutexes as they need try_lock() - Anywhere mutexes are used in conjunction with std::condition_variables (as they explicitly require std::mutex) Bug: angleproject:8667 Change-Id: Ib6d68938b0886f9e7c43e023162557990ecfb300 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5453294 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand d4abe622 2024-04-03T17:46:38 CL/VK: Implement enqueue NDRangeKernel & Task Adding support for: clEnqueueNDRangeKernel clEnqueueTask Bug: angleproject:8631 Change-Id: If57002be3ea00a55215e89ca47ab8fe9a422c6e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5406614 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand 76636ddb 2024-04-04T15:39:08 CL/VK: Update missing reflection ops & DS creation Adding CLProgramVk routine to allocate DS. Also adding reflection parsing support for WGS IDs and PushConstantGlobalSize. Additionally, we now check VK implementation if non-semantic reflection data (in SPIR-V) is supported. If not, we strip that data from binary (via vk_feature check). Bug: angleproject:8631 Change-Id: Ife02867c7c30b919abf663865adc92858e1bff8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5421574 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Austin Annestrand 2dc9d0cd 2024-04-04T14:38:31 CL/VK: Add workgroup size/count types Replacing existing CompiledWorkgroupSize type with "WorkgroupSize" and "WorkgroupCount". (since CompiledWorkgroupSize == WorkgroupSize). Bug: angleproject:8631 Change-Id: I4094d10e6ad5db51a56ae92fe4f2fb4a6e72bdc7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5425447 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand ff03a7b1 2024-03-19T10:54:22 CL/VK: Program build_status & mCallback fixes Was missing saving the build_status in the program export/binary to disk. Also, missing dereference for mCallback. Bug: angleproject:8435 Change-Id: I77f070f5bc1c40454d625abcf13c1a4b70c465b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5406613 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gowtham Tammana a8e9aa26 2024-03-11T23:50:18 CL/VK: Setup GlobalOps for the platform Setup CLPlatformVk as a provider of vk::GlobalOps, and use the vk::GlobalOps associated thread pool for async tasks. Bug: angleproject:8515 Change-Id: I3e1ae069afabeadfdfa02f4a2f99419882f91c6a Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5403225 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand bc633ad7 2024-01-18T12:24:40 OpenCL/Vulkan: Implement compile and link routines Enables the following OpenCL APIs for the Vulkan Backend: clCompileProgram clLinkProgram Bug: angleproject:8571 Change-Id: Ide7d2911922347055051537c9c70b83be4e24575 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5341375 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand 0ed0de4f 2024-01-18T10:47:50 OpenCL/Vulkan: Add initial program build support Introducing both clspv compiler lib integration, and clBuildProgram support. Internally we also add buildInternal() routine to abstract compile, link, and build phases. Output SPIR-V is also parsed internally via parseReflection() so that we can extract needed reflection information for CL runtime. Bug: angleproject:8549 Change-Id: If0563f4bea7ed0e04a13ea7a46c125c811d9c2a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5303564 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 1ceddbf6 2024-01-11T16:15:08 OpenCL/Vulkan: Add createProgram routines Introduce createProgramWithSource and createProgramWithBinary. Additionally introduce KernelArgument types, SPIR-V Reflection info types, and DeviceProgram types. Bug: angleproject:8549 Change-Id: I611627d747a5ba6718778fd27fd28477b77fbbe1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5303563 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand 80893f26 2023-11-30T16:57:15 OpenCL: Remove unneeded impl getters Some of the OpenCL backend (impl) getters are not needed. These are the size query for image creation, and CL source retrieval for program objects not created from source. Bug: angleproject:8438 Change-Id: I76b39b75f1ae76ec0c3c94d5715632cb9dd4900a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5078243 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 66d29149 2023-10-16T12:43:43 OpenCL: Add scaffolding to renderer/vulkan code Start off ANCLE (OpenCL on ANGLE) with backend scaffolding code with placeholder API error returns until they are later implemented. Bug: angleproject:8377 Change-Id: I223d3482cce097ccb298e121fc03ec416e8958fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4950556 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
John Plate 1aa88398 2021-05-24T14:19:05 CL: program object creation for front end and pass-through Add program object to back end and implement creation and info query. Bug: angleproject:6001 Change-Id: If94db8ab8b491e1ac21c767347cabb6f4f3b3cba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2912465 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>