From a556b45abf18f1bd509daaf63b66b7d55e9fd291 Mon Sep 17 00:00:00 2001 From: jjesswan Date: Mon, 22 Apr 2024 21:56:26 -0400 Subject: add engine version --- .../sdk/docs/man/html/eglMakeCurrent.xhtml | 381 +++++++++++++++++++++ 1 file changed, 381 insertions(+) create mode 100644 engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml (limited to 'engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml') diff --git a/engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml b/engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml new file mode 100644 index 0000000..14f28ec --- /dev/null +++ b/engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml @@ -0,0 +1,381 @@ + + + + eglMakeCurrent - EGL Reference Pages + + + + +
+
+
+
+

Name

+

eglMakeCurrent — + attach an EGL rendering context to EGL surfaces +

+
+
+

C Specification

+
+ + + + + + + + + + + + + + + + + +
+ EGLBoolean eglMakeCurrent( + EGLDisplay display,
 EGLSurface draw,
 EGLSurface read,
 EGLContext context);
+
 
+
+
+
+

Parameters

+
+
+
+ + + display + + +
+
+

Specifies the EGL display connection.

+
+
+ + + draw + + +
+
+

Specifies the EGL draw surface.

+
+
+ + + read + + +
+
+

Specifies the EGL read surface.

+
+
+ + + context + + +
+
+

Specifies the EGL rendering context + to be attached to the surfaces. +

+
+
+
+
+
+

Description

+

+ eglMakeCurrent binds context + to the current rendering thread and to the draw + and read surfaces. +

+

+ For an OpenGL or OpenGL ES context, draw + is used for all operations except for any pixel data read back or copied + (glReadPixels, + glCopyTexImage2D, and + glCopyTexSubImage2D), + which is taken from the frame buffer values of + read. Note that the same + EGLSurface may be specified for both draw and read. +

+

+ For an OpenVG context, the same EGLSurface must be + specified for both draw and + read. +

+

+ If the calling thread has already a current rendering context of + the same client API type as context, then + that context is flushed and marked as no longer current. + context is then made the current context + for the calling thread. For purposes of + eglMakeCurrent, the client API type of all + OpenGL ES and OpenGL contexts is considered the same. In other + words, if any OpenGL ES context is currently bound and + context is an OpenGL context, or if any + OpenGL context is currently bound and + context is an OpenGL ES context, the + currently bound context will be made no longer current and + context will be made current. +

+

+ OpenGL and OpenGL ES buffer mappings created by e.g. + glMapBuffer are not affected by + eglMakeCurrent; they persist whether the + context owning the buffer is current or not. +

+

+ If draw is destroyed after + eglMakeCurrent is called, then subsequent + rendering commands will be processed and the context state will + be updated, but the surface contents become undefined. If + read is destroyed after + eglMakeCurrent then pixel values + read from the framebuffer (e.g., as + result of calling glReadPixels) are undefined. If a native + window or pixmap underlying the draw or + read surfaces is destroyed, rendering and + readback are handled as above. +

+

+ To release the current context without assigning a new one, set + context to + EGL_NO_CONTEXT and set + draw and read to + EGL_NO_SURFACE . The currently bound + context for the client API specified by the current rendering + API is flushed and marked as no longer current, and there will + be no current context for that client API after + eglMakeCurrent returns. This is the only + case in which eglMakeCurrent respects the + current rendering API. In all other cases, the client API + affected is determined by context. This + is the only case where an uninitialized display may be passed to + eglMakeCurrent. +

+

+ If ctx is not EGL_NO_CONTEXT, then both + draw and read must + not be EGL_NO_SURFACE unless + context is a context which supports being + bound without read and draw surfaces. In this case the context + is made current without a default framebuffer. The meaning of + this is defined by the client API of the supporting context (see + chapter 4 of the OpenGL 3.0 Specification, and the + GL_OES_surfaceless_context OpenGL ES + extension.). +

+

+ The first time a OpenGL or OpenGL ES context is made current the + viewport and scissor dimensions are set to the size of the + draw surface (as though + glViewport(0,0,w,h) and + glScissor(0,0,w,h) + were called, where w and + h are the width and height of the + surface, respectively). However, the viewport and scissor + dimensions are not modified when context + is subsequently made current. The client is responsible for + resetting the viewport and scissor in this case. +

+

+ The first time context is made current, + if it is without a default framebuffer (e.g. both + draw and read are + EGL_NO_SURFACE ), then the viewport and + scissor regions are set as though + glViewport(0,0,0,0) and + glScissor(0,0,0,0) were called. +

+

+ Implementations may delay allocation of auxiliary buffers for a + surface until they are required by a context (which may result + in the EGL_BAD_ALLOC error described + above). Once allocated, however, auxiliary buffers and their + contents persist until a surface is deleted. +

+

+ Use + eglGetCurrentContext, + eglGetCurrentDisplay, and + eglGetCurrentSurface + to query the current rendering context and associated display connection and surfaces. +

+
+
+

Errors

+

+ If draw or read + are not compatible with context, then an + EGL_BAD_MATCH error is generated. +

+

+ If context is current to some other + thread, or if either draw or + read are bound to contexts in another + thread, an EGL_BAD_ACCESS error is + generated. +

+

+ If binding context would exceed the + number of current contexts of that client API type supported by + the implementation, an EGL_BAD_ACCESS error + is generated. +

+

+ If either draw or + read are pbuffers created with + eglCreatePbufferFromClientBuffer, and the + underlying bound client API buffers are in use by the client API + that created them, an EGL_BAD_ACCESS error + is generated. +

+

+ If context is not a valid context and is + not EGL_NO_CONTEXT, an + EGL_BAD_CONTEXT error is generated. +

+

+ If either draw or + read are not valid EGL surfaces and are + not EGL_NO_SURFACE, an + EGL_BAD_SURFACE error is generated. +

+

+ If context is + EGL_NO_CONTEXT and either + draw or read are + not EGL_NO_SURFACE, an + EGL_BAD_MATCH error is generated. +

+

+ If either of draw or + read is a valid surface and the other is + EGL_NO_SURFACE, an + EGL_BAD_MATCH error is generated. +

+

+ If context does not support being bound + without read and + draw surfaces, and both + draw and read are + EGL_NO_SURFACE, an + EGL_BAD_MATCH error is generated. +

+

+ If a native window underlying either draw + or read is no longer valid, an + EGL_BAD_NATIVE_WINDOW error is generated. +

+

+ If draw and read + cannot fit into graphics memory simultaneously, an + EGL_BAD_MATCH error is generated. +

+

+ If the previous context of the calling thread has unflushed + commands, and the previous surface is no longer valid, an + EGL_BAD_CURRENT_SURFACE error is generated. +

+

+ If the ancillary buffers for draw and + read cannot be allocated, an + EGL_BAD_ALLOC error is generated. +

+

+ If a power management event has occurred, an + EGL_CONTEXT_LOST error is generated. +

+

+ If any of the following are true: + +

+
+
    +
  • +

    + context is not + EGL_NO_CONTEXT +

    +
  • +
  • +

    + read is not + EGL_NO_SURFACE +

    +
  • +
  • +

    + draw is not + EGL_NO_SURFACE +

    +
  • +
+
+

+ + then an EGL_NOT_INITIALIZED error is + generated if display is a valid but + uninitialized display. +

+

+ As with other commands taking EGLDisplay + parameters, if display is not a valid + EGLDisplay handle, an + EGL_BAD_DISPLAY error is generated. (Some + implementations have chosen to allow + EGL_NO_DISPLAY as a valid + display parameter for + eglMakeCurrent. This behavior is not + portable to all EGL implementations, and should be considered as + an undocumented vendor extension). +

+
+ +

+

+ +

+

+
+