~mmach/netext73/mesa-ryzen

« back to all changes in this revision

Viewing changes to src/vulkan/runtime/vk_sync.h

  • Committer: mmach
  • Date: 2023-11-02 21:31:35 UTC
  • Revision ID: netbit73@gmail.com-20231102213135-18d4tzh7tj0uz752
2023-11-02 22:11:57

Show diffs side-by-side

added added

removed removed

Lines of Context:
272
272
   VkResult (*export_sync_file)(struct vk_device *device,
273
273
                                struct vk_sync *sync,
274
274
                                int *sync_file);
 
275
 
 
276
   /** Permanently imports the given handle or name into this vk_sync
 
277
    *
 
278
    * This replaces the guts of the given vk_sync with whatever is in the object.
 
279
    * In a sense, this vk_sync now aliases whatever vk_sync the handle was
 
280
    * exported from.
 
281
    */
 
282
   VkResult (*import_win32_handle)(struct vk_device *device,
 
283
                                   struct vk_sync *sync,
 
284
                                   void *handle,
 
285
                                   const wchar_t *name);
 
286
 
 
287
   /** Export the guts of this vk_sync to a handle and/or name */
 
288
   VkResult (*export_win32_handle)(struct vk_device *device,
 
289
                                   struct vk_sync *sync,
 
290
                                   void **handle);
 
291
 
 
292
   /** Vulkan puts these as creation params instead of export params */
 
293
   VkResult (*set_win32_export_params)(struct vk_device *device,
 
294
                                       struct vk_sync *sync,
 
295
                                       const void *security_attributes,
 
296
                                       uint32_t access,
 
297
                                       const wchar_t *name);
275
298
};
276
299
 
277
300
enum vk_sync_flags {
361
384
                                             struct vk_sync *sync,
362
385
                                             int *sync_file);
363
386
 
 
387
VkResult MUST_CHECK vk_sync_import_win32_handle(struct vk_device *device,
 
388
                                                struct vk_sync *sync,
 
389
                                                void *handle,
 
390
                                                const wchar_t *name);
 
391
 
 
392
VkResult MUST_CHECK vk_sync_export_win32_handle(struct vk_device *device,
 
393
                                                struct vk_sync *sync,
 
394
                                                void **handle);
 
395
 
 
396
VkResult MUST_CHECK vk_sync_set_win32_export_params(struct vk_device *device,
 
397
                                                    struct vk_sync *sync,
 
398
                                                    const void *security_attributes,
 
399
                                                    uint32_t access,
 
400
                                                    const wchar_t *name);
 
401
 
364
402
VkResult MUST_CHECK vk_sync_move(struct vk_device *device,
365
403
                                 struct vk_sync *dst,
366
404
                                 struct vk_sync *src);