mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-07 11:20:09 +00:00
2aba50efa0
This is a massive refactoring because it collects all the renderops of all renderpasses into one long array in the Render object. Lots of code in there is still flaky and needs cleanup. That will follow in further commits. Other than that it does work fine though.
39 lines
2.3 KiB
C
39 lines
2.3 KiB
C
#pragma once
|
|
|
|
#include <gdk/gdk.h>
|
|
#include <gsk/gskrendernode.h>
|
|
|
|
#include "gskvulkanbufferprivate.h"
|
|
#include "gskvulkanprivate.h"
|
|
#include "gskvulkanrenderprivate.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
GskVulkanRenderPass * gsk_vulkan_render_pass_new (GdkVulkanContext *context,
|
|
GskVulkanRender *render,
|
|
GskVulkanImage *target,
|
|
const graphene_vec2_t *scale,
|
|
const graphene_rect_t *viewport,
|
|
cairo_region_t *clip,
|
|
GskRenderNode *node,
|
|
gboolean is_root);
|
|
|
|
void gsk_vulkan_render_pass_free (GskVulkanRenderPass *self);
|
|
|
|
void gsk_vulkan_render_pass_add (GskVulkanRenderPass *self,
|
|
GskVulkanRender *render,
|
|
GskRenderNode *node);
|
|
|
|
VkRenderPass gsk_vulkan_render_pass_begin_draw (GskVulkanRenderPass *self,
|
|
GskVulkanRender *render,
|
|
VkPipelineLayout pipeline_layout,
|
|
VkCommandBuffer command_buffer);
|
|
void gsk_vulkan_render_pass_end_draw (GskVulkanRenderPass *self,
|
|
GskVulkanRender *render,
|
|
VkPipelineLayout pipeline_layout,
|
|
VkCommandBuffer command_buffer);
|
|
|
|
G_END_DECLS
|
|
|