all: remove bitflags dependency
This commit is contained in:
parent
63ed3fa689
commit
9497d6b0cf
12 changed files with 134 additions and 151 deletions
|
|
@ -46,95 +46,74 @@ where
|
|||
base
|
||||
}
|
||||
|
||||
bitflags::bitflags! {
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub struct ClientExt: u32 {
|
||||
const EXT_CLIENT_EXTENSION = 1 << 0;
|
||||
const EXT_PLATFORM_BASE = 1 << 1;
|
||||
const KHR_PLATFORM_GBM = 1 << 2;
|
||||
const KHR_DEBUG = 1 << 3;
|
||||
}
|
||||
bitflags! {
|
||||
ClientExt: u32;
|
||||
EXT_CLIENT_EXTENSION = 1 << 0,
|
||||
EXT_PLATFORM_BASE = 1 << 1,
|
||||
KHR_PLATFORM_GBM = 1 << 2,
|
||||
KHR_DEBUG = 1 << 3,
|
||||
}
|
||||
|
||||
pub fn get_client_ext() -> ClientExt {
|
||||
let map = [
|
||||
("EGL_EXT_platform_base", ClientExt::EXT_PLATFORM_BASE),
|
||||
("EGL_KHR_platform_gbm", ClientExt::KHR_PLATFORM_GBM),
|
||||
("EGL_KHR_debug", ClientExt::KHR_DEBUG),
|
||||
("EGL_EXT_platform_base", EXT_PLATFORM_BASE),
|
||||
("EGL_KHR_platform_gbm", KHR_PLATFORM_GBM),
|
||||
("EGL_KHR_debug", KHR_DEBUG),
|
||||
];
|
||||
match unsafe { get_dpy_extensions(EGLDisplay::none()) } {
|
||||
Some(exts) => get_typed_ext(&exts, ClientExt::EXT_CLIENT_EXTENSION, &map),
|
||||
_ => ClientExt::empty(),
|
||||
Some(exts) => get_typed_ext(&exts, EXT_CLIENT_EXTENSION, &map),
|
||||
_ => ClientExt::none(),
|
||||
}
|
||||
}
|
||||
|
||||
bitflags::bitflags! {
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub struct DisplayExt: u32 {
|
||||
const KHR_IMAGE_BASE = 1 << 0;
|
||||
const EXT_IMAGE_DMA_BUF_IMPORT = 1 << 1;
|
||||
const EXT_IMAGE_DMA_BUF_IMPORT_MODIFIERS = 1 << 2;
|
||||
const KHR_NO_CONFIG_CONTEXT = 1 << 3;
|
||||
const MESA_CONFIGLESS_CONTEXT = 1 << 4;
|
||||
const KHR_SURFACELESS_CONTEXT = 1 << 5;
|
||||
const IMG_CONTEXT_PRIORITY = 1 << 6;
|
||||
const EXT_CREATE_CONTEXT_ROBUSTNESS = 1 << 7;
|
||||
}
|
||||
bitflags! {
|
||||
DisplayExt: u32;
|
||||
KHR_IMAGE_BASE = 1 << 0,
|
||||
EXT_IMAGE_DMA_BUF_IMPORT = 1 << 1,
|
||||
EXT_IMAGE_DMA_BUF_IMPORT_MODIFIERS = 1 << 2,
|
||||
KHR_NO_CONFIG_CONTEXT = 1 << 3,
|
||||
MESA_CONFIGLESS_CONTEXT = 1 << 4,
|
||||
KHR_SURFACELESS_CONTEXT = 1 << 5,
|
||||
IMG_CONTEXT_PRIORITY = 1 << 6,
|
||||
EXT_CREATE_CONTEXT_ROBUSTNESS = 1 << 7,
|
||||
}
|
||||
|
||||
pub(crate) unsafe fn get_display_ext(dpy: EGLDisplay) -> DisplayExt {
|
||||
let map = [
|
||||
("EGL_KHR_image_base", DisplayExt::KHR_IMAGE_BASE),
|
||||
(
|
||||
"EGL_EXT_image_dma_buf_import",
|
||||
DisplayExt::EXT_IMAGE_DMA_BUF_IMPORT,
|
||||
),
|
||||
("EGL_KHR_image_base", KHR_IMAGE_BASE),
|
||||
("EGL_EXT_image_dma_buf_import", EXT_IMAGE_DMA_BUF_IMPORT),
|
||||
(
|
||||
"EGL_EXT_image_dma_buf_import_modifiers",
|
||||
DisplayExt::EXT_IMAGE_DMA_BUF_IMPORT_MODIFIERS,
|
||||
EXT_IMAGE_DMA_BUF_IMPORT_MODIFIERS,
|
||||
),
|
||||
(
|
||||
"EGL_KHR_no_config_context",
|
||||
DisplayExt::KHR_NO_CONFIG_CONTEXT,
|
||||
),
|
||||
(
|
||||
"EGL_MESA_configless_context",
|
||||
DisplayExt::MESA_CONFIGLESS_CONTEXT,
|
||||
),
|
||||
(
|
||||
"EGL_KHR_surfaceless_context",
|
||||
DisplayExt::KHR_SURFACELESS_CONTEXT,
|
||||
),
|
||||
("EGL_IMG_context_priority", DisplayExt::IMG_CONTEXT_PRIORITY),
|
||||
("EGL_KHR_no_config_context", KHR_NO_CONFIG_CONTEXT),
|
||||
("EGL_MESA_configless_context", MESA_CONFIGLESS_CONTEXT),
|
||||
("EGL_KHR_surfaceless_context", KHR_SURFACELESS_CONTEXT),
|
||||
("EGL_IMG_context_priority", IMG_CONTEXT_PRIORITY),
|
||||
(
|
||||
"EGL_EXT_create_context_robustness",
|
||||
DisplayExt::EXT_CREATE_CONTEXT_ROBUSTNESS,
|
||||
EXT_CREATE_CONTEXT_ROBUSTNESS,
|
||||
),
|
||||
];
|
||||
match get_dpy_extensions(dpy) {
|
||||
Some(exts) => get_typed_ext(&exts, DisplayExt::empty(), &map),
|
||||
_ => DisplayExt::empty(),
|
||||
Some(exts) => get_typed_ext(&exts, DisplayExt::none(), &map),
|
||||
_ => DisplayExt::none(),
|
||||
}
|
||||
}
|
||||
|
||||
bitflags::bitflags! {
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub struct GlExt: u32 {
|
||||
const GL_OES_EGL_IMAGE = 1 << 0;
|
||||
const GL_OES_EGL_IMAGE_EXTERNAL = 1 << 1;
|
||||
}
|
||||
bitflags! {
|
||||
GlExt: u32;
|
||||
GL_OES_EGL_IMAGE = 1 << 0,
|
||||
GL_OES_EGL_IMAGE_EXTERNAL = 1 << 1,
|
||||
}
|
||||
|
||||
pub fn get_gl_ext() -> GlExt {
|
||||
let map = [
|
||||
("GL_OES_EGL_image", GlExt::GL_OES_EGL_IMAGE),
|
||||
(
|
||||
"GL_OES_EGL_image_external",
|
||||
GlExt::GL_OES_EGL_IMAGE_EXTERNAL,
|
||||
),
|
||||
("GL_OES_EGL_image", GL_OES_EGL_IMAGE),
|
||||
("GL_OES_EGL_image_external", GL_OES_EGL_IMAGE_EXTERNAL),
|
||||
];
|
||||
match unsafe { get_extensions(glGetString(GL_EXTENSIONS) as _) } {
|
||||
Some(exts) => get_typed_ext(&exts, GlExt::empty(), &map),
|
||||
_ => GlExt::empty(),
|
||||
Some(exts) => get_typed_ext(&exts, GlExt::none(), &map),
|
||||
_ => GlExt::none(),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue