summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libEGL/Display.cpp
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@digia.com>2013-09-18 11:51:20 +0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-19 08:53:35 +0200
commit1a334f8135d4be7b73b39ac736af0e722c864e83 (patch)
treecc0b7703b815e9fca858e8eecd7eb556e186998c /src/3rdparty/angle/src/libEGL/Display.cpp
parentd84ed9a92ae0ce96b843c9dd5c263c6a0925405b (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/libEGL/Display.cpp')
-rw-r--r--src/3rdparty/angle/src/libEGL/Display.cpp45
1 files changed, 25 insertions, 20 deletions
diff --git a/src/3rdparty/angle/src/libEGL/Display.cpp b/src/3rdparty/angle/src/libEGL/Display.cpp
index d5d0f0f831..a382c3b1eb 100644
--- a/src/3rdparty/angle/src/libEGL/Display.cpp
+++ b/src/3rdparty/angle/src/libEGL/Display.cpp
@@ -1,5 +1,5 @@
//
-// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved.
+// Copyright (c) 2002-2013 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.
//
@@ -38,31 +38,16 @@ egl::Display *Display::getDisplay(EGLNativeDisplayType displayId)
return displays[displayId];
}
- egl::Display *display = NULL;
+ // FIXME: Check if displayId is a valid display device context
- if (displayId == EGL_DEFAULT_DISPLAY)
- {
- display = new egl::Display(displayId, (HDC)NULL, false);
- }
- else if (displayId == EGL_SOFTWARE_DISPLAY_ANGLE)
- {
- display = new egl::Display(displayId, (HDC)NULL, true);
- }
- else
- {
- // FIXME: Check if displayId is a valid display device context
-
- display = new egl::Display(displayId, (HDC)displayId, false);
- }
+ egl::Display *display = new egl::Display(displayId, (HDC)displayId);
displays[displayId] = display;
return display;
}
-Display::Display(EGLNativeDisplayType displayId, HDC deviceContext, bool software) : mDc(deviceContext)
+Display::Display(EGLNativeDisplayType displayId, HDC deviceContext) : mDc(deviceContext)
{
-
- mSoftwareDevice = software;
mDisplayId = displayId;
mRenderer = NULL;
}
@@ -86,7 +71,7 @@ bool Display::initialize()
return true;
}
- mRenderer = glCreateRenderer(this, mDc, mSoftwareDevice);
+ mRenderer = glCreateRenderer(this, mDc, mDisplayId);
if (!mRenderer)
{
@@ -128,6 +113,7 @@ bool Display::initialize()
}
initExtensionString();
+ initVendorString();
return true;
}
@@ -528,5 +514,24 @@ const char *Display::getExtensionString() const
return mExtensionString.c_str();
}
+void Display::initVendorString()
+{
+ mVendorString = "Google Inc.";
+
+ LUID adapterLuid = {0};
+
+ if (mRenderer && mRenderer->getLUID(&adapterLuid))
+ {
+ char adapterLuidString[64];
+ sprintf_s(adapterLuidString, sizeof(adapterLuidString), " (adapter LUID: %08x%08x)", adapterLuid.HighPart, adapterLuid.LowPart);
+
+ mVendorString += adapterLuidString;
+ }
+}
+
+const char *Display::getVendorString() const
+{
+ return mVendorString.c_str();
+}
}