Monado OpenXR Runtime
|
OpenGL client side glue to compositor implementation. More...
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <stdlib.h>
#include <xrt/xrt_config_have.h>
#include <xrt/xrt_handles.h>
#include "util/u_misc.h"
#include "ogl/ogl_api.h"
#include "ogl/ogl_helpers.h"
#include "client/comp_gl_client.h"
#include "client/comp_gl_memobj_swapchain.h"
Functions | |
static void | client_gl_memobj_swapchain_destroy (struct xrt_swapchain *xsc) |
static bool | client_gl_memobj_swapchain_import (GLuint memory, size_t size, xrt_graphics_buffer_handle_t handle) |
struct xrt_swapchain * | client_gl_memobj_swapchain_create (struct xrt_compositor *xc, const struct xrt_swapchain_create_info *info, struct xrt_swapchain_native *xscn, struct client_gl_swapchain **out_cglsc) |
Create a swapchain, belonging to a client_gl_compositor, that uses GL_memory_object and related extensions to use the native buffer. More... | |
OpenGL client side glue to compositor implementation.
struct xrt_swapchain * client_gl_memobj_swapchain_create | ( | struct xrt_compositor * | xc, |
const struct xrt_swapchain_create_info * | info, | ||
struct xrt_swapchain_native * | xscn, | ||
struct client_gl_swapchain ** | out_cglsc | ||
) |
Create a swapchain, belonging to a client_gl_compositor, that uses GL_memory_object and related extensions to use the native buffer.
This is most commonly used on desktop OpenGL.
The caller must ensure that the app context is current.
References client_gl_swapchain::base, xrt_swapchain_gl::base, xrt_swapchain_native::base, client_gl_compositor::client_gl_compositor(), xrt_swapchain::destroy, xrt_compositor::info, ogl_texture_target_for_swapchain_info(), and U_TYPED_CALLOC.