2023-08-12 20:10:16 +00:00
|
|
|
#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);
|
|
|
|
|
2023-08-21 00:18:37 +00:00
|
|
|
void gsk_gl_device_use_program (GskGLDevice *self,
|
|
|
|
const GskGpuShaderOpClass *op_class,
|
2023-12-31 04:38:56 +00:00
|
|
|
guint32 variation,
|
2023-11-02 01:53:50 +00:00
|
|
|
GskGpuShaderClip clip,
|
|
|
|
guint n_external_textures);
|
2023-08-21 00:18:37 +00:00
|
|
|
|
|
|
|
GLuint gsk_gl_device_get_sampler_id (GskGLDevice *self,
|
|
|
|
GskGpuSampler sampler);
|
2023-08-12 20:10:16 +00:00
|
|
|
|
|
|
|
void gsk_gl_device_find_gl_format (GskGLDevice *self,
|
|
|
|
GdkMemoryFormat format,
|
2023-12-11 05:23:33 +00:00
|
|
|
GskGpuImageFlags required_flags,
|
2023-08-12 20:10:16 +00:00
|
|
|
GdkMemoryFormat *out_format,
|
2023-12-11 05:23:33 +00:00
|
|
|
GskGpuImageFlags *out_flags,
|
2023-08-12 20:10:16 +00:00
|
|
|
GLint *out_gl_internal_format,
|
|
|
|
GLenum *out_gl_format,
|
|
|
|
GLenum *out_gl_type,
|
|
|
|
GLint out_swizzle[4]);
|
|
|
|
|
|
|
|
G_END_DECLS
|