Commit c9d13d2d by Jamie Madill

Add trace events for D3D11 initialization.

This helps a local user profile their D3D11 startup time. BUG=436191 BUG=angleproject:966 Change-Id: Ib1b3d62194233cd502980d87c316a95e9bd3a04c Reviewed-on: https://chromium-review.googlesource.com/264935Reviewed-by: 's avatarKenneth Russell <kbr@chromium.org> Reviewed-by: 's avatarBrandon Jones <bajones@chromium.org> Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
parent d8b36d45
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "libANGLE/Surface.h" #include "libANGLE/Surface.h"
#include "libANGLE/Device.h" #include "libANGLE/Device.h"
#include "libANGLE/renderer/DisplayImpl.h" #include "libANGLE/renderer/DisplayImpl.h"
#include "third_party/trace_event/trace_event.h"
#if defined(ANGLE_ENABLE_D3D9) || defined(ANGLE_ENABLE_D3D11) #if defined(ANGLE_ENABLE_D3D9) || defined(ANGLE_ENABLE_D3D11)
# include "libANGLE/renderer/d3d/DisplayD3D.h" # include "libANGLE/renderer/d3d/DisplayD3D.h"
...@@ -224,6 +225,8 @@ void Display::setAttributes(rx::DisplayImpl *impl, const AttributeMap &attribMap ...@@ -224,6 +225,8 @@ void Display::setAttributes(rx::DisplayImpl *impl, const AttributeMap &attribMap
Error Display::initialize() Error Display::initialize()
{ {
TRACE_EVENT0("gpu.angle", "egl::Display::initialize");
ASSERT(mImplementation != nullptr); ASSERT(mImplementation != nullptr);
if (isInitialized()) if (isInitialized())
......
...@@ -119,7 +119,7 @@ HLSLCompiler::~HLSLCompiler() ...@@ -119,7 +119,7 @@ HLSLCompiler::~HLSLCompiler()
bool HLSLCompiler::initialize() bool HLSLCompiler::initialize()
{ {
TRACE_EVENT0("gpu", "initializeCompiler"); TRACE_EVENT0("gpu.angle", "HLSLCompiler::initialize");
#if !defined(ANGLE_ENABLE_WINDOWS_STORE) #if !defined(ANGLE_ENABLE_WINDOWS_STORE)
#if defined(ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES) #if defined(ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES)
// Find a D3DCompiler module that had already been loaded based on a predefined list of versions. // Find a D3DCompiler module that had already been loaded based on a predefined list of versions.
......
...@@ -10,10 +10,11 @@ ...@@ -10,10 +10,11 @@
#include <float.h> #include <float.h>
#include "libANGLE/formatutils.h"
#include "libANGLE/renderer/d3d/d3d11/Renderer11.h" #include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h" #include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
#include "libANGLE/renderer/d3d/d3d11/formatutils11.h" #include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
#include "libANGLE/formatutils.h" #include "third_party/trace_event/trace_event.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h" #include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h" #include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h"
...@@ -182,6 +183,8 @@ Blit11::Blit11(Renderer11 *renderer) ...@@ -182,6 +183,8 @@ Blit11::Blit11(Renderer11 *renderer)
mQuad3DIL(NULL), mQuad3DVS(NULL), mQuad3DGS(NULL), mQuad3DIL(NULL), mQuad3DVS(NULL), mQuad3DGS(NULL),
mSwizzleCB(NULL) mSwizzleCB(NULL)
{ {
TRACE_EVENT0("gpu.angle", "Blit11::Blit11");
HRESULT result; HRESULT result;
ID3D11Device *device = mRenderer->getDevice(); ID3D11Device *device = mRenderer->getDevice();
...@@ -972,6 +975,8 @@ void Blit11::addSwizzleShaderToMap(GLenum destType, D3D11_SRV_DIMENSION viewDime ...@@ -972,6 +975,8 @@ void Blit11::addSwizzleShaderToMap(GLenum destType, D3D11_SRV_DIMENSION viewDime
void Blit11::buildShaderMap() void Blit11::buildShaderMap()
{ {
TRACE_EVENT0("gpu.angle", "Blit11::buildShaderMap");
ID3D11Device *device = mRenderer->getDevice(); ID3D11Device *device = mRenderer->getDevice();
// 2D shaders (OpenGL ES 2+) // 2D shaders (OpenGL ES 2+)
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h" #include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
#include "libANGLE/renderer/d3d/d3d11/RenderTarget11.h" #include "libANGLE/renderer/d3d/d3d11/RenderTarget11.h"
#include "libANGLE/renderer/d3d/d3d11/formatutils11.h" #include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
#include "third_party/trace_event/trace_event.h"
// Precompiled shaders // Precompiled shaders
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h" #include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h"
...@@ -87,6 +88,8 @@ Clear11::Clear11(Renderer11 *renderer) ...@@ -87,6 +88,8 @@ Clear11::Clear11(Renderer11 *renderer)
: mRenderer(renderer), mClearBlendStates(StructLessThan<ClearBlendInfo>), mClearDepthStencilStates(StructLessThan<ClearDepthStencilInfo>), : mRenderer(renderer), mClearBlendStates(StructLessThan<ClearBlendInfo>), mClearDepthStencilStates(StructLessThan<ClearDepthStencilInfo>),
mVertexBuffer(NULL), mRasterizerState(NULL), mSupportsClearView(false) mVertexBuffer(NULL), mRasterizerState(NULL), mSupportsClearView(false)
{ {
TRACE_EVENT0("gpu.angle", "Clear11::Clear11");
HRESULT result; HRESULT result;
ID3D11Device *device = renderer->getDevice(); ID3D11Device *device = renderer->getDevice();
......
...@@ -8,6 +8,9 @@ ...@@ -8,6 +8,9 @@
#include "libANGLE/renderer/d3d/d3d11/Renderer11.h" #include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
#include <sstream>
#include <EGL/eglext.h>
#include "common/utilities.h" #include "common/utilities.h"
#include "common/tls.h" #include "common/tls.h"
#include "libANGLE/Buffer.h" #include "libANGLE/Buffer.h"
...@@ -46,9 +49,7 @@ ...@@ -46,9 +49,7 @@
#include "libANGLE/renderer/d3d/d3d11/VertexBuffer11.h" #include "libANGLE/renderer/d3d/d3d11/VertexBuffer11.h"
#include "libANGLE/renderer/d3d/d3d11/formatutils11.h" #include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h" #include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
#include "third_party/trace_event/trace_event.h"
#include <sstream>
#include <EGL/eglext.h>
// Enable ANGLE_SKIP_DXGI_1_2_CHECK if there is not a possibility of using cross-process // Enable ANGLE_SKIP_DXGI_1_2_CHECK if there is not a possibility of using cross-process
// HWNDs or the Windows 7 Platform Update (KB2670838) is expected to be installed. // HWNDs or the Windows 7 Platform Update (KB2670838) is expected to be installed.
...@@ -281,10 +282,13 @@ egl::Error Renderer11::initialize() ...@@ -281,10 +282,13 @@ egl::Error Renderer11::initialize()
} }
#if !defined(ANGLE_ENABLE_WINDOWS_STORE) #if !defined(ANGLE_ENABLE_WINDOWS_STORE)
PFN_D3D11_CREATE_DEVICE D3D11CreateDevice = nullptr;
{
TRACE_EVENT0("gpu.angle", "Renderer11::initialize (Load DLLs)");
mDxgiModule = LoadLibrary(TEXT("dxgi.dll")); mDxgiModule = LoadLibrary(TEXT("dxgi.dll"));
mD3d11Module = LoadLibrary(TEXT("d3d11.dll")); mD3d11Module = LoadLibrary(TEXT("d3d11.dll"));
if (mD3d11Module == NULL || mDxgiModule == NULL) if (mD3d11Module == nullptr || mDxgiModule == nullptr)
{ {
return egl::Error(EGL_NOT_INITIALIZED, return egl::Error(EGL_NOT_INITIALIZED,
D3D11_INIT_MISSING_DEP, D3D11_INIT_MISSING_DEP,
...@@ -292,19 +296,22 @@ egl::Error Renderer11::initialize() ...@@ -292,19 +296,22 @@ egl::Error Renderer11::initialize()
} }
// create the D3D11 device // create the D3D11 device
ASSERT(mDevice == NULL); ASSERT(mDevice == nullptr);
PFN_D3D11_CREATE_DEVICE D3D11CreateDevice = (PFN_D3D11_CREATE_DEVICE)GetProcAddress(mD3d11Module, "D3D11CreateDevice"); D3D11CreateDevice = reinterpret_cast<PFN_D3D11_CREATE_DEVICE>(GetProcAddress(mD3d11Module, "D3D11CreateDevice"));
if (D3D11CreateDevice == NULL) if (D3D11CreateDevice == nullptr)
{ {
return egl::Error(EGL_NOT_INITIALIZED, return egl::Error(EGL_NOT_INITIALIZED,
D3D11_INIT_MISSING_DEP, D3D11_INIT_MISSING_DEP,
"Could not retrieve D3D11CreateDevice address."); "Could not retrieve D3D11CreateDevice address.");
} }
}
#endif #endif
HRESULT result = S_OK; HRESULT result = S_OK;
#ifdef _DEBUG #ifdef _DEBUG
{
TRACE_EVENT0("gpu.angle", "D3D11CreateDevice (Debug)");
result = D3D11CreateDevice(NULL, result = D3D11CreateDevice(NULL,
mDriverType, mDriverType,
NULL, NULL,
...@@ -315,6 +322,7 @@ egl::Error Renderer11::initialize() ...@@ -315,6 +322,7 @@ egl::Error Renderer11::initialize()
&mDevice, &mDevice,
&mFeatureLevel, &mFeatureLevel,
&mDeviceContext); &mDeviceContext);
}
if (!mDevice || FAILED(result)) if (!mDevice || FAILED(result))
{ {
...@@ -324,6 +332,7 @@ egl::Error Renderer11::initialize() ...@@ -324,6 +332,7 @@ egl::Error Renderer11::initialize()
if (!mDevice || FAILED(result)) if (!mDevice || FAILED(result))
#endif #endif
{ {
TRACE_EVENT0("gpu.angle", "D3D11CreateDevice");
result = D3D11CreateDevice(NULL, result = D3D11CreateDevice(NULL,
mDriverType, mDriverType,
NULL, NULL,
...@@ -354,6 +363,8 @@ egl::Error Renderer11::initialize() ...@@ -354,6 +363,8 @@ egl::Error Renderer11::initialize()
#if !defined(ANGLE_ENABLE_WINDOWS_STORE) #if !defined(ANGLE_ENABLE_WINDOWS_STORE)
#if !ANGLE_SKIP_DXGI_1_2_CHECK #if !ANGLE_SKIP_DXGI_1_2_CHECK
{
TRACE_EVENT0("gpu.angle", "Renderer11::initialize (DXGICheck)");
// In order to create a swap chain for an HWND owned by another process, DXGI 1.2 is required. // In order to create a swap chain for an HWND owned by another process, DXGI 1.2 is required.
// The easiest way to check is to query for a IDXGIDevice2. // The easiest way to check is to query for a IDXGIDevice2.
bool requireDXGI1_2 = false; bool requireDXGI1_2 = false;
...@@ -382,9 +393,12 @@ egl::Error Renderer11::initialize() ...@@ -382,9 +393,12 @@ egl::Error Renderer11::initialize()
} }
SafeRelease(dxgiDevice2); SafeRelease(dxgiDevice2);
} }
}
#endif #endif
#endif #endif
{
TRACE_EVENT0("gpu.angle", "Renderer11::initialize (ComQueries)");
// Cast the DeviceContext to a DeviceContext1. // Cast the DeviceContext to a DeviceContext1.
// This could fail on Windows 7 without the Platform Update. // This could fail on Windows 7 without the Platform Update.
// Don't error in this case- just don't use mDeviceContext1. // Don't error in this case- just don't use mDeviceContext1.
...@@ -417,7 +431,7 @@ egl::Error Renderer11::initialize() ...@@ -417,7 +431,7 @@ egl::Error Renderer11::initialize()
// If DXGI1.2 is available then IDXGIAdapter2::GetDesc2 can be used to get the actual hardware values. // If DXGI1.2 is available then IDXGIAdapter2::GetDesc2 can be used to get the actual hardware values.
if (mFeatureLevel <= D3D_FEATURE_LEVEL_9_3 && dxgiAdapter2 != NULL) if (mFeatureLevel <= D3D_FEATURE_LEVEL_9_3 && dxgiAdapter2 != NULL)
{ {
DXGI_ADAPTER_DESC2 adapterDesc2 = {0}; DXGI_ADAPTER_DESC2 adapterDesc2 = { 0 };
dxgiAdapter2->GetDesc2(&adapterDesc2); dxgiAdapter2->GetDesc2(&adapterDesc2);
// Copy the contents of the DXGI_ADAPTER_DESC2 into mAdapterDescription (a DXGI_ADAPTER_DESC). // Copy the contents of the DXGI_ADAPTER_DESC2 into mAdapterDescription (a DXGI_ADAPTER_DESC).
...@@ -449,9 +463,12 @@ egl::Error Renderer11::initialize() ...@@ -449,9 +463,12 @@ egl::Error Renderer11::initialize()
D3D11_INIT_OTHER_ERROR, D3D11_INIT_OTHER_ERROR,
"Could not create DXGI factory."); "Could not create DXGI factory.");
} }
}
// Disable some spurious D3D11 debug warnings to prevent them from flooding the output log // Disable some spurious D3D11 debug warnings to prevent them from flooding the output log
#if defined(ANGLE_SUPPRESS_D3D11_HAZARD_WARNINGS) && defined(_DEBUG) #if defined(ANGLE_SUPPRESS_D3D11_HAZARD_WARNINGS) && defined(_DEBUG)
{
TRACE_EVENT0("gpu.angle", "Renderer11::initialize (HideWarnings)");
ID3D11InfoQueue *infoQueue; ID3D11InfoQueue *infoQueue;
result = mDevice->QueryInterface(__uuidof(ID3D11InfoQueue), (void **)&infoQueue); result = mDevice->QueryInterface(__uuidof(ID3D11InfoQueue), (void **)&infoQueue);
...@@ -462,13 +479,14 @@ egl::Error Renderer11::initialize() ...@@ -462,13 +479,14 @@ egl::Error Renderer11::initialize()
D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET
}; };
D3D11_INFO_QUEUE_FILTER filter = {0}; D3D11_INFO_QUEUE_FILTER filter = { 0 };
filter.DenyList.NumIDs = ArraySize(hideMessages); filter.DenyList.NumIDs = ArraySize(hideMessages);
filter.DenyList.pIDList = hideMessages; filter.DenyList.pIDList = hideMessages;
infoQueue->AddStorageFilterEntries(&filter); infoQueue->AddStorageFilterEntries(&filter);
SafeRelease(infoQueue); SafeRelease(infoQueue);
} }
}
#endif #endif
#if !defined(NDEBUG) #if !defined(NDEBUG)
...@@ -485,6 +503,8 @@ egl::Error Renderer11::initialize() ...@@ -485,6 +503,8 @@ egl::Error Renderer11::initialize()
// to reset the scene status and ensure the default states are reset. // to reset the scene status and ensure the default states are reset.
void Renderer11::initializeDevice() void Renderer11::initializeDevice()
{ {
TRACE_EVENT0("gpu.angle", "Renderer11::initializeDevice");
mStateCache.initialize(mDevice); mStateCache.initialize(mDevice);
mInputLayoutCache.initialize(mDevice, mDeviceContext); mInputLayoutCache.initialize(mDevice, mDeviceContext);
...@@ -2037,6 +2057,8 @@ gl::Error Renderer11::applyUniforms(const ProgramImpl &program, const std::vecto ...@@ -2037,6 +2057,8 @@ gl::Error Renderer11::applyUniforms(const ProgramImpl &program, const std::vecto
void Renderer11::markAllStateDirty() void Renderer11::markAllStateDirty()
{ {
TRACE_EVENT0("gpu.angle", "Renderer11::markAllStateDirty");
for (size_t rtIndex = 0; rtIndex < ArraySize(mAppliedRTVs); rtIndex++) for (size_t rtIndex = 0; rtIndex < ArraySize(mAppliedRTVs); rtIndex++)
{ {
mAppliedRTVs[rtIndex] = DirtyPointer; mAppliedRTVs[rtIndex] = DirtyPointer;
......
...@@ -7,17 +7,18 @@ ...@@ -7,17 +7,18 @@
// SwapChain11.cpp: Implements a back-end specific class for the D3D11 swap chain. // SwapChain11.cpp: Implements a back-end specific class for the D3D11 swap chain.
#include "libANGLE/renderer/d3d/d3d11/SwapChain11.h" #include "libANGLE/renderer/d3d/d3d11/SwapChain11.h"
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
#include "libANGLE/renderer/d3d/d3d11/NativeWindow.h"
#include "libANGLE/features.h" #include "libANGLE/features.h"
#include "libANGLE/renderer/d3d/d3d11/NativeWindow.h"
#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
#include "third_party/trace_event/trace_event.h"
// Precompiled shaders // Precompiled shaders
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h" #include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h" #include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h"
namespace rx namespace rx
{ {
...@@ -89,6 +90,7 @@ void SwapChain11::releaseOffscreenTexture() ...@@ -89,6 +90,7 @@ void SwapChain11::releaseOffscreenTexture()
EGLint SwapChain11::resetOffscreenTexture(int backbufferWidth, int backbufferHeight) EGLint SwapChain11::resetOffscreenTexture(int backbufferWidth, int backbufferHeight)
{ {
TRACE_EVENT0("gpu.angle", "SwapChain11::resetOffscreenTexture");
ID3D11Device *device = mRenderer->getDevice(); ID3D11Device *device = mRenderer->getDevice();
ASSERT(device != NULL); ASSERT(device != NULL);
...@@ -324,6 +326,7 @@ EGLint SwapChain11::resetOffscreenTexture(int backbufferWidth, int backbufferHei ...@@ -324,6 +326,7 @@ EGLint SwapChain11::resetOffscreenTexture(int backbufferWidth, int backbufferHei
EGLint SwapChain11::resize(EGLint backbufferWidth, EGLint backbufferHeight) EGLint SwapChain11::resize(EGLint backbufferWidth, EGLint backbufferHeight)
{ {
TRACE_EVENT0("gpu.angle", "SwapChain11::resize");
ID3D11Device *device = mRenderer->getDevice(); ID3D11Device *device = mRenderer->getDevice();
if (device == NULL) if (device == NULL)
...@@ -383,6 +386,7 @@ EGLint SwapChain11::resize(EGLint backbufferWidth, EGLint backbufferHeight) ...@@ -383,6 +386,7 @@ EGLint SwapChain11::resize(EGLint backbufferWidth, EGLint backbufferHeight)
EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swapInterval) EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swapInterval)
{ {
TRACE_EVENT0("gpu.angle", "SwapChain11::reset");
ID3D11Device *device = mRenderer->getDevice(); ID3D11Device *device = mRenderer->getDevice();
if (device == NULL) if (device == NULL)
...@@ -454,6 +458,7 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap ...@@ -454,6 +458,7 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap
void SwapChain11::initPassThroughResources() void SwapChain11::initPassThroughResources()
{ {
TRACE_EVENT0("gpu.angle", "SwapChain11::initPassThroughResources");
ID3D11Device *device = mRenderer->getDevice(); ID3D11Device *device = mRenderer->getDevice();
ASSERT(device != NULL); ASSERT(device != NULL);
......
...@@ -183,7 +183,7 @@ egl::Error Renderer9::initialize() ...@@ -183,7 +183,7 @@ egl::Error Renderer9::initialize()
"Compiler failed to initialize."); "Compiler failed to initialize.");
} }
TRACE_EVENT0("gpu", "GetModuleHandle_d3d9"); TRACE_EVENT0("gpu.angle", "GetModuleHandle_d3d9");
mD3d9Module = GetModuleHandle(TEXT("d3d9.dll")); mD3d9Module = GetModuleHandle(TEXT("d3d9.dll"));
if (mD3d9Module == NULL) if (mD3d9Module == NULL)
...@@ -199,14 +199,14 @@ egl::Error Renderer9::initialize() ...@@ -199,14 +199,14 @@ egl::Error Renderer9::initialize()
// desktop. Direct3D9Ex is available in Windows Vista and later if suitable drivers are available. // desktop. Direct3D9Ex is available in Windows Vista and later if suitable drivers are available.
if (ANGLE_D3D9EX == ANGLE_ENABLED && Direct3DCreate9ExPtr && SUCCEEDED(Direct3DCreate9ExPtr(D3D_SDK_VERSION, &mD3d9Ex))) if (ANGLE_D3D9EX == ANGLE_ENABLED && Direct3DCreate9ExPtr && SUCCEEDED(Direct3DCreate9ExPtr(D3D_SDK_VERSION, &mD3d9Ex)))
{ {
TRACE_EVENT0("gpu", "D3d9Ex_QueryInterface"); TRACE_EVENT0("gpu.angle", "D3d9Ex_QueryInterface");
ASSERT(mD3d9Ex); ASSERT(mD3d9Ex);
mD3d9Ex->QueryInterface(__uuidof(IDirect3D9), reinterpret_cast<void**>(&mD3d9)); mD3d9Ex->QueryInterface(__uuidof(IDirect3D9), reinterpret_cast<void**>(&mD3d9));
ASSERT(mD3d9); ASSERT(mD3d9);
} }
else else
{ {
TRACE_EVENT0("gpu", "Direct3DCreate9"); TRACE_EVENT0("gpu.angle", "Direct3DCreate9");
mD3d9 = Direct3DCreate9(D3D_SDK_VERSION); mD3d9 = Direct3DCreate9(D3D_SDK_VERSION);
} }
...@@ -224,7 +224,7 @@ egl::Error Renderer9::initialize() ...@@ -224,7 +224,7 @@ egl::Error Renderer9::initialize()
// Give up on getting device caps after about one second. // Give up on getting device caps after about one second.
{ {
TRACE_EVENT0("gpu", "GetDeviceCaps"); TRACE_EVENT0("gpu.angle", "GetDeviceCaps");
for (int i = 0; i < 10; ++i) for (int i = 0; i < 10; ++i)
{ {
result = mD3d9->GetDeviceCaps(mAdapter, mDeviceType, &mDeviceCaps); result = mD3d9->GetDeviceCaps(mAdapter, mDeviceType, &mDeviceCaps);
...@@ -268,7 +268,7 @@ egl::Error Renderer9::initialize() ...@@ -268,7 +268,7 @@ egl::Error Renderer9::initialize()
} }
{ {
TRACE_EVENT0("gpu", "GetAdapterIdentifier"); TRACE_EVENT0("gpu.angle", "GetAdapterIdentifier");
mD3d9->GetAdapterIdentifier(mAdapter, 0, &mAdapterIdentifier); mD3d9->GetAdapterIdentifier(mAdapter, 0, &mAdapterIdentifier);
} }
...@@ -276,7 +276,7 @@ egl::Error Renderer9::initialize() ...@@ -276,7 +276,7 @@ egl::Error Renderer9::initialize()
static const TCHAR className[] = TEXT("STATIC"); static const TCHAR className[] = TEXT("STATIC");
{ {
TRACE_EVENT0("gpu", "CreateWindowEx"); TRACE_EVENT0("gpu.angle", "CreateWindowEx");
mDeviceWindow = CreateWindowEx(WS_EX_NOACTIVATE, className, windowName, WS_DISABLED | WS_POPUP, 0, 0, 1, 1, HWND_MESSAGE, NULL, GetModuleHandle(NULL), NULL); mDeviceWindow = CreateWindowEx(WS_EX_NOACTIVATE, className, windowName, WS_DISABLED | WS_POPUP, 0, 0, 1, 1, HWND_MESSAGE, NULL, GetModuleHandle(NULL), NULL);
} }
...@@ -284,7 +284,7 @@ egl::Error Renderer9::initialize() ...@@ -284,7 +284,7 @@ egl::Error Renderer9::initialize()
DWORD behaviorFlags = D3DCREATE_FPU_PRESERVE | D3DCREATE_NOWINDOWCHANGES | D3DCREATE_MULTITHREADED; DWORD behaviorFlags = D3DCREATE_FPU_PRESERVE | D3DCREATE_NOWINDOWCHANGES | D3DCREATE_MULTITHREADED;
{ {
TRACE_EVENT0("gpu", "D3d9_CreateDevice"); TRACE_EVENT0("gpu.angle", "D3d9_CreateDevice");
result = mD3d9->CreateDevice(mAdapter, mDeviceType, mDeviceWindow, behaviorFlags | D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE, &presentParameters, &mDevice); result = mD3d9->CreateDevice(mAdapter, mDeviceType, mDeviceWindow, behaviorFlags | D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE, &presentParameters, &mDevice);
} }
if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY || result == D3DERR_DEVICELOST) if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY || result == D3DERR_DEVICELOST)
...@@ -295,7 +295,7 @@ egl::Error Renderer9::initialize() ...@@ -295,7 +295,7 @@ egl::Error Renderer9::initialize()
if (FAILED(result)) if (FAILED(result))
{ {
TRACE_EVENT0("gpu", "D3d9_CreateDevice2"); TRACE_EVENT0("gpu.angle", "D3d9_CreateDevice2");
result = mD3d9->CreateDevice(mAdapter, mDeviceType, mDeviceWindow, behaviorFlags | D3DCREATE_SOFTWARE_VERTEXPROCESSING, &presentParameters, &mDevice); result = mD3d9->CreateDevice(mAdapter, mDeviceType, mDeviceWindow, behaviorFlags | D3DCREATE_SOFTWARE_VERTEXPROCESSING, &presentParameters, &mDevice);
if (FAILED(result)) if (FAILED(result))
...@@ -308,13 +308,13 @@ egl::Error Renderer9::initialize() ...@@ -308,13 +308,13 @@ egl::Error Renderer9::initialize()
if (mD3d9Ex) if (mD3d9Ex)
{ {
TRACE_EVENT0("gpu", "mDevice_QueryInterface"); TRACE_EVENT0("gpu.angle", "mDevice_QueryInterface");
result = mDevice->QueryInterface(__uuidof(IDirect3DDevice9Ex), (void**)&mDeviceEx); result = mDevice->QueryInterface(__uuidof(IDirect3DDevice9Ex), (void**)&mDeviceEx);
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
} }
{ {
TRACE_EVENT0("gpu", "ShaderCache initialize"); TRACE_EVENT0("gpu.angle", "ShaderCache initialize");
mVertexShaderCache.initialize(mDevice); mVertexShaderCache.initialize(mDevice);
mPixelShaderCache.initialize(mDevice); mPixelShaderCache.initialize(mDevice);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment