summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <[email protected]>2014-03-02 12:57:04 +0100
committerChristian König <[email protected]>2014-03-03 18:37:59 +0100
commit070036ca399d88293ef51b40e859c06acf0c7606 (patch)
tree69ad2e0e749cd79e45d31c5a40bd719ffc9c1f35
parent86c06871a282ec60e81d0cbabc3b1d661bc33c75 (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.h2
-rw-r--r--src/mapi/glapi/gen/NV_vdpau_interop.xml1
-rw-r--r--src/mesa/main/vdpau.c9
-rw-r--r--src/mesa/main/vdpau.h2
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