summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2013-07-10 14:00:13 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-11 17:29:39 +0200
commit2c0f7fb8dc113ca3a1c0446edcd1b6ff05c082f0 (patch)
tree3c5b1ccbfa4302d96eb34229db8c4948397352b6 /src
parent0b9c942f3d36d55b92b4e94e9212ad5dc7638f72 (diff)
Fix compilation of libGLESv2 with older MinGW-w64 headers
Fix compilation of libGLESv2 for mingw-headers predating MinGW-w64 svn commit 5567 (like MinGW-builds gcc 4.7.2-rev8, the toolchain we officially support). Commit 5567 added the D3DCOMPILER_DLL define to d3dcompiler.h, but with a trailing semicolon that has then fixed in commit 5783. Any toolchain that ships MinGW-w64 headers from a version in between (like MinGW-builds gcc 4.7.2-rev11) will unfortunately remain broken. Change-Id: I31272a1a991c4fc0f1611f8fb7510be51d6bb925 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/3rdparty/angle/src/libGLESv2/renderer/Renderer.cpp19
-rw-r--r--src/angle/patches/0011-Fix-compilation-of-libGLESv2-with-older-MinGW-w64-he.patch52
2 files changed, 71 insertions, 0 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/renderer/Renderer.cpp b/src/3rdparty/angle/src/libGLESv2/renderer/Renderer.cpp
index 41cdb8b278..218356c59b 100644
--- a/src/3rdparty/angle/src/libGLESv2/renderer/Renderer.cpp
+++ b/src/3rdparty/angle/src/libGLESv2/renderer/Renderer.cpp
@@ -22,6 +22,25 @@
#define ANGLE_COMPILE_OPTIMIZATION_LEVEL D3DCOMPILE_OPTIMIZATION_LEVEL3
#endif
+#ifdef __MINGW32__
+
+#ifndef D3DCOMPILER_DLL
+
+//Add define + typedefs for older MinGW-w64 headers (pre 5783)
+
+#define D3DCOMPILER_DLL L"d3dcompiler_43.dll"
+
+HRESULT WINAPI D3DCompile(const void *data, SIZE_T data_size, const char *filename,
+ const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint,
+ const char *target, UINT sflags, UINT eflags, ID3DBlob **shader, ID3DBlob **error_messages);
+typedef HRESULT (WINAPI *pD3DCompile)(const void *data, SIZE_T data_size, const char *filename,
+ const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint,
+ const char *target, UINT sflags, UINT eflags, ID3DBlob **shader, ID3DBlob **error_messages);
+
+#endif // D3DCOMPILER_DLL
+
+#endif // __MINGW32__
+
namespace rx
{
diff --git a/src/angle/patches/0011-Fix-compilation-of-libGLESv2-with-older-MinGW-w64-he.patch b/src/angle/patches/0011-Fix-compilation-of-libGLESv2-with-older-MinGW-w64-he.patch
new file mode 100644
index 0000000000..f104a273cc
--- /dev/null
+++ b/src/angle/patches/0011-Fix-compilation-of-libGLESv2-with-older-MinGW-w64-he.patch
@@ -0,0 +1,52 @@
+From 82fd5de3ae5e242730fdaf8044f17227337d881c Mon Sep 17 00:00:00 2001
+From: Kai Koehne <kai.koehne@digia.com>
+Date: Wed, 10 Jul 2013 14:00:13 +0200
+Subject: [PATCH] Fix compilation of libGLESv2 with older MinGW-w64 headers
+
+Fix compilation of libGLESv2 for mingw-headers predating MinGW-w64
+svn commit 5567 (like MinGW-builds gcc 4.7.2-rev8, the toolchain
+we officially support).
+
+Commit 5567 added the D3DCOMPILER_DLL define to d3dcompiler.h, but with
+a trailing semicolon that has then fixed in commit 5783. Any toolchain
+that ships MinGW-w64 headers from a version in between (like
+MinGW-builds gcc 4.7.2-rev11) will unfortunately remain broken.
+
+Change-Id: I31272a1a991c4fc0f1611f8fb7510be51d6bb925
+---
+ .../angle/src/libGLESv2/renderer/Renderer.cpp | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/src/3rdparty/angle/src/libGLESv2/renderer/Renderer.cpp b/src/3rdparty/angle/src/libGLESv2/renderer/Renderer.cpp
+index 41cdb8b..218356c 100644
+--- a/src/3rdparty/angle/src/libGLESv2/renderer/Renderer.cpp
++++ b/src/3rdparty/angle/src/libGLESv2/renderer/Renderer.cpp
+@@ -22,6 +22,25 @@
+ #define ANGLE_COMPILE_OPTIMIZATION_LEVEL D3DCOMPILE_OPTIMIZATION_LEVEL3
+ #endif
+
++#ifdef __MINGW32__
++
++#ifndef D3DCOMPILER_DLL
++
++//Add define + typedefs for older MinGW-w64 headers (pre 5783)
++
++#define D3DCOMPILER_DLL L"d3dcompiler_43.dll"
++
++HRESULT WINAPI D3DCompile(const void *data, SIZE_T data_size, const char *filename,
++ const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint,
++ const char *target, UINT sflags, UINT eflags, ID3DBlob **shader, ID3DBlob **error_messages);
++typedef HRESULT (WINAPI *pD3DCompile)(const void *data, SIZE_T data_size, const char *filename,
++ const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint,
++ const char *target, UINT sflags, UINT eflags, ID3DBlob **shader, ID3DBlob **error_messages);
++
++#endif // D3DCOMPILER_DLL
++
++#endif // __MINGW32__
++
+ namespace rx
+ {
+
+--
+1.8.3.msysgit.0
+