From 47c0eacbeabcdcc1d58a244a2aba51b62df9cd31 Mon Sep 17 00:00:00 2001 From: Martchus Date: Tue, 9 Aug 2016 20:29:33 +0200 Subject: [PATCH] Update mingw-w64-angleproject --- ...-workaround-for-building-static-libs.patch | 62 +++ .../0002-Provide-Windows-XP-support.patch | 25 + .../0003-Fix-dynamic-libraries.patch | 433 ++++++++++++++++++ ...4-Link-against-dxguid-d3d9-and-gdi32.patch | 41 ++ ...-Export-shader-API-via-libGLESv2.dll.patch | 58 +++ ...nd-GLsizeiptr-match-those-from-Qt-5.patch} | 22 +- .../0007-Remove-copy_scripts-target.patch | 153 +++++++ .../0008-Fix-generation-of-commit_id.h.patch | 36 ++ angleproject/mingw-w64/PKGBUILD | 140 +++--- ...lude-import-library-and-use-def-file.patch | 66 --- .../mingw-w64/entry_points_shader.cpp | 12 - angleproject/mingw-w64/libEGL_mingw32.def | 53 --- angleproject/mingw-w64/libGLESv2_mingw32.def | 315 ------------- .../mingw-w64/provide_mbstowcs_s_for_xp.patch | 57 --- proto-quic/mingw-w64-git/PKGBUILD | 65 +++ 15 files changed, 967 insertions(+), 571 deletions(-) create mode 100644 angleproject/mingw-w64/0001-Provide-workaround-for-building-static-libs.patch create mode 100644 angleproject/mingw-w64/0002-Provide-Windows-XP-support.patch create mode 100644 angleproject/mingw-w64/0003-Fix-dynamic-libraries.patch create mode 100644 angleproject/mingw-w64/0004-Link-against-dxguid-d3d9-and-gdi32.patch create mode 100644 angleproject/mingw-w64/0005-Export-shader-API-via-libGLESv2.dll.patch rename angleproject/mingw-w64/{fix-compatibility-with-qtopengl-and-qtwebkit.patch => 0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch} (59%) create mode 100644 angleproject/mingw-w64/0007-Remove-copy_scripts-target.patch create mode 100644 angleproject/mingw-w64/0008-Fix-generation-of-commit_id.h.patch delete mode 100644 angleproject/mingw-w64/angleproject-include-import-library-and-use-def-file.patch delete mode 100644 angleproject/mingw-w64/entry_points_shader.cpp delete mode 100644 angleproject/mingw-w64/libEGL_mingw32.def delete mode 100644 angleproject/mingw-w64/libGLESv2_mingw32.def delete mode 100644 angleproject/mingw-w64/provide_mbstowcs_s_for_xp.patch create mode 100644 proto-quic/mingw-w64-git/PKGBUILD diff --git a/angleproject/mingw-w64/0001-Provide-workaround-for-building-static-libs.patch b/angleproject/mingw-w64/0001-Provide-workaround-for-building-static-libs.patch new file mode 100644 index 00000000..7fba72f4 --- /dev/null +++ b/angleproject/mingw-w64/0001-Provide-workaround-for-building-static-libs.patch @@ -0,0 +1,62 @@ +From 17a753984f0385f1d54133b7809bfa6b37c3aa32 Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Tue, 9 Aug 2016 18:35:55 +0200 +Subject: [PATCH 1/8] Provide workaround for building static libs + +See: https://bugs.chromium.org/p/angleproject/issues/detail?id=1251 + +Workaround relies on ANGLE_STATIC being defined when using static libs +--- + include/KHR/khrplatform.h | 6 +++--- + include/export.h | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/include/KHR/khrplatform.h b/include/KHR/khrplatform.h +index c9e6f17..9017b61 100755 +--- a/include/KHR/khrplatform.h ++++ b/include/KHR/khrplatform.h +@@ -97,9 +97,9 @@ + *------------------------------------------------------------------------- + * This precedes the return type of the function in the function prototype. + */ +-#if defined(_WIN32) && !defined(__SCITECH_SNAP__) ++#if defined(_WIN32) && !defined(__SCITECH_SNAP__) && !defined(ANGLE_STATIC) + # define KHRONOS_APICALL __declspec(dllimport) +-#elif defined (__SYMBIAN32__) ++#elif defined (__SYMBIAN32__) && !defined(ANGLE_STATIC) + # define KHRONOS_APICALL IMPORT_C + #else + # define KHRONOS_APICALL +@@ -223,7 +223,7 @@ typedef signed short int khronos_int16_t; + typedef unsigned short int khronos_uint16_t; + + /* +- * Types that differ between LLP64 and LP64 architectures - in LLP64, ++ * Types that differ between LLP64 and LP64 architectures - in LLP64, + * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears + * to be the only LLP64 architecture in current use. + */ +diff --git a/include/export.h b/include/export.h +index 809265c..2bc3900 100644 +--- a/include/export.h ++++ b/include/export.h +@@ -9,14 +9,14 @@ + #ifndef LIBGLESV2_EXPORT_H_ + #define LIBGLESV2_EXPORT_H_ + +-#if defined(_WIN32) ++#if defined(_WIN32) && !defined(ANGLE_STATIC) + #if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \ + defined(LIBANGLE_UTIL_IMPLEMENTATION) + # define ANGLE_EXPORT __declspec(dllexport) + # else + # define ANGLE_EXPORT __declspec(dllimport) + # endif +-#elif defined(__GNUC__) ++#elif defined(__GNUC__) && !defined(ANGLE_STATIC) + #if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \ + defined(LIBANGLE_UTIL_IMPLEMENTATION) + # define ANGLE_EXPORT __attribute__((visibility ("default"))) +-- +2.10.2 + diff --git a/angleproject/mingw-w64/0002-Provide-Windows-XP-support.patch b/angleproject/mingw-w64/0002-Provide-Windows-XP-support.patch new file mode 100644 index 00000000..5bc2f9b2 --- /dev/null +++ b/angleproject/mingw-w64/0002-Provide-Windows-XP-support.patch @@ -0,0 +1,25 @@ +From 9d67527bab497a3c0030ddc4b2f7467f58bf3a85 Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Tue, 9 Aug 2016 19:15:20 +0200 +Subject: [PATCH 2/8] Provide Windows XP support + +--- + src/common/string_utils.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/common/string_utils.cpp b/src/common/string_utils.cpp +index bb1edd2..2e6e228 100644 +--- a/src/common/string_utils.cpp ++++ b/src/common/string_utils.cpp +@@ -141,7 +141,7 @@ bool ReadFileToString(const std::string &path, std::string *stringOut) + Optional> WidenString(size_t length, const char *cString) + { + std::vector wcstring(length + 1); +-#if !defined(ANGLE_PLATFORM_WINDOWS) ++#if !defined(ANGLE_PLATFORM_WINDOWS) || defined(ANGLE_WINDOWS_XP_SUPPORT) + size_t written = mbstowcs(wcstring.data(), cString, length + 1); + if (written == 0) + { +-- +2.10.2 + diff --git a/angleproject/mingw-w64/0003-Fix-dynamic-libraries.patch b/angleproject/mingw-w64/0003-Fix-dynamic-libraries.patch new file mode 100644 index 00000000..4c718a24 --- /dev/null +++ b/angleproject/mingw-w64/0003-Fix-dynamic-libraries.patch @@ -0,0 +1,433 @@ +From 5cb25e912901941875d7a4498d6a3e668b6069c3 Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Sun, 25 Sep 2016 23:03:18 +0200 +Subject: [PATCH 3/8] Fix dynamic libraries + +- Create import libs +- Use correct *.def file +--- + src/libEGL.gypi | 6 + + src/libEGL/libEGL_mingw32.def | 53 ++++++ + src/libGLESv2.gypi | 6 + + src/libGLESv2/libGLESv2_mingw32.def | 315 ++++++++++++++++++++++++++++++++++++ + 4 files changed, 380 insertions(+) + create mode 100644 src/libEGL/libEGL_mingw32.def + create mode 100644 src/libGLESv2/libGLESv2_mingw32.def + +diff --git a/src/libEGL.gypi b/src/libEGL.gypi +index 813b006..1176136 100644 +--- a/src/libEGL.gypi ++++ b/src/libEGL.gypi +@@ -34,6 +34,12 @@ + { + 'msvs_requires_importlibrary' : 'true', + }], ++ ['TARGET=="win32"', { ++ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a ../../../src/libEGL/libEGL_mingw32.def' ], ++ }], ++ ['TARGET=="win64"', { ++ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a ../../../src/libEGL/libEGL.def' ], ++ }], + ], + }, + ], +diff --git a/src/libEGL/libEGL_mingw32.def b/src/libEGL/libEGL_mingw32.def +new file mode 100644 +index 0000000..6cecc64 +--- /dev/null ++++ b/src/libEGL/libEGL_mingw32.def +@@ -0,0 +1,53 @@ ++LIBRARY libEGL ++EXPORTS ++ eglBindAPI@4 @14 ++ eglBindTexImage@12 @20 ++ eglChooseConfig@20 @7 ++ eglCopyBuffers@12 @33 ++ eglCreateContext@16 @23 ++ eglCreatePbufferFromClientBuffer@20 @18 ++ eglCreatePbufferSurface@12 @10 ++ eglCreatePixmapSurface@16 @11 ++ eglCreateWindowSurface@16 @9 ++ eglDestroyContext@8 @24 ++ eglDestroySurface@8 @12 ++ eglGetConfigAttrib@16 @8 ++ eglGetConfigs@16 @6 ++ eglGetCurrentContext@0 @26 ++ eglGetCurrentDisplay@0 @28 ++ eglGetCurrentSurface@4 @27 ++ eglGetDisplay@4 @2 ++ eglGetError@0 @1 ++ eglGetProcAddress@4 @34 ++ eglInitialize@12 @3 ++ eglMakeCurrent@16 @25 ++ eglQueryAPI@0 @15 ++ eglQueryContext@16 @29 ++ eglQueryString@8 @5 ++ eglQuerySurface@16 @13 ++ eglReleaseTexImage@12 @21 ++ eglReleaseThread@0 @17 ++ eglSurfaceAttrib@16 @19 ++ eglSwapBuffers@8 @32 ++ eglSwapInterval@8 @22 ++ eglTerminate@4 @4 ++ eglWaitClient@0 @16 ++ eglWaitGL@0 @30 ++ eglWaitNative@4 @31 ++ ++ ; Extensions ++ eglGetPlatformDisplayEXT@12 @35 ++ eglQuerySurfacePointerANGLE@16 @36 ++ eglPostSubBufferNV@24 @37 ++ ++ ; 1.5 entry points ++ eglCreateSync@12 @38 ++ eglDestroySync@8 @39 ++ eglClientWaitSync@20 @40 ++ eglGetSyncAttrib@16 @41 ++ eglCreateImage@20 @42 ++ eglDestroyImage@8 @43 ++ eglGetPlatformDisplay@12 @44 ++ eglCreatePlatformWindowSurface@16 @45 ++ eglCreatePlatformPixmapSurface@16 @46 ++ eglWaitSync@12 @47 +diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi +index 39600c6..dac2dae 100644 +--- a/src/libGLESv2.gypi ++++ b/src/libGLESv2.gypi +@@ -1052,6 +1052,12 @@ + { + 'msvs_requires_importlibrary' : 'true', + }], ++ ['TARGET=="win32"', { ++ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a ../../../src/libGLESv2/libGLESv2_mingw32.def' ], ++ }], ++ ['TARGET=="win64"', { ++ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a ../../../src/libGLESv2/libGLESv2.def' ], ++ }], + ], + }, + ], +diff --git a/src/libGLESv2/libGLESv2_mingw32.def b/src/libGLESv2/libGLESv2_mingw32.def +new file mode 100644 +index 0000000..7a56196 +--- /dev/null ++++ b/src/libGLESv2/libGLESv2_mingw32.def +@@ -0,0 +1,315 @@ ++LIBRARY libGLESv2 ++EXPORTS ++ glActiveTexture@4 @1 ++ glAttachShader@8 @2 ++ glBindAttribLocation@12 @3 ++ glBindBuffer@8 @4 ++ glBindFramebuffer@8 @5 ++ glBindRenderbuffer@8 @6 ++ glBindTexture@8 @7 ++ glBlendColor@16 @8 ++ glBlendEquation@4 @9 ++ glBlendEquationSeparate@8 @10 ++ glBlendFunc@8 @11 ++ glBlendFuncSeparate@16 @12 ++ glBufferData@16 @13 ++ glBufferSubData@16 @14 ++ glCheckFramebufferStatus@4 @15 ++ glClear@4 @16 ++ glClearColor@16 @17 ++ glClearDepthf@4 @18 ++ glClearStencil@4 @19 ++ glColorMask@16 @20 ++ glCompileShader@4 @21 ++ glCompressedTexImage2D@32 @22 ++ glCompressedTexSubImage2D@36 @23 ++ glCopyTexImage2D@32 @24 ++ glCopyTexSubImage2D@32 @25 ++ glCreateProgram@0 @26 ++ glCreateShader@4 @27 ++ glCullFace@4 @28 ++ glDeleteBuffers@8 @29 ++ glDeleteFramebuffers@8 @30 ++ glDeleteProgram@4 @32 ++ glDeleteRenderbuffers@8 @33 ++ glDeleteShader@4 @34 ++ glDeleteTextures@8 @31 ++ glDepthFunc@4 @36 ++ glDepthMask@4 @37 ++ glDepthRangef@8 @38 ++ glDetachShader@8 @35 ++ glDisable@4 @39 ++ glDisableVertexAttribArray@4 @40 ++ glDrawArrays@12 @41 ++ glDrawElements@16 @42 ++ glEnable@4 @43 ++ glEnableVertexAttribArray@4 @44 ++ glFinish@0 @45 ++ glFlush@0 @46 ++ glFramebufferRenderbuffer@16 @47 ++ glFramebufferTexture2D@20 @48 ++ glFrontFace@4 @49 ++ glGenBuffers@8 @50 ++ glGenFramebuffers@8 @52 ++ glGenRenderbuffers@8 @53 ++ glGenTextures@8 @54 ++ glGenerateMipmap@4 @51 ++ glGetActiveAttrib@28 @55 ++ glGetActiveUniform@28 @56 ++ glGetAttachedShaders@16 @57 ++ glGetAttribLocation@8 @58 ++ glGetBooleanv@8 @59 ++ glGetBufferParameteriv@12 @60 ++ glGetError@0 @61 ++ glGetFloatv@8 @62 ++ glGetFramebufferAttachmentParameteriv@16 @63 ++ glGetIntegerv@8 @64 ++ glGetProgramInfoLog@16 @66 ++ glGetProgramiv@12 @65 ++ glGetRenderbufferParameteriv@12 @67 ++ glGetShaderInfoLog@16 @69 ++ glGetShaderPrecisionFormat@16 @70 ++ glGetShaderSource@16 @71 ++ glGetShaderiv@12 @68 ++ glGetString@4 @72 ++ glGetTexParameterfv@12 @73 ++ glGetTexParameteriv@12 @74 ++ glGetUniformLocation@8 @77 ++ glGetUniformfv@12 @75 ++ glGetUniformiv@12 @76 ++ glGetVertexAttribPointerv@12 @80 ++ glGetVertexAttribfv@12 @78 ++ glGetVertexAttribiv@12 @79 ++ glHint@8 @81 ++ glIsBuffer@4 @82 ++ glIsEnabled@4 @83 ++ glIsFramebuffer@4 @84 ++ glIsProgram@4 @85 ++ glIsRenderbuffer@4 @86 ++ glIsShader@4 @87 ++ glIsTexture@4 @88 ++ glLineWidth@4 @89 ++ glLinkProgram@4 @90 ++ glPixelStorei@8 @91 ++ glPolygonOffset@8 @92 ++ glReadPixels@28 @93 ++ glReleaseShaderCompiler@0 @94 ++ glRenderbufferStorage@16 @95 ++ glSampleCoverage@8 @96 ++ glScissor@16 @97 ++ glShaderBinary@20 @98 ++ glShaderSource@16 @99 ++ glStencilFunc@12 @100 ++ glStencilFuncSeparate@16 @101 ++ glStencilMask@4 @102 ++ glStencilMaskSeparate@8 @103 ++ glStencilOp@12 @104 ++ glStencilOpSeparate@16 @105 ++ glTexImage2D@36 @106 ++ glTexParameterf@12 @107 ++ glTexParameterfv@12 @108 ++ glTexParameteri@12 @109 ++ glTexParameteriv@12 @110 ++ glTexSubImage2D@36 @111 ++ glUniform1f@8 @112 ++ glUniform1fv@12 @113 ++ glUniform1i@8 @114 ++ glUniform1iv@12 @115 ++ glUniform2f@12 @116 ++ glUniform2fv@12 @117 ++ glUniform2i@12 @118 ++ glUniform2iv@12 @119 ++ glUniform3f@16 @120 ++ glUniform3fv@12 @121 ++ glUniform3i@16 @122 ++ glUniform3iv@12 @123 ++ glUniform4f@20 @124 ++ glUniform4fv@12 @125 ++ glUniform4i@20 @126 ++ glUniform4iv@12 @127 ++ glUniformMatrix2fv@16 @128 ++ glUniformMatrix3fv@16 @129 ++ glUniformMatrix4fv@16 @130 ++ glUseProgram@4 @131 ++ glValidateProgram@4 @132 ++ glVertexAttrib1f@8 @133 ++ glVertexAttrib1fv@8 @134 ++ glVertexAttrib2f@12 @135 ++ glVertexAttrib2fv@8 @136 ++ glVertexAttrib3f@16 @137 ++ glVertexAttrib3fv@8 @138 ++ glVertexAttrib4f@20 @139 ++ glVertexAttrib4fv@8 @140 ++ glVertexAttribPointer@24 @141 ++ glViewport@16 @142 ++ ++ ; Extensions ++ glBlitFramebufferANGLE@40 @149 ++ glRenderbufferStorageMultisampleANGLE@20 @150 ++ glDeleteFencesNV@8 @151 ++ glFinishFenceNV@4 @152 ++ glGenFencesNV@8 @153 ++ glGetFenceivNV@12 @154 ++ glIsFenceNV@4 @155 ++ glSetFenceNV@8 @156 ++ glTestFenceNV@4 @157 ++ glGetTranslatedShaderSourceANGLE@16 @159 ++ glTexStorage2DEXT@20 @160 ++ glGetGraphicsResetStatusEXT@0 @161 ++ glReadnPixelsEXT@32 @162 ++ glGetnUniformfvEXT@16 @163 ++ glGetnUniformivEXT@16 @164 ++ glGenQueriesEXT@8 @165 ++ glDeleteQueriesEXT@8 @166 ++ glIsQueryEXT@4 @167 ++ glBeginQueryEXT@8 @168 ++ glEndQueryEXT@4 @169 ++ glGetQueryivEXT@12 @170 ++ glGetQueryObjectuivEXT@12 @171 ++ glVertexAttribDivisorANGLE@8 @172 ++ glDrawArraysInstancedANGLE@16 @173 ++ glDrawElementsInstancedANGLE@20 @174 ++ glProgramBinaryOES@16 @175 ++ glGetProgramBinaryOES@20 @176 ++ glDrawBuffersEXT@8 @179 ++ glMapBufferOES@8 @285 ++ glUnmapBufferOES@4 @286 ++ glGetBufferPointervOES@12 @287 ++ glMapBufferRangeEXT@16 @288 ++ glFlushMappedBufferRangeEXT@12 @289 ++ glDiscardFramebufferEXT@12 @293 ++ glInsertEventMarkerEXT@8 @294 ++ glPushGroupMarkerEXT@8 @295 ++ glPopGroupMarkerEXT @296 ++ glEGLImageTargetTexture2DOES@8 @297 ++ glEGLImageTargetRenderbufferStorageOES@8 @298 ++ glBindVertexArrayOES@4 @299 ++ glDeleteVertexArraysOES@8 @300 ++ glGenVertexArraysOES@8 @301 ++ glIsVertexArrayOES@4 @302 ++ glDebugMessageControlKHR@24 @303 ++ glDebugMessageInsertKHR@24 @304 ++ glDebugMessageCallbackKHR@8 @305 ++ glGetDebugMessageLogKHR@32 @306 ++ glPushDebugGroupKHR@16 @307 ++ glPopDebugGroupKHR @308 ++ glObjectLabelKHR@16 @309 ++ glGetObjectLabelKHR@20 @310 ++ glObjectPtrLabelKHR@12 @311 ++ glGetObjectPtrLabelKHR@16 @312 ++ glGetPointervKHR@8 @313 ++ glQueryCounterEXT@8 @314 ++ glGetQueryObjectivEXT@12 @315 ++ glGetQueryObjecti64vEXT@12 @316 ++ glGetQueryObjectui64vEXT@12 @317 ++ ++ ; GLES 3.0 Functions ++ glReadBuffer@4 @180 ++ glDrawRangeElements@24 @181 ++ glTexImage3D@40 @182 ++ glTexSubImage3D@44 @183 ++ glCopyTexSubImage3D@36 @184 ++ glCompressedTexImage3D@36 @185 ++ glCompressedTexSubImage3D@44 @186 ++ glGenQueries@8 @187 ++ glDeleteQueries@8 @188 ++ glIsQuery@4 @189 ++ glBeginQuery@8 @190 ++ glEndQuery@4 @191 ++ glGetQueryiv@12 @192 ++ glGetQueryObjectuiv@12 @193 ++ glUnmapBuffer@4 @194 ++ glGetBufferPointerv@12 @195 ++ glDrawBuffers@8 @196 ++ glUniformMatrix2x3fv@16 @197 ++ glUniformMatrix3x2fv@16 @198 ++ glUniformMatrix2x4fv@16 @199 ++ glUniformMatrix4x2fv@16 @200 ++ glUniformMatrix3x4fv@16 @201 ++ glUniformMatrix4x3fv@16 @202 ++ glBlitFramebuffer@40 @203 ++ glRenderbufferStorageMultisample@20 @204 ++ glFramebufferTextureLayer@20 @205 ++ glMapBufferRange@16 @206 ++ glFlushMappedBufferRange@12 @207 ++ glBindVertexArray@4 @208 ++ glDeleteVertexArrays@8 @209 ++ glGenVertexArrays@8 @210 ++ glIsVertexArray@4 @211 ++ glGetIntegeri_v@12 @212 ++ glBeginTransformFeedback@4 @213 ++ glEndTransformFeedback@0 @214 ++ glBindBufferRange@20 @215 ++ glBindBufferBase@12 @216 ++ glTransformFeedbackVaryings@16 @217 ++ glGetTransformFeedbackVarying@28 @218 ++ glVertexAttribIPointer@20 @219 ++ glGetVertexAttribIiv@12 @220 ++ glGetVertexAttribIuiv@12 @221 ++ glVertexAttribI4i@20 @222 ++ glVertexAttribI4ui@20 @223 ++ glVertexAttribI4iv@8 @224 ++ glVertexAttribI4uiv@8 @225 ++ glGetUniformuiv@12 @226 ++ glGetFragDataLocation@8 @227 ++ glUniform1ui@8 @228 ++ glUniform2ui@12 @229 ++ glUniform3ui@16 @230 ++ glUniform4ui@20 @231 ++ glUniform1uiv@12 @232 ++ glUniform2uiv@12 @233 ++ glUniform3uiv@12 @234 ++ glUniform4uiv@12 @235 ++ glClearBufferiv@12 @236 ++ glClearBufferuiv@12 @237 ++ glClearBufferfv@12 @238 ++ glClearBufferfi@16 @239 ++ glGetStringi@8 @240 ++ glCopyBufferSubData@20 @241 ++ glGetUniformIndices@16 @242 ++ glGetActiveUniformsiv@20 @243 ++ glGetUniformBlockIndex@8 @244 ++ glGetActiveUniformBlockiv@16 @245 ++ glGetActiveUniformBlockName@20 @246 ++ glUniformBlockBinding@12 @247 ++ glDrawArraysInstanced@16 @248 ++ glDrawElementsInstanced@20 @249 ++ glFenceSync@8 @250 ++ glIsSync@4 @251 ++ glDeleteSync@4 @252 ++ glClientWaitSync@16 @253 ++ glWaitSync@16 @254 ++ glGetInteger64v@8 @255 ++ glGetSynciv@20 @256 ++ glGetInteger64i_v@12 @257 ++ glGetBufferParameteri64v@12 @258 ++ glGenSamplers@8 @259 ++ glDeleteSamplers@8 @260 ++ glIsSampler@4 @261 ++ glBindSampler@8 @262 ++ glSamplerParameteri@12 @263 ++ glSamplerParameteriv@12 @264 ++ glSamplerParameterf@12 @265 ++ glSamplerParameterfv@12 @266 ++ glGetSamplerParameteriv@12 @267 ++ glGetSamplerParameterfv@12 @268 ++ glVertexAttribDivisor@8 @269 ++ glBindTransformFeedback@8 @270 ++ glDeleteTransformFeedbacks@8 @271 ++ glGenTransformFeedbacks@8 @272 ++ glIsTransformFeedback@4 @273 ++ glPauseTransformFeedback@0 @274 ++ glResumeTransformFeedback@0 @275 ++ glGetProgramBinary@20 @276 ++ glProgramBinary@16 @277 ++ glProgramParameteri@12 @278 ++ glInvalidateFramebuffer@12 @279 ++ glInvalidateSubFramebuffer@28 @280 ++ glTexStorage2D@20 @281 ++ glTexStorage3D@24 @282 ++ glGetInternalformativ@20 @283 ++ ++ ; ANGLE Platform Implementation ++ ANGLEPlatformCurrent @290 ++ ANGLEPlatformInitialize @291 ++ ANGLEPlatformShutdown @292 +-- +2.10.2 + diff --git a/angleproject/mingw-w64/0004-Link-against-dxguid-d3d9-and-gdi32.patch b/angleproject/mingw-w64/0004-Link-against-dxguid-d3d9-and-gdi32.patch new file mode 100644 index 00000000..4ef437b1 --- /dev/null +++ b/angleproject/mingw-w64/0004-Link-against-dxguid-d3d9-and-gdi32.patch @@ -0,0 +1,41 @@ +From d3d4fba06e0e8f0c80a1573b1a002ac76bbe9c5b Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Sun, 25 Sep 2016 23:05:02 +0200 +Subject: [PATCH 4/8] Link against dxguid, d3d9 and gdi32 + +--- + src/libEGL.gypi | 3 +++ + src/libGLESv2.gypi | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/src/libEGL.gypi b/src/libEGL.gypi +index 1176136..03fb651 100644 +--- a/src/libEGL.gypi ++++ b/src/libEGL.gypi +@@ -41,6 +41,9 @@ + 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a ../../../src/libEGL/libEGL.def' ], + }], + ], ++ 'libraries': [ ++ '-ldxguid -ld3d9 -lgdi32' ++ ] + }, + ], + } +diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi +index dac2dae..1267cc2 100644 +--- a/src/libGLESv2.gypi ++++ b/src/libGLESv2.gypi +@@ -1059,6 +1059,9 @@ + 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a ../../../src/libGLESv2/libGLESv2.def' ], + }], + ], ++ 'libraries': [ ++ '-ldxguid -ld3d9 -lgdi32' ++ ] + }, + ], + } +-- +2.10.2 + diff --git a/angleproject/mingw-w64/0005-Export-shader-API-via-libGLESv2.dll.patch b/angleproject/mingw-w64/0005-Export-shader-API-via-libGLESv2.dll.patch new file mode 100644 index 00000000..d578e22c --- /dev/null +++ b/angleproject/mingw-w64/0005-Export-shader-API-via-libGLESv2.dll.patch @@ -0,0 +1,58 @@ +From ccff4861fa86aa66aedc680f65c00aa0b190e7a9 Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Sun, 25 Sep 2016 23:07:03 +0200 +Subject: [PATCH 5/8] Export shader API via libGLESv2.dll + +Required by Qt WebKit +--- + src/compiler/translator/ShaderLang.cpp | 11 +++++++++++ + src/compiler/translator/ShaderVars.cpp | 11 +++++++++++ + 2 files changed, 22 insertions(+) + +diff --git a/src/compiler/translator/ShaderLang.cpp b/src/compiler/translator/ShaderLang.cpp +index 37b1114..c9397b4 100644 +--- a/src/compiler/translator/ShaderLang.cpp ++++ b/src/compiler/translator/ShaderLang.cpp +@@ -9,6 +9,17 @@ + // as defined in ShaderLang.h + // + ++// ensure this gets exported ++#ifndef COMPONENT_BUILD ++#define COMPONENT_BUILD ++#endif ++#ifdef ANGLE_TRANSLATOR_STATIC ++#undef ANGLE_TRANSLATOR_STATIC ++#endif ++#ifndef ANGLE_TRANSLATOR_IMPLEMENTATION ++#define ANGLE_TRANSLATOR_IMPLEMENTATION ++#endif ++ + #include "GLSLANG/ShaderLang.h" + + #include "compiler/translator/Compiler.h" +diff --git a/src/compiler/translator/ShaderVars.cpp b/src/compiler/translator/ShaderVars.cpp +index 8e217f1..a4d451c 100644 +--- a/src/compiler/translator/ShaderVars.cpp ++++ b/src/compiler/translator/ShaderVars.cpp +@@ -7,6 +7,17 @@ + // Methods for GL variable types (varyings, uniforms, etc) + // + ++// ensure this gets exported ++#ifndef COMPONENT_BUILD ++#define COMPONENT_BUILD ++#endif ++#ifdef ANGLE_TRANSLATOR_STATIC ++#undef ANGLE_TRANSLATOR_STATIC ++#endif ++#ifndef ANGLE_TRANSLATOR_IMPLEMENTATION ++#define ANGLE_TRANSLATOR_IMPLEMENTATION ++#endif ++ + #include + + #include "common/debug.h" +-- +2.10.2 + diff --git a/angleproject/mingw-w64/fix-compatibility-with-qtopengl-and-qtwebkit.patch b/angleproject/mingw-w64/0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch similarity index 59% rename from angleproject/mingw-w64/fix-compatibility-with-qtopengl-and-qtwebkit.patch rename to angleproject/mingw-w64/0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch index 30b1134d..fd5a45b7 100644 --- a/angleproject/mingw-w64/fix-compatibility-with-qtopengl-and-qtwebkit.patch +++ b/angleproject/mingw-w64/0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch @@ -1,7 +1,18 @@ -diff -Naur angleproject.orig/include/KHR/khrplatform.h angleproject/include/KHR/khrplatform.h ---- angleproject.orig/include/KHR/khrplatform.h 2016-10-26 16:15:14.000000000 -0500 -+++ angleproject/include/KHR/khrplatform.h 2016-11-02 17:02:26.685185043 -0500 -@@ -228,17 +228,22 @@ +From b8ed09b39d8ce1d846a48bafc15490277bbedb2f Mon Sep 17 00:00:00 2001 +From: Jose Santiago +Date: Thu, 3 Nov 2016 09:38:19 -0500 +Subject: [PATCH 6/8] Make GLintptr and GLsizeiptr match those from Qt 5 + +Fix compiling mingw-w64-qt5-base-dynamic and mingw-w64-qt5-webkit +--- + include/KHR/khrplatform.h | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/include/KHR/khrplatform.h b/include/KHR/khrplatform.h +index 9017b61..d31a9f9 100755 +--- a/include/KHR/khrplatform.h ++++ b/include/KHR/khrplatform.h +@@ -228,17 +228,22 @@ typedef unsigned short int khronos_uint16_t; * to be the only LLP64 architecture in current use. */ #ifdef _WIN64 @@ -28,3 +39,6 @@ diff -Naur angleproject.orig/include/KHR/khrplatform.h angleproject/include/KHR/ #if KHRONOS_SUPPORT_FLOAT /* * Float type +-- +2.10.2 + diff --git a/angleproject/mingw-w64/0007-Remove-copy_scripts-target.patch b/angleproject/mingw-w64/0007-Remove-copy_scripts-target.patch new file mode 100644 index 00000000..ea555c7a --- /dev/null +++ b/angleproject/mingw-w64/0007-Remove-copy_scripts-target.patch @@ -0,0 +1,153 @@ +From 1ea025fac01f94d61d254309418ef470c36cbd4c Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Sun, 6 Nov 2016 17:57:18 +0100 +Subject: [PATCH 7/8] Remove copy_scripts target + +Executing .bat scripts on Linux is a no-go +--- + BUILD.gn | 17 --------------- + src/angle.gyp | 61 ------------------------------------------------------ + src/libGLESv2.gypi | 7 ------- + 3 files changed, 85 deletions(-) + +diff --git a/BUILD.gn b/BUILD.gn +index 3ade282..8842d96 100644 +--- a/BUILD.gn ++++ b/BUILD.gn +@@ -60,17 +60,6 @@ config("extra_warnings") { + } + } + +-if (is_win) { +- copy("copy_compiler_dll") { +- sources = [ +- "$windows_sdk_path/Redist/D3D/$target_cpu/d3dcompiler_47.dll", +- ] +- outputs = [ +- "$root_out_dir/d3dcompiler_47.dll", +- ] +- } +-} +- + angle_undefine_configs = [ "//build/config/compiler:default_include_dirs" ] + + static_library("translator") { +@@ -421,12 +410,6 @@ static_library("libANGLE") { + ":libANGLE_config", + ":internal_config", + ] +- +- if (is_win) { +- data_deps = [ +- ":copy_compiler_dll", +- ] +- } + } + + config("shared_library_public_config") { +diff --git a/src/angle.gyp b/src/angle.gyp +index 578f0f3..083c760 100644 +--- a/src/angle.gyp ++++ b/src/angle.gyp +@@ -169,27 +169,6 @@ + ], + }, + }, +- +- { +- 'target_name': 'copy_scripts', +- 'type': 'none', +- 'includes': [ '../build/common_defines.gypi', ], +- 'hard_dependency': 1, +- 'copies': +- [ +- { +- 'destination': '<(angle_gen_path)', +- 'files': [ 'copy_compiler_dll.bat', '<(angle_id_script_base)' ], +- }, +- ], +- 'conditions': +- [ +- ['angle_build_winrt==1', +- { +- 'type' : 'shared_library', +- }], +- ], +- }, + ], + 'conditions': + [ +@@ -201,7 +180,6 @@ + 'target_name': 'commit_id', + 'type': 'none', + 'includes': [ '../build/common_defines.gypi', ], +- 'dependencies': [ 'copy_scripts', ], + 'hard_dependency': 1, + 'actions': + [ +@@ -267,44 +245,5 @@ + } + ] + }], +- ['OS=="win"', +- { +- 'targets': +- [ +- { +- 'target_name': 'copy_compiler_dll', +- 'type': 'none', +- 'dependencies': [ 'copy_scripts', ], +- 'includes': [ '../build/common_defines.gypi', ], +- 'conditions': +- [ +- ['angle_build_winrt==0', +- { +- 'actions': +- [ +- { +- 'action_name': 'copy_dll', +- 'message': 'Copying D3D Compiler DLL...', +- 'msvs_cygwin_shell': 0, +- 'inputs': [ 'copy_compiler_dll.bat' ], +- 'outputs': [ '<(PRODUCT_DIR)/d3dcompiler_47.dll' ], +- 'action': +- [ +- "<(angle_gen_path)/copy_compiler_dll.bat", +- "$(PlatformName)", +- "<(windows_sdk_path)", +- "<(PRODUCT_DIR)" +- ], +- }, +- ], #actions +- }], +- ['angle_build_winrt==1', +- { +- 'type' : 'shared_library', +- }], +- ] +- }, +- ], # targets +- }], + ] # conditions + } +diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi +index 1267cc2..56c3e99 100644 +--- a/src/libGLESv2.gypi ++++ b/src/libGLESv2.gypi +@@ -1020,13 +1020,6 @@ + 'ANGLE_ENABLE_NULL', + ], + }], +- ['angle_build_winrt==0 and OS=="win"', +- { +- 'dependencies': +- [ +- 'copy_compiler_dll' +- ], +- }], + ['angle_build_winrt==1', + { + 'msvs_requires_importlibrary' : 'true', +-- +2.10.2 + diff --git a/angleproject/mingw-w64/0008-Fix-generation-of-commit_id.h.patch b/angleproject/mingw-w64/0008-Fix-generation-of-commit_id.h.patch new file mode 100644 index 00000000..f35bb94e --- /dev/null +++ b/angleproject/mingw-w64/0008-Fix-generation-of-commit_id.h.patch @@ -0,0 +1,36 @@ +From 0232cb7cec579dae6ecb8d1b4c7d7d66b3771adf Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Sun, 6 Nov 2016 18:46:15 +0100 +Subject: [PATCH 8/8] Fix generation of commit_id.h + +This might break compiling when not +executing ninja in subdir of source tee +--- + src/angle.gyp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/angle.gyp b/src/angle.gyp +index 083c760..0c149f3 100644 +--- a/src/angle.gyp ++++ b/src/angle.gyp +@@ -8,7 +8,7 @@ + 'angle_code': 1, + 'angle_gen_path': '<(SHARED_INTERMEDIATE_DIR)/angle', + 'angle_id_script_base': 'commit_id.py', +- 'angle_id_script': '<(angle_gen_path)/<(angle_id_script_base)', ++ 'angle_id_script': '<(angle_id_script_base)', + 'angle_id_header_base': 'commit.h', + 'angle_id_header': '<(angle_gen_path)/id/<(angle_id_header_base)', + 'angle_use_commit_id%': ' src/copy_compiler_dll.bat - chmod +x src/copy_compiler_dll.bat + # Apply patches; further descriptions can be found in patch files itself + for patch in "$srcdir/"*.patch; do + patch -p1 -i "$patch" + done } build() { cd "${srcdir}/angleproject" - # set build flags, make sure all header files are found - export CXXFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -std=c++11 -msse2 -DUNICODE -D_UNICODE -g -I${srcdir}/angleproject/sysinclude -I${srcdir}/angleproject/src -I${srcdir}/angleproject/include" - unset LDFLAGS + # Set common build flags and make sure all header files are found + local CXXFLAGS_COMMON="\ + -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -std=c++11 -msse2\ + -DUNICODE -D_UNICODE -DANGLE_WINDOWS_XP_SUPPORT\ + -I${srcdir}/angleproject/include\ + -I${srcdir}/angleproject/sysinclude\ + -I${srcdir}/angleproject/src\ + -I${srcdir}/angleproject/src/common/third_party/numerics" + + # Use ninja + export GYP_GENERATORS=ninja for _arch in ${_architectures}; do mkdir -p build-${_arch} && pushd build-${_arch} + # Set ar/compiler and architecture specific compiler flags + export CC="${_arch}-gcc" export CXX="${_arch}-g++" export AR="${_arch}-ar" - + export AS="${_arch}-as" + export RANLIB="${_arch}-ranlib" + unset LDFLAGS if [[ ${_arch} == i686-w64-mingw32 ]]; then - target="win32" + local target='win32' + export CXXFLAGS="${CXXFLAGS_COMMON} -march=i686" else - target="win64" + local target='win64' + export CXXFLAGS="${CXXFLAGS_COMMON} -march=x86-64" fi - gyp -D use_ozone=0 -D OS=win -D TARGET=$target --format make -D MSVS_VERSION="" --depth . -I ../build/common.gypi ../src/angle.gyp + # Compose args for gyp and ninja + local gyp_args="-D use_ozone=0 -D OS=win -D TARGET=$target -D MSVS_VERSION='' --depth . -I ../build/common.gypi ../src/angle.gyp" + local ninja_args="-C out/Release -j $(nproc)" - # forcing non-concurrent build to prevent: - # i686-w64-mingw32-g++ -shared -Wl,-soname=libGLESv2.so -o out/Debug/obj.target/../src/libGLESv2.so -Wl,--whole-archive out/Debug/obj.target/libGLESv2/../src/libGLESv2/entry_points_egl.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/entry_points_egl_ext.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/entry_points_gles_2_0.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/entry_points_gles_2_0_ext.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/entry_points_gles_3_0.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/global_state.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/libGLESv2.o out/Debug/obj.target/../src/libANGLE.a out/Debug/obj.target/../src/libangle_common.a out/Debug/obj.target/../src/libtranslator_static.a out/Debug/obj.target/../src/libtranslator_lib.a out/Debug/obj.target/../src/libpreprocessor.a -Wl,--no-whole-archive - # out/Debug/obj.target/../src/libtranslator_static.a: member out/Debug/obj.target/../src/../obj.target/src/compiler/translator/ShaderLang.o in archive is not an object - # collect2: error: ld returned 1 exit status - make -j1 V=1 + # Build shared libs + gyp $gyp_args + ninja $ninja_args - # static libs must be built separately - gyp -D use_ozone=0 -D OS=win -D TARGET=$target --format make -D MSVS_VERSION="" --depth . -I ../build/common.gypi ../src/angle.gyp -D angle_gl_library_type=static_library - make -j1 V=1 + # Build static libs + gyp $gyp_args -D angle_gl_library_type=static_library + ninja $ninja_args - # the static libs produced by the build script are just thin archives so they don't contain any objects themselves - # -> repackage them to actually contain the object files - for lib in out/Debug/src/lib*.a; do - ${_arch}-ar -t $lib | xargs ${_arch}-ar rvs $lib.new && mv $lib.new $lib; - ${_arch}-ranlib $lib + # Static libs produced by the build script are just thin archives so they don't contain any objects themselves + # -> Repackage them to actually contain the object files + for lib in out/Release/src/lib*.a; do + $AR -t $lib | xargs ${_arch}-ar rvs $lib.new && mv $lib.new $lib; + $RANLIB $lib done popd @@ -122,9 +130,13 @@ package() { for _arch in ${_architectures}; do cd "${srcdir}/angleproject/build-${_arch}" mkdir -p "${pkgdir}/usr/${_arch}/"{bin,lib,include} - install out/Debug/src/libGLESv2.so "${pkgdir}/usr/${_arch}/bin/libGLESv2.dll" - install out/Debug/src/libEGL.so "${pkgdir}/usr/${_arch}/bin/libEGL.dll" - install libGLESv2.dll.a libEGL.dll.a out/Debug/src/lib*.a "${pkgdir}/usr/${_arch}/lib/" + install out/Release/lib/libGLESv2.so "${pkgdir}/usr/${_arch}/bin/libGLESv2.dll" + install out/Release/lib/libEGL.so "${pkgdir}/usr/${_arch}/bin/libEGL.dll" + install \ + out/Release/libGLESv2.dll.a \ + out/Release/libEGL.dll.a \ + out/Release/src/lib*.a \ + "${pkgdir}/usr/${_arch}/lib/" cp -Rv ../include/* "${pkgdir}/usr/${_arch}/include/" ${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll diff --git a/angleproject/mingw-w64/angleproject-include-import-library-and-use-def-file.patch b/angleproject/mingw-w64/angleproject-include-import-library-and-use-def-file.patch deleted file mode 100644 index 24abf448..00000000 --- a/angleproject/mingw-w64/angleproject-include-import-library-and-use-def-file.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- angleproject/src/libEGL.gypi.orig 2016-03-09 22:11:16.726879140 +0100 -+++ angleproject/src/libEGL.gypi 2016-03-10 00:44:46.815748629 +0100 -@@ -38,7 +38,16 @@ - { - 'msvs_requires_importlibrary' : 'true', - }], -+ ['TARGET=="win32"', { -+ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a ../src/libEGL/libEGL_mingw32.def' ], -+ }], -+ ['TARGET=="win64"', { -+ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a ../src/libEGL/libEGL.def' ], -+ }], - ], -+ 'libraries': [ -+ '-ldxguid -ld3d9 -lgdi32' -+ ] - }, - ], - } - --- angleproject/src/libGLESv2.gypi.orig 2016-03-10 03:55:05.562030615 +0100 -+++ angleproject/src/libGLESv2.gypi 2016-03-10 03:54:50.675783990 +0100 -@@ -515,6 +514,9 @@ - 'libGLESv2/libGLESv2.def', - 'libGLESv2/libGLESv2.rc', - 'libGLESv2/resource.h', -+ '../include/GLSLANG/ShaderLang.h', -+ '../include/GLSLANG/ShaderVars.h', -+ 'libGLESv2/entry_points_shader.cpp' - ], - 'libegl_sources': - [ -@@ -533,7 +535,7 @@ - 'type': 'static_library', - 'dependencies': - [ -- 'translator_static', -+ 'translator_lib', - 'commit_id', - 'angle_common', - ], -@@ -801,7 +803,7 @@ - { - 'target_name': 'libGLESv2', - 'type': '<(angle_gl_library_type)', -- 'dependencies': [ 'libANGLE', 'angle_common' ], -+ 'dependencies': [ 'translator_lib', 'libANGLE', 'angle_common' ], - 'includes': [ '../build/common_defines.gypi', ], - 'sources': - [ -@@ -821,7 +823,16 @@ - { - 'msvs_enable_winphone' : '1', - }], -+ ['TARGET=="win32"', { -+ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a ../src/libGLESv2/libGLESv2_mingw32.def' ], -+ }], -+ ['TARGET=="win64"', { -+ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a ../src/libGLESv2/libGLESv2.def' ], -+ }], - ], -+ 'libraries': [ -+ '-ldxguid -ld3d9 -lgdi32' -+ ] - }, - ], - } diff --git a/angleproject/mingw-w64/entry_points_shader.cpp b/angleproject/mingw-w64/entry_points_shader.cpp deleted file mode 100644 index cd0016f5..00000000 --- a/angleproject/mingw-w64/entry_points_shader.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef COMPONENT_BUILD -#define COMPONENT_BUILD -#endif -#ifdef ANGLE_TRANSLATOR_STATIC -#undef ANGLE_TRANSLATOR_STATIC -#endif -#ifndef ANGLE_TRANSLATOR_IMPLEMENTATION -#define ANGLE_TRANSLATOR_IMPLEMENTATION -#endif - -#include "../compiler/translator/ShaderVars.cpp" -#include "../compiler/translator/ShaderLang.cpp" diff --git a/angleproject/mingw-w64/libEGL_mingw32.def b/angleproject/mingw-w64/libEGL_mingw32.def deleted file mode 100644 index 6cecc644..00000000 --- a/angleproject/mingw-w64/libEGL_mingw32.def +++ /dev/null @@ -1,53 +0,0 @@ -LIBRARY libEGL -EXPORTS - eglBindAPI@4 @14 - eglBindTexImage@12 @20 - eglChooseConfig@20 @7 - eglCopyBuffers@12 @33 - eglCreateContext@16 @23 - eglCreatePbufferFromClientBuffer@20 @18 - eglCreatePbufferSurface@12 @10 - eglCreatePixmapSurface@16 @11 - eglCreateWindowSurface@16 @9 - eglDestroyContext@8 @24 - eglDestroySurface@8 @12 - eglGetConfigAttrib@16 @8 - eglGetConfigs@16 @6 - eglGetCurrentContext@0 @26 - eglGetCurrentDisplay@0 @28 - eglGetCurrentSurface@4 @27 - eglGetDisplay@4 @2 - eglGetError@0 @1 - eglGetProcAddress@4 @34 - eglInitialize@12 @3 - eglMakeCurrent@16 @25 - eglQueryAPI@0 @15 - eglQueryContext@16 @29 - eglQueryString@8 @5 - eglQuerySurface@16 @13 - eglReleaseTexImage@12 @21 - eglReleaseThread@0 @17 - eglSurfaceAttrib@16 @19 - eglSwapBuffers@8 @32 - eglSwapInterval@8 @22 - eglTerminate@4 @4 - eglWaitClient@0 @16 - eglWaitGL@0 @30 - eglWaitNative@4 @31 - - ; Extensions - eglGetPlatformDisplayEXT@12 @35 - eglQuerySurfacePointerANGLE@16 @36 - eglPostSubBufferNV@24 @37 - - ; 1.5 entry points - eglCreateSync@12 @38 - eglDestroySync@8 @39 - eglClientWaitSync@20 @40 - eglGetSyncAttrib@16 @41 - eglCreateImage@20 @42 - eglDestroyImage@8 @43 - eglGetPlatformDisplay@12 @44 - eglCreatePlatformWindowSurface@16 @45 - eglCreatePlatformPixmapSurface@16 @46 - eglWaitSync@12 @47 diff --git a/angleproject/mingw-w64/libGLESv2_mingw32.def b/angleproject/mingw-w64/libGLESv2_mingw32.def deleted file mode 100644 index 7a561961..00000000 --- a/angleproject/mingw-w64/libGLESv2_mingw32.def +++ /dev/null @@ -1,315 +0,0 @@ -LIBRARY libGLESv2 -EXPORTS - glActiveTexture@4 @1 - glAttachShader@8 @2 - glBindAttribLocation@12 @3 - glBindBuffer@8 @4 - glBindFramebuffer@8 @5 - glBindRenderbuffer@8 @6 - glBindTexture@8 @7 - glBlendColor@16 @8 - glBlendEquation@4 @9 - glBlendEquationSeparate@8 @10 - glBlendFunc@8 @11 - glBlendFuncSeparate@16 @12 - glBufferData@16 @13 - glBufferSubData@16 @14 - glCheckFramebufferStatus@4 @15 - glClear@4 @16 - glClearColor@16 @17 - glClearDepthf@4 @18 - glClearStencil@4 @19 - glColorMask@16 @20 - glCompileShader@4 @21 - glCompressedTexImage2D@32 @22 - glCompressedTexSubImage2D@36 @23 - glCopyTexImage2D@32 @24 - glCopyTexSubImage2D@32 @25 - glCreateProgram@0 @26 - glCreateShader@4 @27 - glCullFace@4 @28 - glDeleteBuffers@8 @29 - glDeleteFramebuffers@8 @30 - glDeleteProgram@4 @32 - glDeleteRenderbuffers@8 @33 - glDeleteShader@4 @34 - glDeleteTextures@8 @31 - glDepthFunc@4 @36 - glDepthMask@4 @37 - glDepthRangef@8 @38 - glDetachShader@8 @35 - glDisable@4 @39 - glDisableVertexAttribArray@4 @40 - glDrawArrays@12 @41 - glDrawElements@16 @42 - glEnable@4 @43 - glEnableVertexAttribArray@4 @44 - glFinish@0 @45 - glFlush@0 @46 - glFramebufferRenderbuffer@16 @47 - glFramebufferTexture2D@20 @48 - glFrontFace@4 @49 - glGenBuffers@8 @50 - glGenFramebuffers@8 @52 - glGenRenderbuffers@8 @53 - glGenTextures@8 @54 - glGenerateMipmap@4 @51 - glGetActiveAttrib@28 @55 - glGetActiveUniform@28 @56 - glGetAttachedShaders@16 @57 - glGetAttribLocation@8 @58 - glGetBooleanv@8 @59 - glGetBufferParameteriv@12 @60 - glGetError@0 @61 - glGetFloatv@8 @62 - glGetFramebufferAttachmentParameteriv@16 @63 - glGetIntegerv@8 @64 - glGetProgramInfoLog@16 @66 - glGetProgramiv@12 @65 - glGetRenderbufferParameteriv@12 @67 - glGetShaderInfoLog@16 @69 - glGetShaderPrecisionFormat@16 @70 - glGetShaderSource@16 @71 - glGetShaderiv@12 @68 - glGetString@4 @72 - glGetTexParameterfv@12 @73 - glGetTexParameteriv@12 @74 - glGetUniformLocation@8 @77 - glGetUniformfv@12 @75 - glGetUniformiv@12 @76 - glGetVertexAttribPointerv@12 @80 - glGetVertexAttribfv@12 @78 - glGetVertexAttribiv@12 @79 - glHint@8 @81 - glIsBuffer@4 @82 - glIsEnabled@4 @83 - glIsFramebuffer@4 @84 - glIsProgram@4 @85 - glIsRenderbuffer@4 @86 - glIsShader@4 @87 - glIsTexture@4 @88 - glLineWidth@4 @89 - glLinkProgram@4 @90 - glPixelStorei@8 @91 - glPolygonOffset@8 @92 - glReadPixels@28 @93 - glReleaseShaderCompiler@0 @94 - glRenderbufferStorage@16 @95 - glSampleCoverage@8 @96 - glScissor@16 @97 - glShaderBinary@20 @98 - glShaderSource@16 @99 - glStencilFunc@12 @100 - glStencilFuncSeparate@16 @101 - glStencilMask@4 @102 - glStencilMaskSeparate@8 @103 - glStencilOp@12 @104 - glStencilOpSeparate@16 @105 - glTexImage2D@36 @106 - glTexParameterf@12 @107 - glTexParameterfv@12 @108 - glTexParameteri@12 @109 - glTexParameteriv@12 @110 - glTexSubImage2D@36 @111 - glUniform1f@8 @112 - glUniform1fv@12 @113 - glUniform1i@8 @114 - glUniform1iv@12 @115 - glUniform2f@12 @116 - glUniform2fv@12 @117 - glUniform2i@12 @118 - glUniform2iv@12 @119 - glUniform3f@16 @120 - glUniform3fv@12 @121 - glUniform3i@16 @122 - glUniform3iv@12 @123 - glUniform4f@20 @124 - glUniform4fv@12 @125 - glUniform4i@20 @126 - glUniform4iv@12 @127 - glUniformMatrix2fv@16 @128 - glUniformMatrix3fv@16 @129 - glUniformMatrix4fv@16 @130 - glUseProgram@4 @131 - glValidateProgram@4 @132 - glVertexAttrib1f@8 @133 - glVertexAttrib1fv@8 @134 - glVertexAttrib2f@12 @135 - glVertexAttrib2fv@8 @136 - glVertexAttrib3f@16 @137 - glVertexAttrib3fv@8 @138 - glVertexAttrib4f@20 @139 - glVertexAttrib4fv@8 @140 - glVertexAttribPointer@24 @141 - glViewport@16 @142 - - ; Extensions - glBlitFramebufferANGLE@40 @149 - glRenderbufferStorageMultisampleANGLE@20 @150 - glDeleteFencesNV@8 @151 - glFinishFenceNV@4 @152 - glGenFencesNV@8 @153 - glGetFenceivNV@12 @154 - glIsFenceNV@4 @155 - glSetFenceNV@8 @156 - glTestFenceNV@4 @157 - glGetTranslatedShaderSourceANGLE@16 @159 - glTexStorage2DEXT@20 @160 - glGetGraphicsResetStatusEXT@0 @161 - glReadnPixelsEXT@32 @162 - glGetnUniformfvEXT@16 @163 - glGetnUniformivEXT@16 @164 - glGenQueriesEXT@8 @165 - glDeleteQueriesEXT@8 @166 - glIsQueryEXT@4 @167 - glBeginQueryEXT@8 @168 - glEndQueryEXT@4 @169 - glGetQueryivEXT@12 @170 - glGetQueryObjectuivEXT@12 @171 - glVertexAttribDivisorANGLE@8 @172 - glDrawArraysInstancedANGLE@16 @173 - glDrawElementsInstancedANGLE@20 @174 - glProgramBinaryOES@16 @175 - glGetProgramBinaryOES@20 @176 - glDrawBuffersEXT@8 @179 - glMapBufferOES@8 @285 - glUnmapBufferOES@4 @286 - glGetBufferPointervOES@12 @287 - glMapBufferRangeEXT@16 @288 - glFlushMappedBufferRangeEXT@12 @289 - glDiscardFramebufferEXT@12 @293 - glInsertEventMarkerEXT@8 @294 - glPushGroupMarkerEXT@8 @295 - glPopGroupMarkerEXT @296 - glEGLImageTargetTexture2DOES@8 @297 - glEGLImageTargetRenderbufferStorageOES@8 @298 - glBindVertexArrayOES@4 @299 - glDeleteVertexArraysOES@8 @300 - glGenVertexArraysOES@8 @301 - glIsVertexArrayOES@4 @302 - glDebugMessageControlKHR@24 @303 - glDebugMessageInsertKHR@24 @304 - glDebugMessageCallbackKHR@8 @305 - glGetDebugMessageLogKHR@32 @306 - glPushDebugGroupKHR@16 @307 - glPopDebugGroupKHR @308 - glObjectLabelKHR@16 @309 - glGetObjectLabelKHR@20 @310 - glObjectPtrLabelKHR@12 @311 - glGetObjectPtrLabelKHR@16 @312 - glGetPointervKHR@8 @313 - glQueryCounterEXT@8 @314 - glGetQueryObjectivEXT@12 @315 - glGetQueryObjecti64vEXT@12 @316 - glGetQueryObjectui64vEXT@12 @317 - - ; GLES 3.0 Functions - glReadBuffer@4 @180 - glDrawRangeElements@24 @181 - glTexImage3D@40 @182 - glTexSubImage3D@44 @183 - glCopyTexSubImage3D@36 @184 - glCompressedTexImage3D@36 @185 - glCompressedTexSubImage3D@44 @186 - glGenQueries@8 @187 - glDeleteQueries@8 @188 - glIsQuery@4 @189 - glBeginQuery@8 @190 - glEndQuery@4 @191 - glGetQueryiv@12 @192 - glGetQueryObjectuiv@12 @193 - glUnmapBuffer@4 @194 - glGetBufferPointerv@12 @195 - glDrawBuffers@8 @196 - glUniformMatrix2x3fv@16 @197 - glUniformMatrix3x2fv@16 @198 - glUniformMatrix2x4fv@16 @199 - glUniformMatrix4x2fv@16 @200 - glUniformMatrix3x4fv@16 @201 - glUniformMatrix4x3fv@16 @202 - glBlitFramebuffer@40 @203 - glRenderbufferStorageMultisample@20 @204 - glFramebufferTextureLayer@20 @205 - glMapBufferRange@16 @206 - glFlushMappedBufferRange@12 @207 - glBindVertexArray@4 @208 - glDeleteVertexArrays@8 @209 - glGenVertexArrays@8 @210 - glIsVertexArray@4 @211 - glGetIntegeri_v@12 @212 - glBeginTransformFeedback@4 @213 - glEndTransformFeedback@0 @214 - glBindBufferRange@20 @215 - glBindBufferBase@12 @216 - glTransformFeedbackVaryings@16 @217 - glGetTransformFeedbackVarying@28 @218 - glVertexAttribIPointer@20 @219 - glGetVertexAttribIiv@12 @220 - glGetVertexAttribIuiv@12 @221 - glVertexAttribI4i@20 @222 - glVertexAttribI4ui@20 @223 - glVertexAttribI4iv@8 @224 - glVertexAttribI4uiv@8 @225 - glGetUniformuiv@12 @226 - glGetFragDataLocation@8 @227 - glUniform1ui@8 @228 - glUniform2ui@12 @229 - glUniform3ui@16 @230 - glUniform4ui@20 @231 - glUniform1uiv@12 @232 - glUniform2uiv@12 @233 - glUniform3uiv@12 @234 - glUniform4uiv@12 @235 - glClearBufferiv@12 @236 - glClearBufferuiv@12 @237 - glClearBufferfv@12 @238 - glClearBufferfi@16 @239 - glGetStringi@8 @240 - glCopyBufferSubData@20 @241 - glGetUniformIndices@16 @242 - glGetActiveUniformsiv@20 @243 - glGetUniformBlockIndex@8 @244 - glGetActiveUniformBlockiv@16 @245 - glGetActiveUniformBlockName@20 @246 - glUniformBlockBinding@12 @247 - glDrawArraysInstanced@16 @248 - glDrawElementsInstanced@20 @249 - glFenceSync@8 @250 - glIsSync@4 @251 - glDeleteSync@4 @252 - glClientWaitSync@16 @253 - glWaitSync@16 @254 - glGetInteger64v@8 @255 - glGetSynciv@20 @256 - glGetInteger64i_v@12 @257 - glGetBufferParameteri64v@12 @258 - glGenSamplers@8 @259 - glDeleteSamplers@8 @260 - glIsSampler@4 @261 - glBindSampler@8 @262 - glSamplerParameteri@12 @263 - glSamplerParameteriv@12 @264 - glSamplerParameterf@12 @265 - glSamplerParameterfv@12 @266 - glGetSamplerParameteriv@12 @267 - glGetSamplerParameterfv@12 @268 - glVertexAttribDivisor@8 @269 - glBindTransformFeedback@8 @270 - glDeleteTransformFeedbacks@8 @271 - glGenTransformFeedbacks@8 @272 - glIsTransformFeedback@4 @273 - glPauseTransformFeedback@0 @274 - glResumeTransformFeedback@0 @275 - glGetProgramBinary@20 @276 - glProgramBinary@16 @277 - glProgramParameteri@12 @278 - glInvalidateFramebuffer@12 @279 - glInvalidateSubFramebuffer@28 @280 - glTexStorage2D@20 @281 - glTexStorage3D@24 @282 - glGetInternalformativ@20 @283 - - ; ANGLE Platform Implementation - ANGLEPlatformCurrent @290 - ANGLEPlatformInitialize @291 - ANGLEPlatformShutdown @292 diff --git a/angleproject/mingw-w64/provide_mbstowcs_s_for_xp.patch b/angleproject/mingw-w64/provide_mbstowcs_s_for_xp.patch deleted file mode 100644 index 2e721cca..00000000 --- a/angleproject/mingw-w64/provide_mbstowcs_s_for_xp.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- angleproject/src/libANGLE/renderer/d3d/RendererD3D.cpp.orig 2016-03-23 19:22:28.000000000 +0100 -+++ angleproject/src/libANGLE/renderer/d3d/RendererD3D.cpp 2016-03-23 21:24:13.194525939 +0100 -@@ -25,9 +25,27 @@ - #include "libANGLE/State.h" - #include "libANGLE/VertexArray.h" - -+#include -+#include -+ - namespace rx - { - -+inline std::wstring widen(const char *to_widen) -+{ -+ // determine length of original string -+ int len = strlen(to_widen); -+ if(!len) { -+ return std::wstring(); -+ } -+ // construct new string of required length -+ std::wstring ret(::MultiByteToWideChar(CP_UTF8, 0, to_widen, len, 0, 0), L'\0'); -+ // convert old string to new string -+ ::MultiByteToWideChar(CP_UTF8, 0, to_widen, len, &ret[0], (int)ret.length()); -+ // return new string -+ return ret; -+} -+ - namespace - { - // If we request a scratch buffer requesting a smaller size this many times, -@@ -639,24 +657,12 @@ - - void RendererD3D::insertEventMarker(GLsizei length, const char *marker) - { -- std::vector wcstring (length + 1); -- size_t convertedChars = 0; -- errno_t err = mbstowcs_s(&convertedChars, wcstring.data(), length + 1, marker, _TRUNCATE); -- if (err == 0) -- { -- getAnnotator()->setMarker(wcstring.data()); -- } -+ getAnnotator()->setMarker(widen(marker).data()); - } - - void RendererD3D::pushGroupMarker(GLsizei length, const char *marker) - { -- std::vector wcstring(length + 1); -- size_t convertedChars = 0; -- errno_t err = mbstowcs_s(&convertedChars, wcstring.data(), length + 1, marker, _TRUNCATE); -- if (err == 0) -- { -- getAnnotator()->beginEvent(wcstring.data()); -- } -+ getAnnotator()->beginEvent(widen(marker).data()); - } - - void RendererD3D::popGroupMarker() diff --git a/proto-quic/mingw-w64-git/PKGBUILD b/proto-quic/mingw-w64-git/PKGBUILD new file mode 100644 index 00000000..646486f4 --- /dev/null +++ b/proto-quic/mingw-w64-git/PKGBUILD @@ -0,0 +1,65 @@ +# Maintainer: Martchus + +# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where +# you also find the URL of a binary repository. + +pkgname=mingw-w64-proto-quic-git +pkgver=r5992.802abe0 +pkgrel=1 +pkgdesc='Standalone library for QUIC (mingw-w64)' +arch=('any') +url="https://github.com/google/${pkgname#mingw-w64-}" +license=('BSD') +depends=('mingw-w64-crt') +makedepends=('mingw-w64-gcc' 'git' 'gyp-git' 'python') +options=('!strip' '!buildflags' 'staticlibs') +source=("proto-quic::git+https://github.com/google/${pkgname#mingw-w64-}") +sha256sums=('SKIP') +_architectures='i686-w64-mingw32 x86_64-w64-mingw32' + +pkgver() { + cd "$srcdir/${pkgname#mingw-w64-}" + printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "${srcdir}/${pkgname#mingw-w64-}" +} + +build() { + cd "${srcdir}/${pkgname#mingw-w64-}" + + # set build flags, make sure all header files are found + export CXXFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -std=c++11 -msse2 -DUNICODE -D_UNICODE -DANGLE_WINDOWS_XP_SUPPORT -g -I${srcdir}/angleproject/sysinclude -I${srcdir}/angleproject/src -I${srcdir}/angleproject/include" + unset LDFLAGS + + for _arch in ${_architectures}; do + mkdir -p build-${_arch} && pushd build-${_arch} + + export CXX="${_arch}-g++" + export AR="${_arch}-ar" + + if [[ ${_arch} == i686-w64-mingw32 ]]; then + target='win32' + else + target='win64' + fi + + gyp -D use_ozone=0 -D OS=win -D TARGET=$target --format make -D MSVS_VERSION='' --depth . -I ../build/common.gypi ../src/base.gyp + make V=1 + + popd + done +} + +package() { + for _arch in ${_architectures}; do + cd "${srcdir}/${pkgname#mingw-w64-}/build-${_arch}" + mkdir -p "${pkgdir}/usr/${_arch}/"{bin,lib,include} + + cp -Rv ../include/* "${pkgdir}/usr/${_arch}/include/" + + ${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll + ${_arch}-strip -g "${pkgdir}/usr/${_arch}/lib/"*.a + done +}