mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-07 11:20:09 +00:00
7cf7870254
Instead of creating the op manually, just pass in the renderpass and have the op created from there. This way ops aren't really initialized anymore, they are more appended to the queue, so instead of foo_op_init() we can just call the function foo_op().
45 lines
2.8 KiB
C
45 lines
2.8 KiB
C
#pragma once
|
|
|
|
#include <gdk/gdk.h>
|
|
#include <gsk/gskrendernode.h>
|
|
|
|
#include "gskvulkanbufferprivate.h"
|
|
#include "gskvulkanrenderprivate.h"
|
|
#include "gsk/gskprivate.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
GskVulkanRenderPass * gsk_vulkan_render_pass_new (GdkVulkanContext *context,
|
|
GskVulkanImage *target,
|
|
const graphene_vec2_t *scale,
|
|
const graphene_rect_t *viewport,
|
|
cairo_region_t *clip,
|
|
VkSemaphore signal_semaphore);
|
|
|
|
void gsk_vulkan_render_pass_free (GskVulkanRenderPass *self);
|
|
|
|
void gsk_vulkan_render_pass_add (GskVulkanRenderPass *self,
|
|
GskVulkanRender *render,
|
|
GskRenderNode *node);
|
|
|
|
gpointer gsk_vulkan_render_pass_alloc_op (GskVulkanRenderPass *self,
|
|
gsize size);
|
|
|
|
void gsk_vulkan_render_pass_upload (GskVulkanRenderPass *self,
|
|
GskVulkanRender *render,
|
|
GskVulkanUploader *uploader);
|
|
void gsk_vulkan_render_pass_reserve_descriptor_sets (GskVulkanRenderPass *self,
|
|
GskVulkanRender *render);
|
|
void gsk_vulkan_render_pass_draw (GskVulkanRenderPass *self,
|
|
GskVulkanRender *render,
|
|
VkPipelineLayout pipeline_layout,
|
|
VkCommandBuffer command_buffer);
|
|
gsize gsk_vulkan_render_pass_get_wait_semaphores (GskVulkanRenderPass *self,
|
|
VkSemaphore **semaphores);
|
|
gsize gsk_vulkan_render_pass_get_signal_semaphores (GskVulkanRenderPass *self,
|
|
VkSemaphore **semaphores);
|
|
|
|
G_END_DECLS
|
|
|