diff options
author | Christian König <[email protected]> | 2013-05-15 15:10:11 +0200 |
---|---|---|
committer | Christian König <[email protected]> | 2013-10-26 12:13:36 +0200 |
commit | 80964226e9b8a05c39157f9305c06c0b2861e080 (patch) | |
tree | c4f1c11f0f3e82e0b8167b8cba21de6694f2f9d9 /src/mapi | |
parent | 3d3a0b9b67982a96a4c4d87f78c21204f3a48776 (diff) |
implement NV_vdpau_interop v7
v2: Actually implement interop between the gallium
state tracker and the VDPAU backend.
v3: Make it also available in non legacy contexts,
fix video buffer sharing.
v4: deny interop if we don't have the same screen object
v5: rebased on upstream changes
v6: implemented VDPAUGetSurfaceivNV, improved error handling,
unregister all surfaces in VDPAUFiniNV
v7: squash merge with Mareks changes
Signed-off-by: Christian König <[email protected]>
Diffstat (limited to 'src/mapi')
-rw-r--r-- | src/mapi/glapi/gen/Makefile.am | 1 | ||||
-rw-r--r-- | src/mapi/glapi/gen/NV_vdpau_interop.xml | 69 | ||||
-rw-r--r-- | src/mapi/glapi/gen/gl_API.xml | 2 | ||||
-rw-r--r-- | src/mapi/glapi/gen/gl_genexec.py | 1 |
4 files changed, 73 insertions, 0 deletions
diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am index d71d5d2a852..48af135cb45 100644 --- a/src/mapi/glapi/gen/Makefile.am +++ b/src/mapi/glapi/gen/Makefile.am @@ -141,6 +141,7 @@ API_XML = \ NV_conditional_render.xml \ NV_primitive_restart.xml \ NV_texture_barrier.xml \ + NV_vdpau_interop.xml \ OES_EGL_image.xml \ GL3x.xml diff --git a/src/mapi/glapi/gen/NV_vdpau_interop.xml b/src/mapi/glapi/gen/NV_vdpau_interop.xml new file mode 100644 index 00000000000..cf5f0eddd25 --- /dev/null +++ b/src/mapi/glapi/gen/NV_vdpau_interop.xml @@ -0,0 +1,69 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<OpenGLAPI> + +<category name="GL_NV_vdpau_interop" number="396"> + + <function name="VDPAUInitNV" offset="assign"> + <param name="vdpDevice" type="const GLvoid *"/> + <param name="getProcAddress" type="const GLvoid *"/> + </function> + + <function name="VDPAUFiniNV" offset="assign"/> + + <function name="VDPAURegisterVideoSurfaceNV" offset="assign"> + <return type="GLintptr"/> + <param name="vdpSurface" type="const GLvoid *"/> + <param name="target" type="GLenum"/> + <param name="numTextureNames" type="GLsizei"/> + <param name="textureNames" type="const GLuint *"/> + </function> + + <function name="VDPAURegisterOutputSurfaceNV" offset="assign"> + <return type="GLintptr"/> + <param name="vdpSurface" type="const GLvoid *"/> + <param name="target" type="GLenum"/> + <param name="numTextureNames" type="GLsizei"/> + <param name="textureNames" type="const GLuint *"/> + </function> + + <function name="VDPAUIsSurfaceNV" offset="assign"> + <param name="surface" type="GLintptr"/> + </function> + + <function name="VDPAUUnregisterSurfaceNV" offset="assign"> + <param name="surface" type="GLintptr"/> + </function> + + <function name="VDPAUGetSurfaceivNV" offset="assign"> + <param name="surface" type="GLintptr"/> + <param name="pname" type="GLenum"/> + <param name="bufSize" type="GLsizei"/> + <param name="length" type="GLsizei *"/> + <param name="values" type="GLint *"/> + </function> + + <function name="VDPAUSurfaceAccessNV" offset="assign"> + <param name="surface" type="GLintptr"/> + <param name="access" type="GLenum"/> + </function> + + <function name="VDPAUMapSurfacesNV" offset="assign"> + <param name="numSurfaces" type="GLsizei"/> + <param name="surfaces" type="const GLintptr *"/> + </function> + + <function name="VDPAUUnmapSurfacesNV" offset="assign"> + <param name="numSurfaces" type="GLsizei"/> + <param name="surfaces" type="const GLintptr *"/> + </function> + + <enum name="SURFACE_STATE_NV" value="0x86EB"/> + <enum name="SURFACE_REGISTERED_NV" value="0x86FD"/> + <enum name="SURFACE_MAPPED_NV" value="0x8700"/> + <enum name="WRITE_DISCARD_NV" value="0x88BE"/> + +</category> + +</OpenGLAPI> diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index 30ab9c9c116..994ed8d1358 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -13118,4 +13118,6 @@ <xi:include href="EXT_transform_feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> +<xi:include href="NV_vdpau_interop.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + </OpenGLAPI> diff --git a/src/mapi/glapi/gen/gl_genexec.py b/src/mapi/glapi/gen/gl_genexec.py index a074c234829..3ce190fe3ac 100644 --- a/src/mapi/glapi/gen/gl_genexec.py +++ b/src/mapi/glapi/gen/gl_genexec.py @@ -111,6 +111,7 @@ header = """/** #include "main/syncobj.h" #include "main/formatquery.h" #include "main/dispatch.h" +#include "main/vdpau.h" #include "vbo/vbo.h" |