diff options
author | Grigori Goronzy <[email protected]> | 2014-03-02 12:57:04 +0100 |
---|---|---|
committer | Christian König <[email protected]> | 2014-03-03 18:37:59 +0100 |
commit | 070036ca399d88293ef51b40e859c06acf0c7606 (patch) | |
tree | 69ad2e0e749cd79e45d31c5a40bd719ffc9c1f35 | |
parent | 86c06871a282ec60e81d0cbabc3b1d661bc33c75 (diff) |
NV_vdpau_interop: fix IsSurfaceNV return type
The spec incorrectly used void as return type, when it should have
been GLboolean. This has now been fixed. According to Nvidia, their
implementation always used GLboolean.
Reviewed-by: Christian König <[email protected]>
-rw-r--r-- | include/GL/glext.h | 2 | ||||
-rw-r--r-- | src/mapi/glapi/gen/NV_vdpau_interop.xml | 1 | ||||
-rw-r--r-- | src/mesa/main/vdpau.c | 9 | ||||
-rw-r--r-- | src/mesa/main/vdpau.h | 2 |
4 files changed, 8 insertions, 6 deletions
diff --git a/include/GL/glext.h b/include/GL/glext.h index 7d6033e10cf..62bae4c4a08 100644 --- a/include/GL/glext.h +++ b/include/GL/glext.h @@ -9658,7 +9658,7 @@ GLAPI void APIENTRY glVDPAUInitNV (const void *vdpDevice, const void *getProcAdd GLAPI void APIENTRY glVDPAUFiniNV (void); GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterOutputSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); -GLAPI void APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface); +GLAPI GLboolean APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface); GLAPI void APIENTRY glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface); GLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); GLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access); diff --git a/src/mapi/glapi/gen/NV_vdpau_interop.xml b/src/mapi/glapi/gen/NV_vdpau_interop.xml index cf5f0eddd25..0b19e1a85f6 100644 --- a/src/mapi/glapi/gen/NV_vdpau_interop.xml +++ b/src/mapi/glapi/gen/NV_vdpau_interop.xml @@ -29,6 +29,7 @@ </function> <function name="VDPAUIsSurfaceNV" offset="assign"> + <return type="GLboolean"/> <param name="surface" type="GLintptr"/> </function> diff --git a/src/mesa/main/vdpau.c b/src/mesa/main/vdpau.c index 3597576076f..c2cf20664c6 100644 --- a/src/mesa/main/vdpau.c +++ b/src/mesa/main/vdpau.c @@ -205,7 +205,7 @@ _mesa_VDPAURegisterOutputSurfaceNV(const GLvoid *vdpSurface, GLenum target, numTextureNames, textureNames); } -void GLAPIENTRY +GLboolean GLAPIENTRY _mesa_VDPAUIsSurfaceNV(GLintptr surface) { struct vdp_surface *surf = (struct vdp_surface *)surface; @@ -213,13 +213,14 @@ _mesa_VDPAUIsSurfaceNV(GLintptr surface) if (!ctx->vdpDevice || !ctx->vdpGetProcAddress || !ctx->vdpSurfaces) { _mesa_error(ctx, GL_INVALID_OPERATION, "VDPAUIsSurfaceNV"); - return; + return false; } if (!_mesa_set_search(ctx->vdpSurfaces, _mesa_hash_pointer(surf), surf)) { - _mesa_error(ctx, GL_INVALID_VALUE, "VDPAUIsSurfaceNV"); - return; + return false; } + + return true; } void GLAPIENTRY diff --git a/src/mesa/main/vdpau.h b/src/mesa/main/vdpau.h index f32d6dacb83..627609c50de 100644 --- a/src/mesa/main/vdpau.h +++ b/src/mesa/main/vdpau.h @@ -50,7 +50,7 @@ _mesa_VDPAURegisterOutputSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); -extern void GLAPIENTRY +extern GLboolean GLAPIENTRY _mesa_VDPAUIsSurfaceNV(GLintptr surface); extern void GLAPIENTRY |