mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 21:21:21 +00:00
1a85d569e3
This heaves over an inital chunk of code from the Vulkan renderer to execute shaders. The only shader that exists for now is a shader that draws a single texture. We use that to replace the blit op we were doing before.
33 lines
1.5 KiB
C
33 lines
1.5 KiB
C
#pragma once
|
|
|
|
#include "gskgputypesprivate.h"
|
|
|
|
#include "gsktypes.h"
|
|
|
|
#include <graphene.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
/* We only need this for the final VkImageLayout, but don't tell anyone */
|
|
typedef enum
|
|
{
|
|
GSK_RENDER_PASS_OFFSCREEN,
|
|
GSK_RENDER_PASS_PRESENT
|
|
} GskRenderPassType;
|
|
|
|
void gsk_gpu_render_pass_begin_op (GskGpuFrame *frame,
|
|
GskGpuImage *image,
|
|
const cairo_rectangle_int_t *area,
|
|
GskRenderPassType pass_type);
|
|
void gsk_gpu_render_pass_end_op (GskGpuFrame *frame,
|
|
GskGpuImage *image,
|
|
GskRenderPassType pass_type);
|
|
|
|
GskGpuImage * gsk_gpu_render_pass_op_offscreen (GskGpuFrame *frame,
|
|
const graphene_vec2_t *scale,
|
|
const graphene_rect_t *viewport,
|
|
GskRenderNode *node);
|
|
|
|
G_END_DECLS
|
|
|