wip: render/gles2: add support for 3D LUT transforms

This commit is contained in:
Simon Ser 2022-10-26 14:45:22 +02:00
parent 451327d6b4
commit ddd47368f3
3 changed files with 84 additions and 11 deletions

View file

@ -64,6 +64,7 @@ struct wlr_gles2_renderer {
PFNGLPUSHDEBUGGROUPKHRPROC glPushDebugGroupKHR;
PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC glEGLImageTargetRenderbufferStorageOES;
PFNGLGETGRAPHICSRESETSTATUSKHRPROC glGetGraphicsResetStatusKHR;
PFNGLTEXIMAGE3DOESPROC glTexImage3DOES;
} procs;
struct {
@ -121,6 +122,16 @@ enum wlr_gles2_shader_source {
WLR_GLES2_SHADER_SOURCE_TEXTURE_EXTERNAL = 4,
};
enum wlr_gles2_shader_color_transform {
WLR_GLES2_SHADER_COLOR_TRANSFORM_IDENTITY = 0,
WLR_GLES2_SHADER_COLOR_TRANSFORM_LUT_3D = 1,
};
struct wlr_gles2_shader_params {
enum wlr_gles2_shader_source source;
enum wlr_gles2_shader_color_transform color_transform;
};
bool is_gles2_pixel_format_supported(const struct wlr_gles2_renderer *renderer,
const struct wlr_gles2_pixel_format *format);
const struct wlr_gles2_pixel_format *get_gles2_format_from_drm(uint32_t fmt);