src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp


Log

Author Commit Date CI Message
Austin Annestrand 8caf0e78 2024-08-30T20:16:33 CL/VK: Add writeBufRect staging/transfer routine Adding enqueueWriteBufferRect staging/transfer code/routine for the non-blocking conditions. Allows us to correctly stage writes in a batch of cmds with multiple enqueueWriteBufferRect cmds. Bug: angleproject:42267074 Change-Id: I715bb4c139374fa24ad5d1a0db329ae0f35ae741 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6068288 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 9e1ce8c1 2024-08-30T20:11:06 CL/VK: Add readBufRect staging/transfer routine Adding enqueueReadBufferRect staging/transfer code/routine for the non-blocking conditions. Allows us to correctly stage writes in a batch of cmds with multiple enqueueReadBufferRect cmds. Bug: angleproject:42267074 Change-Id: I46b7b9f4e1fbcd0314a7700525935ed2743b1587 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6068287 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alex Dean 9c566e86 2024-12-11T17:42:16 CL/VK: Fix event blocking for enqueueReadImage/enqueueMapImage There were issues with enqueueReadImage and enqueueMapImage getting blocked when one of the waitEvents is a user event. This change fixes the issue by staging a transfer routine. Additionally, this change removes the redundant struct BufferBox. Bug: angleproject:381199196 Change-Id: Id0c09d9930b36b79229f5e2367f8132e9e5e476e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6056426 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gowtham Tammana bde4d143 2024-09-27T14:08:43 CL/Vulkan: Setup a dispatch loop per commandqueue Commands submitted to renderer need clean up ops post completion. Setup a background thread per commandqueue that waits on the command completion and performs the post completion operations. Updated test suite and `angle.json` was autogenerated with `scripts/run_code_generation.py`. Bug: angleproject:375231041 Change-Id: I82b4211ee6e229c679ef31897fc63d61fa904bb5 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5960590 Reviewed-by: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Alex Dean 560138ab 2024-11-27T13:25:49 CL/VK: Fix Pipeline Barriers for Enqueue Image Commands Using pipeline barriers, this ensures completion of calls before and after any enqueue image command. Bug: angleproject:381214485 Change-Id: Idcc5bfc738a2cb67ba9891c2109617ffb7d8bfa8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055704 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Gowtham Tammana fa70c4cb 2024-02-02T13:59:06 CL/Vulkan: Implement the buffer rect enqueues This change implements the buffer rect copy using a series of memcopies. The CL buffer rect doesn't map cleanly to the Vulkan copy buffer command due to the presence of pitches, and implementing as such will introduce more barriers in the command stream. For now we do process this command at call entry point. Bug: angleproject:379764609 Change-Id: I89a9032a4bbfa48899c448eb131a5ce048e8fd60 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034035 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 2dc072ec 2024-11-22T16:14:52 Vulkan: Switch PipelineLayout from AtomicBind* to AtomicSharedPtr AtomicSharedPtr/SharedPtr has better semantics and safer to use. This will allow deleting BindingPointer in later CL. Bug: angleproject:372268711 Change-Id: Ife20f68b2277a1913b06be0de153770214ac964a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6044326 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Gowtham Tammana a58b35bc 2024-08-07T15:01:56 CL/Vulkan: Implement image creation from buffer object Add support for creation of image from buffer object for types image1d_buffer. At the kernel side setup texel buffer descriptor sets for these kernel arguments. Bug: angleproject:378103913 Change-Id: I600692cd003b75396afd45dcc93c568bcf390b96 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6005389 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand 0dfe0a75 2024-08-30T18:59:54 CL/VK: Add writeBuffer to staging/transfer routine Adding enqueueWriteBuffer staging/transfer code/routine for the non-blocking conditions. Bug: angleproject:377545840 Change-Id: Ia2f97588a887e9ec30f8f1715b0e33b56ff97867 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6023865 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gowtham Tammana e1fd42db 2024-09-02T12:53:22 CL/Vulkan: Add parent dependencies and image layout transitions In the case of memory objects derived from parent object, the dependencies need to be set for parent objects as well. Setting up those dependencies. In the case of images, there might be a layout transition needed when using them. Adding an appropriate barrier command to do layout transitions. Also, refactored all the common code of setting up dependencies in a utility function. Bug: angleproject:380188569 Change-Id: Ia46f8a7fe647bf38c86f1ea28f99d44b0416c334 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6005390 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gowtham Tammana 3515113e 2024-06-24T15:10:28 CL/Vulkan: Remove redundant state in CLImageVk Much of the image state can be queried from the front-end object. Removing all the redundant state from CLImageVk. Bug: angleproject:378103913 Change-Id: I7783674da891d1af768375e5d8efd1937c4a4177 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004687 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gowtham Tammana 743dd7bf 2024-11-06T12:29:36 CL: Add some event/memory helper functions Add the following helper functions on the CL frontend - check for user event - check for CL image/buffer types And on the VK backend - For CLBufferVk/CLImageVk much of the state is encoded in the front-end object. Add utility functions to get handle to them. - check for user event dependency in commandqueue Bug: angleproject:378103912 Change-Id: Ie76b44445ce2db3b5a49ccc6afe02e75c474875d Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004683 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Rafay Khurram 0dc407dc 2024-06-25T11:49:25 CL/Vulkan: Address slicePitch and rowPitch issues in images * Based on spec, the slicePitch >= the row pitch for 1D array * Validation should check if slicePitch >= rowPitch * region[1] for 2D array and 3D images * The row pitch should be based on region rather than image extent for the host copy * Offset in staging buffer is modified to be based on row and slice pitch * Returned row and slice pitch for clEnqueueMapImage is updated to be based on image's extent since mapped staging buffer is utilized Tests-Passing: OCLCTS.test_basic imagereadwrite, OCLCTS.test_basic imagereadwrite3d, OCLCTS.test_basic enqueue_map_image, OCLCTS.test_cl_fill_images use_pitches Bug: angleproject:42266936 Change-Id: I0f9bc5c576167bbdcdde467773f8159eb7bddb99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6014983 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafay Khurram <r.khurram@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Rafay Khurram b9932271 2024-06-18T16:38:28 CL/Vulkan: Add handling for NormalizedSamplerMaskPushConstant * Includes code for parsing reflection data and adding push constant * Creates a new sampler that is normalized to conform with constant * Fixed pointer returned in getImageDataChannelOrderRange/DataTypeRange Tests-Passing: OCLCTS.test_basic readimage3d, OCLCTS.test_basic readimage3d_fp32, OCLCTS.test_basic readimage3d_int16 Bug: angleproject:42266936 Change-Id: I6390193401c0c0411df87d9f61c917c8df7918d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6016821 Commit-Queue: Rafay Khurram <r.khurram@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Rafay Khurram aaf07534 2024-06-14T03:07:12 CL/Vulkan: Fix clEnqueueUnmapMemObject for host ptr image cases * For CL_MEM_USE_HOST_PTR case, host ptr has to be utilized in unmap. Tests-Passing: OCLCTS.test_cl_fill_images use_pitches 1D, OCLCTS.test_cl_fill_images use_pitches 1Darray, OCLCTS.test_cl_fill_images use_pitches 2D, OCLCTS.test_cl_fill_images use_pitches 2Darray, OCLCTS.test_cl_fill_images use_pitches 3D Bug: angleproject:42266936 Change-Id: I8fd3cd91fea61283ad5c28c1a7040d43310a0345 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987534 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
Rafay Khurram 08ce5672 2024-06-11T17:28:34 CL/Vulkan: Add pitches handling for image APIs * Changes applied to clCreateImage, clEnqueueReadImage, and clEnqueueWriteImage * Involved performing CPU copies to/from the staging buffer with pitch factored in Tests-Passing: OCLCTS.test_cl_read_write_images use_pitches 1Darray, OCLCTS.test_cl_read_write_images use_pitches 2D, OCLCTS.test_cl_read_write_images use_pitches 2Darray, OCLCTS.test_cl_read_write_images use_pitches 3D, OCLCTS.test_cl_fill_images 2D, OCLCTS.test_cl_fill_images 3D, OCLCTS.test_cl_fill_images 1Darray, OCLCTS.test_cl_fill_images 2Darray Bug: angleproject:42266936 Change-Id: I9d5bbecb9d83b2138b40e40e23a22218e497dcd0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987702 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Rafay Khurram <r.khurram@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Rafay Khurram c5242b6f 2024-06-03T00:40:05 CL/Vulkan: Add extent, offset, and layers handling for arrays * Sets the array layer count to appropriate value * For 1D/2D array, base layer is equivalent to the y/z origin * For 1D/2D array, offsets and extents should be set to 0/1 for unused dimensions Tests-Passing: OCLCTS.test_cl_copy_images 1Darray, OCLCTS.test_cl_copy_images 2Darray, OCLCTS.test_cl_copy_images 2Darrayto2D, OCLCTS.test_cl_copy_images 2Darrayto3D, OCLCTS.test_cl_copy_images 2Dto2Darray, OCLCTS.test_cl_copy_images 3Dto2Darray, OCLCTS.test_cl_copy_images max_images 1Darray, OCLCTS.test_cl_copy_images max_images 2Darray, OCLCTS.test_cl_copy_images max_images 2Darrayto2D, OCLCTS.test_cl_copy_images max_images 2Darrayto3D, OCLCTS.test_cl_copy_images max_images 2Dto2Darray, OCLCTS.test_cl_copy_images max_images 3Dto2Darray, OCLCTS.test_cl_copy_images small_images 1Darray, OCLCTS.test_cl_copy_images small_images 2Darray, OCLCTS.test_cl_copy_images small_images 2Darrayto2D, OCLCTS.test_cl_copy_images small_images 2Darrayto3D, OCLCTS.test_cl_copy_images small_images 2Dto2Darray, OCLCTS.test_cl_copy_images small_images 3Dto2Darray, OCLCTS.test_cl_read_write_images 1Darray, OCLCTS.test_cl_read_write_images 2Darray, OCLCTS.test_cl_read_write_images max_images 2Darray Bug: angleproject:42266936 Change-Id: I5ffb792c640c536045450ad6583d8d3bc0358d64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987532 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Rafay Khurram <r.khurram@samsung.com> Commit-Queue: Rafay Khurram <r.khurram@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Rafay Khurram 52831fc0 2024-05-30T02:28:11 CL/Vulkan: Add handling for image push constants Tests-Passing: OCLCTS.test_kernel_image_methods 1D, OCLCTS.test_kernel_image_methods 2D, OCLCTS.test_kernel_image_methods 3D, Bug: angleproject:42266936 Change-Id: Ie0c488ec02047a4a3da387c32178d05397c9d174 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987700 Commit-Queue: Rafay Khurram <r.khurram@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Rafay Khurram 485f6c34 2024-05-24T03:06:31 CL/Vulkan: Implement clEnqueueFillImage * Packs fillColor values, copies image to staging buffer, fills the relevant pixels in mapped staging buffer, and then copies back to image Tests-Passing: OCLCTS.test_cl_fill_images 1D, OCLCTS.test_cl_fill_images max_images 1D Bug: angleproject:42266936 Change-Id: I2ceb98830f49318edb71a1be14cecfdb4476d7ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961949 Commit-Queue: Rafay Khurram <r.khurram@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gowtham Tammana 267a3daf 2024-11-05T19:51:58 CL/Vulkan: Use enums for cmd exec status instead of bools Setup the `createEvent()` interface to take the initial state of the event using an enum, instead of boolean for better readability. Bug: angleproject:377997556 Change-Id: Ib5a23cf2034e61e90b345bb432af59d96338b707 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004063 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand f198e807 2024-10-16T17:47:17 CL/VK: Serialize cmds when queue profiling enabled When queue profiling is enabled by user (opt-in) we should serialize/finish each cmd. Bug: angleproject:377942756 Change-Id: I7809df073c0a6de0e4d5338bec2fa2032ebc1577 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003807 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Austin Annestrand a4172290 2024-10-08T13:20:40 CL/VK: Initial impl for migrateMemObjects Defer migration handling in multi-device setups. Allow API to return error-free on 1 device cases (nop) for now. Bug: angleproject:377942759 Change-Id: I9bcc238ad4d2965e1281a99ec2782e8cfe6c05a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003805 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand de287909 2024-08-30T18:38:40 CL/VK: Generalize host transfer sync utility Rework host transfer sync utility to handle multiple non-blocking enqueue transfer ops for buffer/image reads. Bug: angleproject:377545840 Change-Id: Ic382162ded15cb15c900baf724e02592bfd846c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6001611 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Gowtham Tammana 644b91f7 2024-02-29T16:37:37 CL/Vulkan: Implement buffer map/unmap Implement the buffer map, for now mapping is performed at the call site. Bug: angleproject:42267077 Change-Id: I16929920be8a49863de514b541ff0a57b6ac4453 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5971713 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 6df20e5f 2024-08-21T13:29:36 CL/VK: Add missing HostPtr-BufferVk sync on unmap Missing extra copy/sync for enqueueUnmapMemObject routine for USE_HOST_PTR scenario. Bug: angleproject:377366930 Change-Id: Ifcb0ed58beabf5870e00ed47b36cfd08767eba70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5990104 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gowtham Tammana 2f8ad9c1 2024-09-26T20:34:34 CL/Vulkan: Add support for sub-buffer creation Sub-buffer is setup to point to offset location of the parent buffer. The copy buffer interface is updated to account for copies from the same sub-buffer. Bug: angleproject:372157566 Change-Id: I668c7182a8c4c12e265115f1c28d9bfbfe562bb0 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916156 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Rafay Khurram 3c1e98a3 2024-05-22T01:46:52 CL/Vulkan: Fix clEnqueueMapImage/clEnqueueUnmapMemObject * Updates slice_pitch and row_pitch parameters with relevant values according to the spec. * For mapping, image is copied to staging buffer, then copied to dynamically allocated array * For unmapping, the reverse is done with the array being freed Tests-Passing: OCLCTS.test_cl_copy_images 2D, test_cl_copy_images small_images 2D, test_cl_copy_images max_images 2D, test_cl_copy_images 3D, test_cl_copy_images small_images 3D, test_cl_copy_images max_images 3D, Bug: angleproject:42266936 Change-Id: I0cd778244832ce66e72a58a228ed889a9002171e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961948 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Rafay Khurram <r.khurram@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gowtham Tammana 79b6c7ab 2023-10-09T13:29:07 CL/Vulkan: Add fillWithPattern interface In CL, the buffer can be requested to filled with a pattern. Adding a pattern fill helper routine that fills up the buffer from CPU side. Bug: angleproject:42267074 Change-Id: I144e9b7c6f4d1263f21cabc2491c46e8951e604f Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916157 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Rafay Khurram c0a28403 2024-05-06T12:42:28 CL/Vulkan: Enable clEnqueueNDRangeKernel for Images and Samplers * Performs clspv reflection for ArgumentSampler, ArgumentStorageImage, and ArgumentSampledImage * Creates descriptor sets for performing enqueue Tests-Passing: OCLCTS.test_basic readimage, readimage_fp32, readimage_int16, writeimage, writeimage_fp32, writeimage_int16, mri_one, mri_multiple, imagenpot Bug: angleproject:42266936 Change-Id: I2b6c631e76556870c4342d2046c267ff5cf5105d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5955597 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Rafay Khurram 7c99c225 2024-04-03T01:48:57 CL/Vulkan: Implement clEnqueue APIs involving images Review enables the functionality of: - clEnqueueReadImage - clEnqueueWriteImage - clEnqueueCopyImage - clEnqueueMapImage - clEnqueueCopyImageToBuffer - clEnqueueCopyBufferToImage Tests-Passing: OCLCTS.test_basic imagecopy, imagerandomcopy, OCLCTS.test_profiling copy_array_to_image Bug: angleproject:42266936 Change-Id: Ifd4ccd0a9e16bac11dbff74d4634d9ca4c5b4284 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5796530 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
Gowtham Tammana d9f8fba8 2024-09-27T15:56:36 CL/Vulkan: Fix event queue serials Some of the events are finished at call site, dont set queue serials for them. Bug: angleproject:372157567 Change-Id: I4e0d568b76959be96bc7565bae7cdb5d4549619a Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916155 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Gowtham Tammana 5b4609de 2024-10-07T14:40:49 CL/Vulkan: Adjust the pushConstant size/offset to multple of 4 The spec[1] requires the push constants size/offset to be multiple of 4. Adjust them as needed. [1]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdPushConstants.html#_description Bug: angleproject:372157565 Change-Id: I8ea788dbd68e3aea262e12af56e40ac84087ceef Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916154 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Charlie Lao dd54eeec 2024-10-11T13:26:46 Reland "Vulkan: Track GPU progress for individual DescriptorSet" This is a reland of commit 292102944add2ab30f4aa12a971cac456cc7726b with the fix of garbage being added back to garbage list. Original change's description: > Vulkan: Track GPU progress for individual DescriptorSet > > Right now ProgramExecutableVk keeps VkDescriptorSet object, and > DescriptorSetHelper is created when a cache entry becomes invalid. > Further, DescriptorSetCache keeps the cache of {VkDescriptorSet, > RefCountedDescriptorPoolHelper} pair. So we are having three different > type of objects at different stages of life: VkDescriptorSet, > DescriptorSetHelper, and {VkDescriptorSet, > RefCountedDescriptorPoolHelper. This CL makes DescriptorSetHelper at > creation and at cache and at garbage. With this change, you have a > reference counted DescriptorSetHelper object (i.e, DescriptorSetPointer) > during entire life cycle and is passed around between cache and program > as is. This CL is preparation for the future CL where we may disable > cache for descriptorSet. The descriptorSet will be added to garbage list > and reused constantly without go through the cache code. We need to > track the individual descriptorSet with ResourceUse so that it won't > reuse until GPU is finished. This CL is making DescriptorSetHelper a GPU > tracking object so that it will still just work when cache is disabled. > > Bug: angleproject:372268711 > Change-Id: I1cfb77cc5069b202d870388fd8809e265cdca90b > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5918586 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bug: angleproject:372268711 Change-Id: Ic920f99cc78cde1e94690bdbee3b885844fa155b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5954701 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Austin Annestrand 60da450e 2024-09-20T17:56:55 CL: Implicit cmd queue submit on release From OpenCL spec (3.0): https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#_flush_and_finish clReleaseCommandQueue perform an implicit flush of the command-queue. Bug: angleproject:8639 Change-Id: I0a3b0f3c602075fd2a6e1ac0310345b3d568df64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5410931 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 45cc47af 2024-10-22T21:41:22 Revert "Vulkan: Track GPU progress for individual DescriptorSet" This reverts commit 292102944add2ab30f4aa12a971cac456cc7726b. Reason for revert: Causing bot failure in later CLs Original change's description: > Vulkan: Track GPU progress for individual DescriptorSet > > Right now ProgramExecutableVk keeps VkDescriptorSet object, and > DescriptorSetHelper is created when a cache entry becomes invalid. > Further, DescriptorSetCache keeps the cache of {VkDescriptorSet, > RefCountedDescriptorPoolHelper} pair. So we are having three different > type of objects at different stages of life: VkDescriptorSet, > DescriptorSetHelper, and {VkDescriptorSet, > RefCountedDescriptorPoolHelper. This CL makes DescriptorSetHelper at > creation and at cache and at garbage. With this change, you have a > reference counted DescriptorSetHelper object (i.e, DescriptorSetPointer) > during entire life cycle and is passed around between cache and program > as is. This CL is preparation for the future CL where we may disable > cache for descriptorSet. The descriptorSet will be added to garbage list > and reused constantly without go through the cache code. We need to > track the individual descriptorSet with ResourceUse so that it won't > reuse until GPU is finished. This CL is making DescriptorSetHelper a GPU > tracking object so that it will still just work when cache is disabled. > > Bug: angleproject:372268711 > Change-Id: I1cfb77cc5069b202d870388fd8809e265cdca90b > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5918586 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bug: angleproject:372268711 Change-Id: I4d3c34058d100112a098144276b52c0faf8d593a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5955529 Auto-Submit: Charlie Lao <cclao@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Rafay Khurram 99ba07d3 2024-03-26T00:58:57 CL/Vulkan: Implement createImage Enabling functionality of: - clCreateImage Tests-Passing: OCLCTS.test_api get_image<1d|2d|3d>_info Bug: angleproject:42266936 Signed-off-by: Rafay Khurram <r.khurram@samsung.com> Change-Id: I0281f092bff13cdd81b87d596fdd15b33dda7e46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5796527 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 29210294 2024-10-11T13:26:46 Vulkan: Track GPU progress for individual DescriptorSet Right now ProgramExecutableVk keeps VkDescriptorSet object, and DescriptorSetHelper is created when a cache entry becomes invalid. Further, DescriptorSetCache keeps the cache of {VkDescriptorSet, RefCountedDescriptorPoolHelper} pair. So we are having three different type of objects at different stages of life: VkDescriptorSet, DescriptorSetHelper, and {VkDescriptorSet, RefCountedDescriptorPoolHelper. This CL makes DescriptorSetHelper at creation and at cache and at garbage. With this change, you have a reference counted DescriptorSetHelper object (i.e, DescriptorSetPointer) during entire life cycle and is passed around between cache and program as is. This CL is preparation for the future CL where we may disable cache for descriptorSet. The descriptorSet will be added to garbage list and reused constantly without go through the cache code. We need to track the individual descriptorSet with ResourceUse so that it won't reuse until GPU is finished. This CL is making DescriptorSetHelper a GPU tracking object so that it will still just work when cache is disabled. Bug: angleproject:372268711 Change-Id: I1cfb77cc5069b202d870388fd8809e265cdca90b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5918586 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Charlie Lao c52e8493 2024-10-11T14:21:19 Vulkan: Switch DescriptorPoolPointer to use SharedPtr To make the reference counting easier to maintain, SharedPtr class is added to automatically tracking the reference counting and object creation/destruction. Right now we have BindingPointer class doing similar things except it does not automatically manage the object create/destroy, which makes it less robust as well as redundant code to manage object life cycle. The other problem with BindingPointer is that it does not work with normal assign/copy operator which made it hard to read and use. SharedPtr uses exact same API semantics as std::shared_ptr, which makes the reference counting very easy to use. The main difference of SharedPtr and std::shared_ptr is that it does not use any atomic or lock since it assumes user only uses it under thread safe environment, which ANGLE's backend is. This CL also changes mDescriptorPools to mDynamicDescriptorPools to make it clear that it is dynamic descriptor pool not the descriptor pool. This is also preparation CL for the next CL where we will use SharedPtr to manage DescriptorSetHelper life cycle, which otherwise a bit complicated to manually manage. Bug: angleproject:372268711 Change-Id: I1033d9bf259bbc075a9b374d8a28e1f67d889873 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5926183 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 897a5654 2024-10-16T10:32:16 CL: Rename isSet/isNotSet to intersects/excludes In particular, `isSet` was checking if _any_ bit was set instead of if _all_ bits were set. This was a point of confusion. Bug: angleproject:42266936 Change-Id: I76211a423f304fb4641ceb9cbfbb0bea4ff33ccf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5937411 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gowtham Tammana 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>
Gowtham Tammana 0a452697 2024-09-19T16:33:26 CL/Vulkan: Enable support for multiple descriptor set handling The clspv transcompiler can generate multiple descriptor sets depending on the kernel e.g. printf storage buffer is setup in a separate descriptor set, and kernel arguments in a separate descriptor set. This change enables setting up of multiple descriptor sets and appropriately bind them. Also, creation of descriptor set and pipeline layout are deferred to kernel enqueue time as it is quite possible that kernels are built in a batch before their use. Bug: angleproject:369724757 Change-Id: I80eb93f4a3b8afc7461c299cc283526cc4b872fa Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893955 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 1bed7fdd 2024-09-13T15:29:07 CL/VK: Fix missed PushConstantRegionGroupOffset Adding missing reflection instruction to parser: NonSemanticClspvReflectionPushConstantRegionGroupOffset And add related PC routine during NDRangeKernel. Bug: angleproject:366412385 Change-Id: I2ffa48dee46a23840390312f20e7103f68daa0c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860310 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand cce1497c 2024-06-07T15:03:07 CL/Vulkan: regionOffset as GWO for uniform clspv states: region_offset: the sum of the global ID offset into the NDRange for this uniform region and the global offset of the NDRange Since we currently do not support non-uniform at the moment, we just treat the PushConstantRegionOffset as the global work offset. Bug: angleproject:366412385 Change-Id: Ifd9953f21cd7826198b2cfe7d30ddec68ea2c7a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860309 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 741e5355 2024-06-07T16:39:53 CL/Vulkan: Add missing PushConstantNumWorkgroups Adding support for: NonSemanticClspvReflectionPushConstantNumWorkgroups Bug: angleproject:366412385 Change-Id: Id4cfc1ee456d3a7f6d058f3f4a6a580381b2d471 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860308 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 72d01332 2024-05-23T16:34:14 CL/Vulkan: Add missing EnqueuedLocalSize PushConst Additionally, we move down "processKernelResources" after "getOrCreateComputePipeline" since new push constant needs LWS value and we might modify ndrange's LWS after "getOrCreateComputePipeline". Bug: angleproject:366412385 Change-Id: Ia287d667e0616256d1f9c039566b79aae1337154 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860306 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand 2b723c13 2024-02-02T14:12:06 CL/VK: Add initial enqueueCopyBuffer Generalizing the copy buffer with appropriate barrier inserts and commandbuffer command. Bug: angleproject:42267074 Change-Id: I02fd36a221ea70f007aee78ceeef84c24fa85682 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5410935 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 5b4517ec 2024-02-02T14:04:29 CL/VK: Add helper for inserting barriers Adding a helper function to insert execution and memory barriers when resource access commands are recorded into the command buffer in CLCommandQueueVk. An example of a copy buffer command with src and dst ``` set access.readBuffer <- src set access.writeBuffer <- dst insert barriers - onResourceAccess(access) add copy command - commandBuffer->copyBuffer() ``` Bug: angleproject:42267073 Change-Id: I61d8064fd015a4bf3dab018cbb83d147915ed627 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5409249 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Austin Annestrand 98b06696 2024-06-17T17:28:56 CL/Vulkan: Add initial profiling support This PR introduces initial cl_event profiling support. For now, use CPU timestamps (later look into Vulkan GPU device timestamps). Bug: angleproject:357902512 Change-Id: I2197e396e222d2842ab31304f91934f9e000ea0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5767598 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand cc50c75b 2024-04-19T16:40:26 CL/Vulkan: Fix missing kernel enqueue retain/release According to spec: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clReleaseKernel We also need to implicitly retain/release the Kernel object on Kernel enqueue APIs along with other kernel resource retain/release(s) (i.e. memobjs). Bug: angleproject:356328473 Change-Id: Ie6ca228ebece2988d511d9ffd2a617abdc057d0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5753766 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Shahbaz Youssefi d193d51b 2024-06-17T22:46:08 Replace issue ids post migration to new issue tracker This change replaces anglebug.com/NNNN links. Bug: None Change-Id: I8ac3aec8d2a8a844b3d7b99fc0a6b2be8da31761 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637912 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao b22cce5f 2024-05-21T10:55:27 Vulkan: Remove Renderer::getDeviceQueueIndex Renderer::getDeviceQueueIndex() returns queueFamilyIndex. There is a function that already returns mCurrentQueueFamilyIndex, so this function is now removed. This CL also renames ImageHelper::isQueueChangeNeccesary to isQueueFamilyChangeNeccesary Bug: b/337135577 Change-Id: I3cd9ded1414d1389e162aaa5399c231a987f871e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5553067 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand c62c0c25 2024-01-24T17:29:45 CL/VK: Implement initial enqueueRead/WriteBuffer Bug: angleproject:8638 Change-Id: I1d5b3b15fab24ce35c243a3eb27bcac2104d7f5d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5409250 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Austin Annestrand 6cfb5931 2024-03-13T12:31:40 CL/VK: Implement marker and barrier cmds Adding in last remaining marker and barrier cmds: clEnqueueMarker clEnqueueBarrier clEnqueueMarkerWithWaitList clEnqueueBarrierWithWaitList Bug: angleproject:8634 Change-Id: I67e03e379c3f9e40a31bcba34ea85e2739cc97b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5406617 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand 04329fe0 2024-01-24T12:51:05 CL/VK: Implement wait APIs This commit implements: clWaitForEvents clEnqueueWaitForEvents Bug: angleproject:8633 Change-Id: I873310ab11dfac08c165dc36be2400a35be48878 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5406616 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Austin Annestrand cc770518 2024-03-28T18:05:00 CL/VK: Implement flush & finish Bug: angleproject:8632 Change-Id: I139e463c0b1c947cee68e65c40503e52f01e988b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5406615 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@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 35c7e186 2024-04-03T14:31:59 CL: Introduce NDRange object/ops abstraction Create new FrontEnd type "NDRange" to encapsulate OpenCL's NDRange items. Update backend implementations to make use of this new object. Bug: angleproject:8650 Change-Id: I3c1549c50c85153b3ea77267e104eec04ba1bd93 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5421572 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 914fe61b 2024-03-15T13:20:49 Vulkan: Rename RendererVk.* to vk_renderer.* Done in a separate CL from the move to namespace vk to avoid possible rebase-time confusion with the file name change. Bug: angleproject:8564 Change-Id: Ibab79029834b88514d4466a7a4c076b1352bc450 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5370107 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Austin Annestrand 9fee9156 2024-01-18T13:50:38 OpenCL/Vulkan: Add initial CL Kernel routines Enables the following OpenCL APIs for Vulkan Backend: clCreateKernel clCreateKernels clSetKernelArg Bug: angleproject:8572 Change-Id: Iaaabd295d7951a48bf9bd6717ed3957960052dbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5341376 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Austin Annestrand 19e21b1e 2024-01-11T14:38:49 OpenCL/Vulkan: Add initial support for cmdQueue Introduce OpenCL command queue object creation for Vulkan backend in ANGLE. Bug: angleproject:8500 Change-Id: I08a63e91aa0ee75dd2be00c770f521c43a3f83b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5233367 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Austin Annestrand f8c06f10 2023-11-30T17:45:35 OpenCL: Add types to cl_mem origin and region Now using cl::MemOffset and cl::Coordinate. Bug: angleproject:8439 Change-Id: Id775fe78467d3b56d2a7cc87f793221ab5e04bc5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5078244 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 6622d2b4 2021-05-18T21:26:39 CL: command queues for front end and pass-through Bug: angleproject:5956 Change-Id: I6d9d4e4e7dfc5402408e3b002e66e4eae752967d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2903091 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>