libepoxy: /build/libepoxy/src/libepoxy/src/dispatch_common.h File Reference

libepoxy 1.4.1

Macros | Functions
dispatch_common.h File Reference
`#include "config.h"`
`#include "epoxy/gl.h"`
`#include "epoxy/egl.h"`

## Macros
#define | PLATFORM_HAS_EGL 1
#define | PLATFORM_HAS_GLX ENABLE_GLX
#define | PLATFORM_HAS_WGL 0
#define | PACKED
#define | ENDPACKED
#define | USING_DISPATCH_TABLE 0
#define | UNWRAPPED_PROTO(x) (GLAPIENTRY *x)
#define | WRAPPER_VISIBILITY(type) static type GLAPIENTRY
#define | WRAPPER(x) x ## _wrapped
#define | GEN_GLOBAL_REWRITE_PTR(name, args, passthrough)
#define | GEN_GLOBAL_REWRITE_PTR_RET(ret, name, args, passthrough)
#define | GEN_DISPATCH_TABLE_REWRITE_PTR(name, args, passthrough)
#define | GEN_DISPATCH_TABLE_REWRITE_PTR_RET(ret, name, args, passthrough)
#define | GEN_DISPATCH_TABLE_THUNK(name, args, passthrough)
#define | GEN_DISPATCH_TABLE_THUNK_RET(ret, name, args, passthrough)
#define | GEN_THUNKS(name, args, passthrough)
#define | GEN_THUNKS_RET(ret, name, args, passthrough)
#define | glBegin_unwrapped epoxy_glBegin_unwrapped
#define | glEnd_unwrapped epoxy_glEnd_unwrapped

## Functions
void * | epoxy_egl_dlsym (const char *name)
void * | epoxy_glx_dlsym (const char *name)
void * | epoxy_gl_dlsym (const char *name)
void * | epoxy_gles1_dlsym (const char *name)
void * | epoxy_gles2_dlsym (const char *name)
void * | epoxy_gles3_dlsym (const char *name)
| Does the appropriate dlsym() or eglGetProcAddress() for GLES3 functions. More...
void * | epoxy_get_proc_address (const char *name)
void * | epoxy_get_core_proc_address (const char *name, int core_version)
| Performs either the dlsym or glXGetProcAddress()-equivalent for core functions in desktop GL. More...
void * | epoxy_get_bootstrap_proc_address (const char *name)
| Performs the dlsym() for the core GL 1.0 functions that we use for determining version and extension support for deciding on dlsym versus glXGetProcAddress() for all other functions. More...
int | epoxy_conservative_gl_version (void)
bool | epoxy_conservative_has_gl_extension (const char *name)
int | epoxy_conservative_glx_version (void)
| If we can determine the GLX version from the current context, then return that, otherwise return a version that will just send us on to dlsym() or get_proc_address(). More...
bool | epoxy_conservative_has_glx_extension (const char *name)
| If we can determine the GLX extension support from the current context, then return that, otherwise give the answer that will just send us on to get_proc_address(). More...
int | epoxy_conservative_egl_version (void)
bool | epoxy_conservative_has_egl_extension (const char *name)
bool | epoxy_conservative_has_wgl_extension (const char *name)
| If we can determine the WGL extension support from the current context, then return that, otherwise give the answer that will just send us on to get_proc_address(). More...
void * | epoxy_conservative_egl_dlsym (const char *name, bool exit_if_fails)
void * | epoxy_conservative_glx_dlsym (const char *name, bool exit_if_fails)
bool | epoxy_extension_in_string (const char *extension_list, const char *ext)
void UNWRAPPED_PROTO() | glBegin_unwrapped (GLenum primtype)
void UNWRAPPED_PROTO() | glEnd_unwrapped (void)

## Macro Definition Documentation

## ◆ ENDPACKED

#define ENDPACKED

## ◆ GEN_DISPATCH_TABLE_REWRITE_PTR

#define GEN_DISPATCH_TABLE_REWRITE_PTR | ( |  | name,
|  |  | args,
|  |  | passthrough
| ) |  |

## ◆ GEN_DISPATCH_TABLE_REWRITE_PTR_RET

#define GEN_DISPATCH_TABLE_REWRITE_PTR_RET | ( |  | ret,
|  |  | name,
|  |  | args,
|  |  | passthrough
| ) |  |

## ◆ GEN_DISPATCH_TABLE_THUNK

#define GEN_DISPATCH_TABLE_THUNK | ( |  | name,
|  |  | args,
|  |  | passthrough
| ) |  |

## ◆ GEN_DISPATCH_TABLE_THUNK_RET

#define GEN_DISPATCH_TABLE_THUNK_RET | ( |  | ret,
|  |  | name,
|  |  | args,
|  |  | passthrough
| ) |  |

## ◆ GEN_GLOBAL_REWRITE_PTR

#define GEN_GLOBAL_REWRITE_PTR | ( |  | name,
|  |  | args,
|  |  | passthrough
| ) |  |

## ◆ GEN_GLOBAL_REWRITE_PTR_RET

#define GEN_GLOBAL_REWRITE_PTR_RET | ( |  | ret,
|  |  | name,
|  |  | args,
|  |  | passthrough
| ) |  |

## ◆ GEN_THUNKS

#define GEN_THUNKS | ( |  | name,
|  |  | args,
|  |  | passthrough
| ) |  |

## ◆ GEN_THUNKS_RET

#define GEN_THUNKS_RET | ( |  | ret,
|  |  | name,
|  |  | args,
|  |  | passthrough
| ) |  |

## ◆ glBegin_unwrapped

#define glBegin_unwrapped epoxy_glBegin_unwrapped

## ◆ glEnd_unwrapped

#define glEnd_unwrapped epoxy_glEnd_unwrapped

## ◆ PACKED

#define PACKED

## ◆ PLATFORM_HAS_EGL

#define PLATFORM_HAS_EGL 1

## ◆ PLATFORM_HAS_GLX

#define PLATFORM_HAS_GLX ENABLE_GLX

## ◆ PLATFORM_HAS_WGL

#define PLATFORM_HAS_WGL 0

## ◆ UNWRAPPED_PROTO

#define UNWRAPPED_PROTO | ( |  | x | ) | (GLAPIENTRY *x)

## ◆ USING_DISPATCH_TABLE

#define USING_DISPATCH_TABLE 0

## ◆ WRAPPER

#define WRAPPER | ( |  | x | ) | x ## _wrapped

## ◆ WRAPPER_VISIBILITY

#define WRAPPER_VISIBILITY | ( |  | type | ) | static type GLAPIENTRY

## Function Documentation

## ◆ epoxy_conservative_egl_dlsym()

void* epoxy_conservative_egl_dlsym | ( | const char * | name,
|  | bool | exit_if_fails
| ) |  |

## ◆ epoxy_conservative_egl_version()

int epoxy_conservative_egl_version | ( | void |  | ) |

## ◆ epoxy_conservative_gl_version()

int epoxy_conservative_gl_version | ( | void |  | ) |

## ◆ epoxy_conservative_glx_dlsym()

void* epoxy_conservative_glx_dlsym | ( | const char * | name,
|  | bool | exit_if_fails
| ) |  |

## ◆ epoxy_conservative_glx_version()

int epoxy_conservative_glx_version | ( | void |  | ) |

If we can determine the GLX version from the current context, then return that, otherwise return a version that will just send us on to dlsym() or get_proc_address().

## ◆ epoxy_conservative_has_egl_extension()

bool epoxy_conservative_has_egl_extension | ( | const char * | name | ) |

## ◆ epoxy_conservative_has_gl_extension()

bool epoxy_conservative_has_gl_extension | ( | const char * | name | ) |

## ◆ epoxy_conservative_has_glx_extension()

bool epoxy_conservative_has_glx_extension | ( | const char * | name | ) |

If we can determine the GLX extension support from the current context, then return that, otherwise give the answer that will just send us on to get_proc_address().

## ◆ epoxy_conservative_has_wgl_extension()

bool epoxy_conservative_has_wgl_extension | ( | const char * | name | ) |

If we can determine the WGL extension support from the current context, then return that, otherwise give the answer that will just send us on to get_proc_address().

## ◆ epoxy_egl_dlsym()

void* epoxy_egl_dlsym | ( | const char * | name | ) |

## ◆ epoxy_extension_in_string()

bool epoxy_extension_in_string | ( | const char * | extension_list,
|  | const char * | ext
| ) |  |

## ◆ epoxy_get_bootstrap_proc_address()

void* epoxy_get_bootstrap_proc_address | ( | const char * | name | ) |

Performs the dlsym() for the core GL 1.0 functions that we use for determining version and extension support for deciding on dlsym versus glXGetProcAddress() for all other functions.

This needs to succeed on implementations without GLX (since glGetString() and glGetIntegerv() are both in GLES1/2 as well, and at call time we don't know for sure what API they're trying to use without inspecting contexts ourselves).

## ◆ epoxy_get_core_proc_address()

void* epoxy_get_core_proc_address | ( | const char * | name,
|  | int | core_version
| ) |  |

Performs either the dlsym or glXGetProcAddress()-equivalent for core functions in desktop GL.

## ◆ epoxy_get_proc_address()

void* epoxy_get_proc_address | ( | const char * | name | ) |

## ◆ epoxy_gl_dlsym()

void* epoxy_gl_dlsym | ( | const char * | name | ) |

## ◆ epoxy_gles1_dlsym()

void* epoxy_gles1_dlsym | ( | const char * | name | ) |

## ◆ epoxy_gles2_dlsym()

void* epoxy_gles2_dlsym | ( | const char * | name | ) |

## ◆ epoxy_gles3_dlsym()

void* epoxy_gles3_dlsym | ( | const char * | name | ) |

Does the appropriate dlsym() or eglGetProcAddress() for GLES3 functions.

Mesa interpreted GLES as intending that the GLES3 functions were available only through eglGetProcAddress() and not dlsym(), while ARM's Mali drivers interpreted GLES as intending that GLES3 functions were available only through dlsym() and not eglGetProcAddress(). Thanks, Khronos.

## ◆ epoxy_glx_dlsym()

void* epoxy_glx_dlsym | ( | const char * | name | ) |

## ◆ glBegin_unwrapped()

void UNWRAPPED_PROTO() glBegin_unwrapped | ( | GLenum | primtype | ) |

## ◆ glEnd_unwrapped()

void UNWRAPPED_PROTO() glEnd_unwrapped | ( | void |  | ) |