Update mingw-w64-angleproject

This commit is contained in:
Martchus 2016-08-09 20:29:33 +02:00
parent 4113ec1f88
commit 47c0eacbea
15 changed files with 967 additions and 571 deletions

View File

@ -0,0 +1,62 @@
From 17a753984f0385f1d54133b7809bfa6b37c3aa32 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
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

View File

@ -0,0 +1,25 @@
From 9d67527bab497a3c0030ddc4b2f7467f58bf3a85 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
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<std::vector<wchar_t>> WidenString(size_t length, const char *cString)
{
std::vector<wchar_t> 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

View File

@ -0,0 +1,433 @@
From 5cb25e912901941875d7a4498d6a3e668b6069c3 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
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

View File

@ -0,0 +1,41 @@
From d3d4fba06e0e8f0c80a1573b1a002ac76bbe9c5b Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
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

View File

@ -0,0 +1,58 @@
From ccff4861fa86aa66aedc680f65c00aa0b190e7a9 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
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 <GLSLANG/ShaderLang.h>
#include "common/debug.h"
--
2.10.2

View File

@ -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 <jsantiago@haivision.com>
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

View File

@ -0,0 +1,153 @@
From 1ea025fac01f94d61d254309418ef470c36cbd4c Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
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

View File

@ -0,0 +1,36 @@
From 0232cb7cec579dae6ecb8d1b4c7d7d66b3771adf Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
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%': '<!(python <(angle_id_script_base) check ..)',
@@ -187,7 +187,7 @@
'action_name': 'Generate ANGLE Commit ID Header',
'message': 'Generating ANGLE Commit ID',
# reference the git index as an input, so we rebuild on changes to the index
- 'inputs': [ '<(angle_id_script)', '<(angle_path)/.git/index' ],
+ 'inputs': [ '<(angle_id_script)', '<(angle_path)/../.git/index' ],
'outputs': [ '<(angle_id_header)' ],
'msvs_cygwin_shell': 0,
'action':
--
2.10.2

View File

@ -8,32 +8,36 @@
# you also find the URL of a binary repository.
pkgname=mingw-w64-angleproject
pkgver=2.1.r5707.5858f7e
pkgrel=2
pkgver=2.1.r6289.f097e23
pkgrel=1
pkgdesc='ANGLE project (mingw-w64)'
arch=('any')
url='https://chromium.googlesource.com/angle/angle/+/master/README.md'
license=('BSD')
depends=('mingw-w64-crt')
makedepends=('mingw-w64-gcc' 'git' 'gyp-git' 'python')
makedepends=('mingw-w64-gcc' 'git' 'gyp-git' 'depot-tools-git' 'python' 'python2')
options=('!strip' '!buildflags' 'staticlibs')
source=('angleproject::git+https://chromium.googlesource.com/angle/angle#commit=5858f7e'
source=('angleproject::git+https://chromium.googlesource.com/angle/angle#commit=f097e23'
'additional-mingw-header::git+https://github.com/Martchus/additional-mingw-header.git#commit=7a8f394'
'angleproject-include-import-library-and-use-def-file.patch'
'libEGL_mingw32.def'
'libGLESv2_mingw32.def'
'entry_points_shader.cpp'
'provide_mbstowcs_s_for_xp.patch'
'fix-compatibility-with-qtopengl-and-qtwebkit.patch')
'0001-Provide-workaround-for-building-static-libs.patch'
'0002-Provide-Windows-XP-support.patch'
'0003-Fix-dynamic-libraries.patch'
'0004-Link-against-dxguid-d3d9-and-gdi32.patch'
'0005-Export-shader-API-via-libGLESv2.dll.patch'
'0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch'
'0007-Remove-copy_scripts-target.patch'
'0008-Fix-generation-of-commit_id.h.patch')
sha256sums=('SKIP'
'SKIP'
'895c62846e6784dcc33171523a452cb474010d3fc9e7c351c27b8add4e9930ab'
'fb04f30b904760d32c4c0b733d0a0b44359855db1fde9e7f5ca7d0b8b1be3e56'
'3186d913a5fb483d2ae568068453e494d52df8f3f23f09d16afbbf916a63e4a4'
'ad347c9732f8897497aa51b8969a0e01cd8cd4ebb9a0e873a2ff47c210f1d46c'
'57b16254c23dbd312dbbe0495a177690809b916c2f3d8b3bbf2dd405274d518c'
'5e4ca559a0d9efb00cbe097c8ae0102bb3132a78e68d590a5826ff86f2a6ccf2')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
'b90c65737137d3e4f146fcd7fcb7c1893f071888046c8125c41470a800b4ac72'
'e79008c38c429937985812e525c71292bd612f6a3844abb328d2837fd69ce763'
'08e47bb775a032a470f9fc995f1a06721b0431c30c2b7a79ca083ea06d0a9622'
'd7a0c9de5c91aa9d5364fa453240309d30c0a17ea85dde979c85b836916ae11e'
'50db99bc4f7fc8d68fc1ae5d5826f1938714b9f5a06d62ece718a02d1b0d4a2d'
'7dc50ef89e3af1b99d41ba25e1ad7acb62a0abd4008a23b298aa3c224751934a'
'66852b4499763955f27906599567a0a4712218d5e739feb550a8a13eaa2d43f0'
'521251e4ffd280f4344de1ece6393820b57517c457dbb695a673d865d71b5ed2')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
#pkgver() {
# cd "$srcdir/angleproject"
@ -44,74 +48,78 @@ _architectures="i686-w64-mingw32 x86_64-w64-mingw32"
prepare() {
cd "${srcdir}/angleproject"
# provide recent versions of some mingw-w64 header files
# Ensure depot-tools are in PATH
source /etc/profile.d/depot_tools.sh
# Provide recent versions of some Windows header files
mkdir -p sysinclude
cp ../additional-mingw-header/{d3d11sdklayers,dxgi1_2,versionhelpers,d3d10_1,sdkddkver,d3d11,dcomp,dcomptypes,dcompanimation}.h sysinclude/
cp sysinclude/{versionhelpers,VersionHelpers}.h
# provide 32-bit versions of *.def files
cp ../libEGL_mingw32.def src/libEGL/
cp ../libGLESv2_mingw32.def src/libGLESv2/
# Set cache dir for gsutil
mkdir -p /tmp/gsutil
export DEPOT_TOOLS_GSUTIL_BIN_DIR=/tmp/gsutil
# provide a file to export symbols declared in ShaderLang.h as part of libGLESv2.dll
# (required to build Qt WebKit which uses shader interface)
cp ../entry_points_shader.cpp src/libGLESv2/
# Execute bootstrap scripts
python2 scripts/bootstrap.py
gclient sync --deps=all
# remove .git directory to prevent: No rule to make target '../build-i686-w64-mingw32/.git/index', needed by 'out/Debug/obj/gen/angle/id/commit.h'.
rm -fr .git
# make sure an import library is created, the correct .def file is used during the build
# and entry_points_shader.cpp is compiled
patch -p1 -i "${srcdir}/angleproject-include-import-library-and-use-def-file.patch"
# provide own implementation of mbstowcs_s for Windows XP support
patch -p1 -i "${srcdir}/provide_mbstowcs_s_for_xp.patch"
# Fixes definition of GLsizeiptr and GLintptr to match that used by
# qopenglext.h in qt5-base. Fixes build of qt5-base-dynamic and qt5-webkit.
patch -p1 -i "${srcdir}/fix-compatibility-with-qtopengl-and-qtwebkit.patch"
# executing .bat scripts on Linux is a no-go so make this a no-op
echo "" > 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

View File

@ -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'
+ ]
},
],
}

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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 <string>
+#include <windows.h>
+
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<wchar_t> 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<wchar_t> 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()

View File

@ -0,0 +1,65 @@
# Maintainer: Martchus <martchus@gmx.net>
# 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
}