mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-28 14:31:10 +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.
30 lines
1.7 KiB
C
30 lines
1.7 KiB
C
#pragma once
|
|
|
|
#include "gskgpudeviceprivate.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
#define GSK_TYPE_GL_DEVICE (gsk_gl_device_get_type ())
|
|
|
|
G_DECLARE_FINAL_TYPE (GskGLDevice, gsk_gl_device, GSK, GL_DEVICE, GskGpuDevice)
|
|
|
|
GskGpuDevice * gsk_gl_device_get_for_display (GdkDisplay *display,
|
|
GError **error);
|
|
|
|
void gsk_gl_device_use_program (GskGLDevice *self,
|
|
const GskGpuShaderOpClass *op_class,
|
|
GskGpuShaderClip clip);
|
|
|
|
GLuint gsk_gl_device_get_sampler_id (GskGLDevice *self,
|
|
GskGpuSampler sampler);
|
|
|
|
void gsk_gl_device_find_gl_format (GskGLDevice *self,
|
|
GdkMemoryFormat format,
|
|
GdkMemoryFormat *out_format,
|
|
GLint *out_gl_internal_format,
|
|
GLenum *out_gl_format,
|
|
GLenum *out_gl_type,
|
|
GLint out_swizzle[4]);
|
|
|
|
G_END_DECLS
|