Package org.lwjgl.openxr
Class XrGraphicsBindingOpenGLWin32KHR
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<XrGraphicsBindingOpenGLWin32KHR>
org.lwjgl.openxr.XrGraphicsBindingOpenGLWin32KHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class XrGraphicsBindingOpenGLWin32KHR
extends org.lwjgl.system.Struct<XrGraphicsBindingOpenGLWin32KHR>
implements org.lwjgl.system.NativeResource
The graphics binding structure to be passed at session creation to use OpenGL on Windows.
Description
When creating an OpenGL-backed XrSession on Microsoft Windows, the application will provide a pointer to an XrGraphicsBindingOpenGLWin32KHR in the next chain of the XrSessionCreateInfo. As no standardized way exists for OpenGL to create the graphics context on a specific GPU, the runtime must assume that the application uses the operating systems default GPU. If the GPU used by the runtime does not match the GPU on which the OpenGL context of the application got created, CreateSession must return ERROR_GRAPHICS_DEVICE_INVALID.
The required window system configuration define to expose this structure type is USE_PLATFORM_WIN32.
Valid Usage (Implicit)
- The
XR_KHR_opengl_enableextension must be enabled prior to usingXrGraphicsBindingOpenGLWin32KHR typemust beTYPE_GRAPHICS_BINDING_OPENGL_WIN32_KHRnextmust beNULLor a valid pointer to the next structure in a structure chainhDCmust be a validHDCvaluehGLRCmust be a validHGLRCvalue
See Also
Layout
struct XrGraphicsBindingOpenGLWin32KHR {
XrStructureType type();
void const * next();
HDC hDC();
HGLRC hGLRC();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofXrGraphicsBindingOpenGLWin32KHRstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionXrGraphicsBindingOpenGLWin32KHR(ByteBuffer container) Creates aXrGraphicsBindingOpenGLWin32KHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newXrGraphicsBindingOpenGLWin32KHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrGraphicsBindingOpenGLWin32KHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrGraphicsBindingOpenGLWin32KHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newXrGraphicsBindingOpenGLWin32KHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newXrGraphicsBindingOpenGLWin32KHRinstance allocated withBufferUtils.create(int capacity) Returns a newXrGraphicsBindingOpenGLWin32KHR.Bufferinstance allocated withBufferUtils.create(long address) Returns a newXrGraphicsBindingOpenGLWin32KHRinstance for the specified memory address.create(long address, int capacity) Create aXrGraphicsBindingOpenGLWin32KHR.Bufferinstance at the specified memory.static @Nullable XrGraphicsBindingOpenGLWin32KHRcreateSafe(long address) static @Nullable XrGraphicsBindingOpenGLWin32KHR.BuffercreateSafe(long address, int capacity) longhDC()a valid Windows HW device context handle.hDC(long value) Sets the specified value to thehDC()field.longhGLRC()a valid Windows OpenGL rendering context handle.hGLRC(long value) Sets the specified value to thehGLRC()field.malloc()Returns a newXrGraphicsBindingOpenGLWin32KHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrGraphicsBindingOpenGLWin32KHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrGraphicsBindingOpenGLWin32KHR.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newXrGraphicsBindingOpenGLWin32KHRinstance allocated on the specifiedMemoryStack.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static longnhDC(long struct) Unsafe version ofhDC().static voidnhDC(long struct, long value) Unsafe version ofhDC.static longnhGLRC(long struct) Unsafe version ofhGLRC().static voidnhGLRC(long struct, long value) Unsafe version ofhGLRC.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.set(int type, long next, long hDC, long hGLRC) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_GRAPHICS_BINDING_OPENGL_WIN32_KHRvalue to thetype()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
TYPE
public static final int TYPEThe struct member offsets. -
NEXT
public static final int NEXTThe struct member offsets. -
HDC
public static final int HDCThe struct member offsets. -
HGLRC
public static final int HGLRCThe struct member offsets.
-
-
Constructor Details
-
XrGraphicsBindingOpenGLWin32KHR
Creates aXrGraphicsBindingOpenGLWin32KHRinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<XrGraphicsBindingOpenGLWin32KHR>
-
type
public int type()theXrStructureTypeof this structure. -
next
public long next()NULLor a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension. -
hDC
public long hDC()a valid Windows HW device context handle. -
hGLRC
public long hGLRC()a valid Windows OpenGL rendering context handle. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_GRAPHICS_BINDING_OPENGL_WIN32_KHRvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
hDC
Sets the specified value to thehDC()field. -
hGLRC
Sets the specified value to thehGLRC()field. -
set
Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newXrGraphicsBindingOpenGLWin32KHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrGraphicsBindingOpenGLWin32KHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrGraphicsBindingOpenGLWin32KHRinstance allocated withBufferUtils. -
create
Returns a newXrGraphicsBindingOpenGLWin32KHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrGraphicsBindingOpenGLWin32KHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrGraphicsBindingOpenGLWin32KHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrGraphicsBindingOpenGLWin32KHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrGraphicsBindingOpenGLWin32KHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable XrGraphicsBindingOpenGLWin32KHR.Buffer createSafe(long address, int capacity) -
malloc
Returns a newXrGraphicsBindingOpenGLWin32KHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrGraphicsBindingOpenGLWin32KHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrGraphicsBindingOpenGLWin32KHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrGraphicsBindingOpenGLWin32KHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrGraphicsBindingOpenGLWin32KHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrGraphicsBindingOpenGLWin32KHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
ntype
public static int ntype(long struct) Unsafe version oftype(). -
nnext
public static long nnext(long struct) Unsafe version ofnext(). -
nhDC
public static long nhDC(long struct) Unsafe version ofhDC(). -
nhGLRC
public static long nhGLRC(long struct) Unsafe version ofhGLRC(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
nhDC
public static void nhDC(long struct, long value) Unsafe version ofhDC. -
nhGLRC
public static void nhGLRC(long struct, long value) Unsafe version ofhGLRC. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-