From 1a334f8135d4be7b73b39ac736af0e722c864e83 Mon Sep 17 00:00:00 2001 From: Andrew Knight Date: Wed, 18 Sep 2013 11:51:20 +0300 Subject: 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 Reviewed-by: Joerg Bornemann Reviewed-by: Kai Koehne --- src/3rdparty/angle/src/libEGL/Display.cpp | 45 +++++++++++++++++-------------- 1 file changed, 25 insertions(+), 20 deletions(-) (limited to 'src/3rdparty/angle/src/libEGL/Display.cpp') 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(); +} } -- cgit v1.2.3