VLC 4.0.0-dev
|
This file defines GL structures and functions. More...
Go to the source code of this file.
Data Structures | |
struct | vlc_gl_cfg |
struct | vlc_gl_operations |
struct | vlc_gl_t |
Macros | |
#define | set_callback_opengl_common(activate) |
#define | set_callback_opengl(activate, priority) |
#define | set_callback_opengl_offscreen(activate, priority) |
#define | set_callback_opengl_es2(activate, priority) |
#define | set_callback_opengl_es2_offscreen(activate, priority) |
Typedefs | |
typedef struct vlc_gl_t | vlc_gl_t |
A VLC GL context (and its underlying surface) | |
typedef int(* | vlc_gl_activate) (vlc_gl_t *, unsigned width, unsigned height, const struct vlc_gl_cfg *cfg) |
Enumerations | |
enum | vlc_gl_api_type { VLC_OPENGL , VLC_OPENGL_ES2 } |
Functions | |
vlc_gl_t * | vlc_gl_Create (const struct vout_display_cfg *cfg, unsigned flags, const char *name, const struct vlc_gl_cfg *gl_cfg) |
Creates an OpenGL context (and its underlying surface). | |
vlc_gl_t * | vlc_gl_CreateOffscreen (vlc_object_t *parent, struct vlc_decoder_device *device, unsigned width, unsigned height, unsigned flags, const char *name, const struct vlc_gl_cfg *gl_cfg) |
void | vlc_gl_Delete (vlc_gl_t *) |
static int | vlc_gl_MakeCurrent (vlc_gl_t *gl) |
static void | vlc_gl_ReleaseCurrent (vlc_gl_t *gl) |
static void | vlc_gl_Resize (vlc_gl_t *gl, unsigned w, unsigned h) |
static void | vlc_gl_Swap (vlc_gl_t *gl) |
static picture_t * | vlc_gl_SwapOffscreen (vlc_gl_t *gl) |
static void * | vlc_gl_GetProcAddress (vlc_gl_t *gl, const char *name) |
Fetch a symbol or pointer function from the OpenGL implementation. | |
vlc_gl_t * | vlc_gl_surface_Create (vlc_object_t *, const struct vlc_window_cfg *, struct vlc_window **, const struct vlc_gl_cfg *) |
bool | vlc_gl_surface_CheckSize (vlc_gl_t *, unsigned *w, unsigned *h) |
void | vlc_gl_surface_Destroy (vlc_gl_t *) |
static bool | vlc_gl_StrHasToken (const char *apis, const char *api) |
This file defines GL structures and functions.
#define set_callback_opengl | ( | activate, | |
priority | |||
) |
#define set_callback_opengl_common | ( | activate | ) |
#define set_callback_opengl_es2 | ( | activate, | |
priority | |||
) |
#define set_callback_opengl_es2_offscreen | ( | activate, | |
priority | |||
) |
#define set_callback_opengl_offscreen | ( | activate, | |
priority | |||
) |
typedef int(* vlc_gl_activate) (vlc_gl_t *, unsigned width, unsigned height, const struct vlc_gl_cfg *cfg) |
enum vlc_gl_api_type |
vlc_gl_t * vlc_gl_Create | ( | const struct vout_display_cfg * | cfg, |
unsigned | flags, | ||
const char * | name, | ||
const struct vlc_gl_cfg * | gl_cfg | ||
) |
Creates an OpenGL context (and its underlying surface).
cfg | initial configuration (including window to use as OpenGL surface) |
flags | OpenGL context type |
name | module name (or NULL for auto) |
gl_cfg | OpenGL configuration (or NULL for default) |
vlc_gl_t * vlc_gl_CreateOffscreen | ( | vlc_object_t * | parent, |
struct vlc_decoder_device * | device, | ||
unsigned | width, | ||
unsigned | height, | ||
unsigned | flags, | ||
const char * | name, | ||
const struct vlc_gl_cfg * | gl_cfg | ||
) |
References vlc_gl_t::api_type, vlc_gl_t::device, vlc_gl_operations::get_proc_address, vlc_gl_priv_t::gl, gl_cfg_default, vlc_gl_operations::make_current, name, vlc_gl_t::offscreen_chroma_out, vlc_gl_t::offscreen_vctx_out, vlc_gl_t::ops, ORIENT_NORMAL, vlc_gl_t::orientation, vlc_gl_operations::release_current, vlc_gl_t::surface, vlc_gl_operations::swap_offscreen, unlikely, VLC_CODEC_UNKNOWN, vlc_custom_create, vlc_decoder_device_Hold(), vlc_decoder_device_Release(), vlc_gl_start(), vlc_module_load(), vlc_object_delete, vlc_object_logger, VLC_OPENGL, and VLC_OPENGL_ES2.
void vlc_gl_Delete | ( | vlc_gl_t * | gl | ) |
References vlc_gl_operations::close, vlc_gl_t::device, vlc_gl_priv_t::gl, vlc_gl_t::ops, vlc_decoder_device_Release(), VLC_OBJECT, vlc_object_delete, and vlc_objres_clear().
Referenced by vlc_gl_surface_Destroy().
|
inlinestatic |
Fetch a symbol or pointer function from the OpenGL implementation.
Return a pointer from the OpenGL implementation, which can be part of either the underlying OpenGL provider or an OpenGL function matching the version requested.
If the symbol name is not matching the underlying implementation of OpenGL, an invalid pointer or NULL can be returned.
gl | the OpenGL provider to fetch the function from |
name | the symbol name to fetch from the implementation |
References vlc_gl_operations::get_proc_address, name, and vlc_gl_t::ops.
|
inlinestatic |
References vlc_gl_operations::make_current, and vlc_gl_t::ops.
|
inlinestatic |
References vlc_gl_t::ops, and vlc_gl_operations::release_current.
|
inlinestatic |
References vlc_gl_t::ops, and vlc_gl_operations::resize.
Referenced by vlc_gl_surface_CheckSize().
|
inlinestatic |
bool vlc_gl_surface_CheckSize | ( | vlc_gl_t * | , |
unsigned * | w, | ||
unsigned * | h | ||
) |
vlc_gl_t * vlc_gl_surface_Create | ( | vlc_object_t * | , |
const struct vlc_window_cfg * | , | ||
struct vlc_window ** | , | ||
const struct vlc_gl_cfg * | |||
) |
void vlc_gl_surface_Destroy | ( | vlc_gl_t * | gl | ) |
|
inlinestatic |
References vlc_gl_t::ops, and vlc_gl_operations::swap.
References vlc_gl_t::ops, and vlc_gl_operations::swap_offscreen.