gstgl: Re-enable WINAPI on _MSC_VER
authorNirbheek Chauhan <nirbheek@centricular.com>
Fri, 28 Oct 2016 00:53:02 +0000 (06:23 +0530)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 9 Dec 2017 19:32:23 +0000 (19:32 +0000)
The calling convention may be deprecated, but we still need it for
OpenGL. The build issue was caused by an incorrect syntax being used for
the WINAPI (__stdcall) prototype in function pointers which was accepted
by GCC but is rejected by MSVC.

gst-libs/gst/gl/gstglapi.h
gst-libs/gst/gl/gstglshader.c
gst-libs/gst/gl/gstglsl_private.h

index fd8d9a6..3088920 100644 (file)
@@ -76,7 +76,7 @@
 #pragma GCC diagnostic pop
 #endif
 
-#if defined(WINAPI) && !defined(_MSC_VER)
+#if defined(WINAPI)
 #define GSTGLAPI WINAPI
 #else
 #define GSTGLAPI
index 9f09236..c161308 100644 (file)
 
 typedef struct _GstGLShaderVTable
 {
-  GLuint GSTGLAPI (*CreateProgram) (void);
-  void GSTGLAPI (*DeleteProgram) (GLuint program);
-  void GSTGLAPI (*UseProgram) (GLuint program);
-  void GSTGLAPI (*GetAttachedShaders) (GLuint program, GLsizei maxcount,
+  GLuint (GSTGLAPI *CreateProgram) (void);
+  void (GSTGLAPI *DeleteProgram) (GLuint program);
+  void (GSTGLAPI *UseProgram) (GLuint program);
+  void (GSTGLAPI *GetAttachedShaders) (GLuint program, GLsizei maxcount,
       GLsizei * count, GLuint * shaders);
 
-  GLuint GSTGLAPI (*CreateShader) (GLenum shaderType);
-  void GSTGLAPI (*DeleteShader) (GLuint shader);
-  void GSTGLAPI (*AttachShader) (GLuint program, GLuint shader);
-  void GSTGLAPI (*DetachShader) (GLuint program, GLuint shader);
+  GLuint (GSTGLAPI *CreateShader) (GLenum shaderType);
+  void (GSTGLAPI *DeleteShader) (GLuint shader);
+  void (GSTGLAPI *AttachShader) (GLuint program, GLuint shader);
+  void (GSTGLAPI *DetachShader) (GLuint program, GLuint shader);
 
-  void GSTGLAPI (*GetShaderiv) (GLuint program, GLenum pname, GLint * params);
-  void GSTGLAPI (*GetProgramiv) (GLuint program, GLenum pname, GLint * params);
-  void GSTGLAPI (*GetShaderInfoLog) (GLuint shader, GLsizei maxLength,
+  void (GSTGLAPI *GetShaderiv) (GLuint program, GLenum pname, GLint * params);
+  void (GSTGLAPI *GetProgramiv) (GLuint program, GLenum pname, GLint * params);
+  void (GSTGLAPI *GetShaderInfoLog) (GLuint shader, GLsizei maxLength,
       GLsizei * length, char *log);
-  void GSTGLAPI (*GetProgramInfoLog) (GLuint shader, GLsizei maxLength,
+  void (GSTGLAPI *GetProgramInfoLog) (GLuint shader, GLsizei maxLength,
       GLsizei * length, char *log);
 } GstGLShaderVTable;
 
index 755170d..08addeb 100644 (file)
@@ -36,22 +36,22 @@ typedef struct _GstGLSLFuncs
 {
   gboolean initialized;
 
-  GLuint GSTGLAPI (*CreateProgram) (void);
-  void GSTGLAPI (*DeleteProgram) (GLuint program);
-  void GSTGLAPI (*UseProgram) (GLuint program);
-  void GSTGLAPI (*GetAttachedShaders) (GLuint program, GLsizei maxcount,
+  GLuint (GSTGLAPI *CreateProgram) (void);
+  void (GSTGLAPI *DeleteProgram) (GLuint program);
+  void (GSTGLAPI *UseProgram) (GLuint program);
+  void (GSTGLAPI *GetAttachedShaders) (GLuint program, GLsizei maxcount,
       GLsizei * count, GLuint * shaders);
 
-  GLuint GSTGLAPI (*CreateShader) (GLenum shaderType);
-  void GSTGLAPI (*DeleteShader) (GLuint shader);
-  void GSTGLAPI (*AttachShader) (GLuint program, GLuint shader);
-  void GSTGLAPI (*DetachShader) (GLuint program, GLuint shader);
+  GLuint (GSTGLAPI *CreateShader) (GLenum shaderType);
+  void (GSTGLAPI *DeleteShader) (GLuint shader);
+  void (GSTGLAPI *AttachShader) (GLuint program, GLuint shader);
+  void (GSTGLAPI *DetachShader) (GLuint program, GLuint shader);
 
-  void GSTGLAPI (*GetShaderiv) (GLuint program, GLenum pname, GLint * params);
-  void GSTGLAPI (*GetProgramiv) (GLuint program, GLenum pname, GLint * params);
-  void GSTGLAPI (*GetShaderInfoLog) (GLuint shader, GLsizei maxLength,
+  void (GSTGLAPI *GetShaderiv) (GLuint program, GLenum pname, GLint * params);
+  void (GSTGLAPI *GetProgramiv) (GLuint program, GLenum pname, GLint * params);
+  void (GSTGLAPI *GetShaderInfoLog) (GLuint shader, GLsizei maxLength,
       GLsizei * length, char *log);
-  void GSTGLAPI (*GetProgramInfoLog) (GLuint shader, GLsizei maxLength,
+  void (GSTGLAPI *GetProgramInfoLog) (GLuint shader, GLsizei maxLength,
       GLsizei * length, char *log);
 } GstGLSLFuncs;