diff options
author | Andrew Knight <andrew.knight@digia.com> | 2013-09-18 11:51:20 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 08:53:35 +0200 |
commit | 1a334f8135d4be7b73b39ac736af0e722c864e83 (patch) | |
tree | cc0b7703b815e9fca858e8eecd7eb556e186998c /src/3rdparty/angle/src/common | |
parent | d84ed9a92ae0ce96b843c9dd5c263c6a0925405b (diff) |
ANGLE: Update to version 2446
Update ANGLE and reapply patches.
Patch changes:
"Dynamically resolve functions of dwmapi.dll"
Removed; ANGLE no longer uses DWM API
"Make it possible to link ANGLE statically for single-thread use"
Avoid name collision by using ANGLE-style getCurrent()
"Fix build when SSE2 is not available."
Added guard for __cpuid(), which is not available on ARM
"Make DX9/DX11 mutually exclusive"
Adjustments due to underlying code changes
"ANGLE: Avoid memory copies on buffers when data is null"
Removed; fixed upstream
"Add missing intrin.h include for __cpuid"
Removed; fixed upstream
Change-Id: I4f3d850fc555d3194ddc05e0b51c4966d33f7eaf
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/3rdparty/angle/src/common')
-rw-r--r-- | src/3rdparty/angle/src/common/angleutils.h | 2 | ||||
-rw-r--r-- | src/3rdparty/angle/src/common/debug.cpp | 6 | ||||
-rw-r--r-- | src/3rdparty/angle/src/common/event_tracer.cpp | 49 | ||||
-rw-r--r-- | src/3rdparty/angle/src/common/event_tracer.h | 33 | ||||
-rw-r--r-- | src/3rdparty/angle/src/common/version.h | 4 |
5 files changed, 89 insertions, 5 deletions
diff --git a/src/3rdparty/angle/src/common/angleutils.h b/src/3rdparty/angle/src/common/angleutils.h index 31ac559279..9761567fb2 100644 --- a/src/3rdparty/angle/src/common/angleutils.h +++ b/src/3rdparty/angle/src/common/angleutils.h @@ -9,6 +9,8 @@ #ifndef COMMON_ANGLEUTILS_H_ #define COMMON_ANGLEUTILS_H_ +#include <stddef.h> + // A macro to disallow the copy constructor and operator= functions // This must be used in the private: declarations for a class #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ diff --git a/src/3rdparty/angle/src/common/debug.cpp b/src/3rdparty/angle/src/common/debug.cpp index 438d3975e8..9b932567b0 100644 --- a/src/3rdparty/angle/src/common/debug.cpp +++ b/src/3rdparty/angle/src/common/debug.cpp @@ -8,10 +8,10 @@ #include "common/debug.h" #include "common/system.h" -#ifdef ANGLE_ENABLE_D3D11 -typedef DWORD D3DCOLOR; -#else +#ifndef ANGLE_ENABLE_D3D11 #include <d3d9.h> +#else +typedef DWORD D3DCOLOR; #endif namespace gl diff --git a/src/3rdparty/angle/src/common/event_tracer.cpp b/src/3rdparty/angle/src/common/event_tracer.cpp new file mode 100644 index 0000000000..96cbb01061 --- /dev/null +++ b/src/3rdparty/angle/src/common/event_tracer.cpp @@ -0,0 +1,49 @@ +// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "common/event_tracer.h" + +namespace gl +{ + +GetCategoryEnabledFlagFunc g_getCategoryEnabledFlag; +AddTraceEventFunc g_addTraceEvent; + +} // namespace gl + +extern "C" { + +void __stdcall SetTraceFunctionPointers(GetCategoryEnabledFlagFunc getCategoryEnabledFlag, + AddTraceEventFunc addTraceEvent) +{ + gl::g_getCategoryEnabledFlag = getCategoryEnabledFlag; + gl::g_addTraceEvent = addTraceEvent; +} + +} // extern "C" + +namespace gl +{ + +const unsigned char* TraceGetTraceCategoryEnabledFlag(const char* name) +{ + if (g_getCategoryEnabledFlag) + { + return g_getCategoryEnabledFlag(name); + } + static unsigned char disabled = 0; + return &disabled; +} + +void TraceAddTraceEvent(char phase, const unsigned char* categoryGroupEnabled, const char* name, unsigned long long id, + int numArgs, const char** argNames, const unsigned char* argTypes, + const unsigned long long* argValues, unsigned char flags) +{ + if (g_addTraceEvent) + { + g_addTraceEvent(phase, categoryGroupEnabled, name, id, numArgs, argNames, argTypes, argValues, flags); + } +} + +} // namespace gl diff --git a/src/3rdparty/angle/src/common/event_tracer.h b/src/3rdparty/angle/src/common/event_tracer.h new file mode 100644 index 0000000000..ae397e7db9 --- /dev/null +++ b/src/3rdparty/angle/src/common/event_tracer.h @@ -0,0 +1,33 @@ +// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMMON_EVENT_TRACER_H_ +#define COMMON_EVENT_TRACER_H_ + +extern "C" { + +typedef const unsigned char* (*GetCategoryEnabledFlagFunc)(const char* name); +typedef void (*AddTraceEventFunc)(char phase, const unsigned char* categoryGroupEnabled, const char* name, + unsigned long long id, int numArgs, const char** argNames, + const unsigned char* argTypes, const unsigned long long* argValues, + unsigned char flags); + +// extern "C" so that it has a reasonable name for GetProcAddress. +void __stdcall SetTraceFunctionPointers(GetCategoryEnabledFlagFunc get_category_enabled_flag, + AddTraceEventFunc add_trace_event_func); + +} + +namespace gl +{ + +const unsigned char* TraceGetTraceCategoryEnabledFlag(const char* name); + +void TraceAddTraceEvent(char phase, const unsigned char* categoryGroupEnabled, const char* name, unsigned long long id, + int numArgs, const char** argNames, const unsigned char* argTypes, + const unsigned long long* argValues, unsigned char flags); + +} + +#endif // COMMON_EVENT_TRACER_H_ diff --git a/src/3rdparty/angle/src/common/version.h b/src/3rdparty/angle/src/common/version.h index 7913851e6a..7a4942ad88 100644 --- a/src/3rdparty/angle/src/common/version.h +++ b/src/3rdparty/angle/src/common/version.h @@ -1,7 +1,7 @@ #define MAJOR_VERSION 1 -#define MINOR_VERSION 1 +#define MINOR_VERSION 2 #define BUILD_VERSION 0 -#define BUILD_REVISION 2037 +#define BUILD_REVISION 2446 #define STRINGIFY(x) #x #define MACRO_STRINGIFY(x) STRINGIFY(x) |