Commit 3ea463bf by Jamie Madill Committed by Commit Bot

Move event tracer back into common.

Requires that we update the TRACE_EVENT macros to accept a platform as an argument. The refactor isn't complete. In order to finish we'd need to ensure we have the Display's PlatformMethods available at all sites. Unblocks adding trace events directly in the perf tests. Bug: angleproject:1892 Bug: angleproject:3117 Change-Id: Iee0ca086ccfe23acab3fc186fb042f018711a94c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1664794 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
parent e4780c51
......@@ -9,9 +9,8 @@
namespace angle
{
const unsigned char *GetTraceCategoryEnabledFlag(const char *name)
const unsigned char *GetTraceCategoryEnabledFlag(PlatformMethods *platform, const char *name)
{
auto *platform = ANGLEPlatformCurrent();
ASSERT(platform);
const unsigned char *categoryEnabledFlag =
......@@ -25,7 +24,8 @@ const unsigned char *GetTraceCategoryEnabledFlag(const char *name)
return &disabled;
}
angle::TraceEventHandle AddTraceEvent(char phase,
angle::TraceEventHandle AddTraceEvent(PlatformMethods *platform,
char phase,
const unsigned char *categoryGroupEnabled,
const char *name,
unsigned long long id,
......@@ -35,7 +35,6 @@ angle::TraceEventHandle AddTraceEvent(char phase,
const unsigned long long *argValues,
unsigned char flags)
{
auto *platform = ANGLEPlatformCurrent();
ASSERT(platform);
double timestamp = platform->monotonicallyIncreasingTime(platform);
......
......@@ -10,9 +10,9 @@
namespace angle
{
const unsigned char *GetTraceCategoryEnabledFlag(const char *name);
angle::TraceEventHandle AddTraceEvent(char phase,
const unsigned char *GetTraceCategoryEnabledFlag(PlatformMethods *platform, const char *name);
angle::TraceEventHandle AddTraceEvent(PlatformMethods *platform,
char phase,
const unsigned char *categoryGroupEnabled,
const char *name,
unsigned long long id,
......
......@@ -37,7 +37,7 @@
#include "libANGLE/renderer/DeviceImpl.h"
#include "libANGLE/renderer/DisplayImpl.h"
#include "libANGLE/renderer/ImageImpl.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
#if defined(ANGLE_ENABLE_D3D9) || defined(ANGLE_ENABLE_D3D11)
# include "libANGLE/renderer/d3d/DisplayD3D.h"
......@@ -531,7 +531,7 @@ Error Display::initialize()
gl::InitializeDebugMutexIfNeeded();
SCOPED_ANGLE_HISTOGRAM_TIMER("GPU.ANGLE.DisplayInitializeMS");
TRACE_EVENT0("gpu.angle", "egl::Display::initialize");
ANGLE_TRACE_EVENT0("gpu.angle", "egl::Display::initialize");
if (isInitialized())
{
......
......@@ -8,8 +8,7 @@
#include "libANGLE/LoggingAnnotator.h"
#include <platform/Platform.h>
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace angle
{
......@@ -21,17 +20,17 @@ bool LoggingAnnotator::getStatus()
void LoggingAnnotator::beginEvent(const char *eventName, const char *eventMessage)
{
TRACE_EVENT_BEGIN0("gpu.angle", eventName);
ANGLE_TRACE_EVENT_BEGIN0("gpu.angle", eventName);
}
void LoggingAnnotator::endEvent(const char *eventName)
{
TRACE_EVENT_END0("gpu.angle", eventName);
ANGLE_TRACE_EVENT_END0("gpu.angle", eventName);
}
void LoggingAnnotator::setMarker(const char *markerName)
{
TRACE_EVENT_INSTANT0("gpu.angle", markerName);
ANGLE_TRACE_EVENT_INSTANT0("gpu.angle", markerName);
}
void LoggingAnnotator::logMessage(const gl::LogMessage &msg) const
......
......@@ -20,7 +20,7 @@
#include "libANGLE/Thread.h"
#include "libANGLE/formatutils.h"
#include "libANGLE/renderer/EGLImplFactory.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace egl
{
......@@ -231,7 +231,7 @@ EGLint Surface::getType() const
Error Surface::swap(const gl::Context *context)
{
TRACE_EVENT0("gpu.angle", "egl::Surface::swap");
ANGLE_TRACE_EVENT0("gpu.angle", "egl::Surface::swap");
ANGLE_TRY(mImplementation->swap(context));
postSwap();
......
......@@ -14,7 +14,7 @@
#include "libANGLE/features.h"
#include "libANGLE/histogram_macros.h"
#include "libANGLE/renderer/d3d/ContextD3D.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace
{
......@@ -120,7 +120,7 @@ angle::Result HLSLCompiler::ensureInitialized(d3d::Context *context)
return angle::Result::Continue;
}
TRACE_EVENT0("gpu.angle", "HLSLCompiler::initialize");
ANGLE_TRACE_EVENT0("gpu.angle", "HLSLCompiler::initialize");
#if !defined(ANGLE_ENABLE_WINDOWS_STORE)
# if defined(ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES)
// Find a D3DCompiler module that had already been loaded based on a predefined list of
......@@ -239,7 +239,7 @@ angle::Result HLSLCompiler::compileToBinary(d3d::Context *context,
HRESULT result = S_OK;
{
TRACE_EVENT0("gpu.angle", "D3DCompile");
ANGLE_TRACE_EVENT0("gpu.angle", "D3DCompile");
SCOPED_ANGLE_HISTOGRAM_TIMER("GPU.ANGLE.D3DCompileMS");
result = mD3DCompileFunc(hlsl.c_str(), hlsl.length(), gl::g_fakepath, macros, nullptr,
"main", profile.c_str(), configs[i].flags, 0, &binary,
......
......@@ -19,7 +19,7 @@
#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
#include "libANGLE/renderer/d3d/d3d11/texture_format_table.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace rx
{
......@@ -576,7 +576,7 @@ angle::Result Blit11::initResources(const gl::Context *context)
return angle::Result::Continue;
}
TRACE_EVENT0("gpu.angle", "Blit11::initResources");
ANGLE_TRACE_EVENT0("gpu.angle", "Blit11::initResources");
D3D11_BUFFER_DESC vbDesc;
vbDesc.ByteWidth =
......
......@@ -19,7 +19,7 @@
#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"
#include "libANGLE/trace.h"
// Precompiled shaders
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clear11_fl9vs.h"
......@@ -234,7 +234,7 @@ angle::Result Clear11::ensureResourcesInitialized(const gl::Context *context)
return angle::Result::Continue;
}
TRACE_EVENT0("gpu.angle", "Clear11::ensureResourcesInitialized");
ANGLE_TRACE_EVENT0("gpu.angle", "Clear11::ensureResourcesInitialized");
static_assert((sizeof(RtvDsvClearInfo<float>) == sizeof(RtvDsvClearInfo<int>)),
"Size of rx::RtvDsvClearInfo<float> is not equal to rx::RtvDsvClearInfo<int>");
......
......@@ -60,7 +60,7 @@
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
#include "libANGLE/renderer/d3d/d3d11/texture_format_table.h"
#include "libANGLE/renderer/renderer_utils.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
#ifdef ANGLE_ENABLE_WINDOWS_STORE
# include "libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h"
......@@ -516,7 +516,7 @@ egl::Error Renderer11::initialize()
#if !defined(ANGLE_ENABLE_WINDOWS_STORE)
# if !ANGLE_SKIP_DXGI_1_2_CHECK
{
TRACE_EVENT0("gpu.angle", "Renderer11::initialize (DXGICheck)");
ANGLE_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.
// The easiest way to check is to query for a IDXGIDevice2.
......@@ -550,7 +550,7 @@ egl::Error Renderer11::initialize()
#endif
{
TRACE_EVENT0("gpu.angle", "Renderer11::initialize (ComQueries)");
ANGLE_TRACE_EVENT0("gpu.angle", "Renderer11::initialize (ComQueries)");
// Cast the DeviceContext to a DeviceContext1 and DeviceContext3.
// This could fail on Windows 7 without the Platform Update.
// Don't error in this case- just don't use mDeviceContext1 or mDeviceContext3.
......@@ -629,7 +629,7 @@ egl::Error Renderer11::initialize()
// Disable some spurious D3D11 debug warnings to prevent them from flooding the output log
if (mCreateDebugDevice)
{
TRACE_EVENT0("gpu.angle", "Renderer11::initialize (HideWarnings)");
ANGLE_TRACE_EVENT0("gpu.angle", "Renderer11::initialize (HideWarnings)");
ID3D11InfoQueue *infoQueue;
result = mDevice->QueryInterface(__uuidof(ID3D11InfoQueue), (void **)&infoQueue);
......@@ -678,7 +678,7 @@ egl::Error Renderer11::initializeD3DDevice()
PFN_D3D11_CREATE_DEVICE D3D11CreateDevice = nullptr;
{
SCOPED_ANGLE_HISTOGRAM_TIMER("GPU.ANGLE.Renderer11InitializeDLLsMS");
TRACE_EVENT0("gpu.angle", "Renderer11::initialize (Load DLLs)");
ANGLE_TRACE_EVENT0("gpu.angle", "Renderer11::initialize (Load DLLs)");
mDxgiModule = LoadLibrary(TEXT("dxgi.dll"));
mD3d11Module = LoadLibrary(TEXT("d3d11.dll"));
mDCompModule = LoadLibrary(TEXT("dcomp.dll"));
......@@ -704,7 +704,7 @@ egl::Error Renderer11::initializeD3DDevice()
if (mCreateDebugDevice)
{
TRACE_EVENT0("gpu.angle", "D3D11CreateDevice (Debug)");
ANGLE_TRACE_EVENT0("gpu.angle", "D3D11CreateDevice (Debug)");
result = callD3D11CreateDevice(D3D11CreateDevice, true);
if (result == E_INVALIDARG && mAvailableFeatureLevels.size() > 1u &&
......@@ -726,7 +726,7 @@ egl::Error Renderer11::initializeD3DDevice()
if (!mDevice || FAILED(result))
{
SCOPED_ANGLE_HISTOGRAM_TIMER("GPU.ANGLE.D3D11CreateDeviceMS");
TRACE_EVENT0("gpu.angle", "D3D11CreateDevice");
ANGLE_TRACE_EVENT0("gpu.angle", "D3D11CreateDevice");
result = callD3D11CreateDevice(D3D11CreateDevice, false);
......@@ -794,7 +794,7 @@ egl::Error Renderer11::initializeD3DDevice()
egl::Error Renderer11::initializeDevice()
{
SCOPED_ANGLE_HISTOGRAM_TIMER("GPU.ANGLE.Renderer11InitializeDeviceMS");
TRACE_EVENT0("gpu.angle", "Renderer11::initializeDevice");
ANGLE_TRACE_EVENT0("gpu.angle", "Renderer11::initializeDevice");
populateRenderer11DeviceCaps();
......
......@@ -17,7 +17,7 @@
#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
#include "libANGLE/renderer/d3d/d3d11/texture_format_table.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
// Precompiled shaders
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h"
......@@ -186,7 +186,7 @@ EGLint SwapChain11::resetOffscreenColorBuffer(DisplayD3D *displayD3D,
{
ASSERT(mNeedsOffscreenTexture);
TRACE_EVENT0("gpu.angle", "SwapChain11::resetOffscreenTexture");
ANGLE_TRACE_EVENT0("gpu.angle", "SwapChain11::resetOffscreenTexture");
ID3D11Device *device = mRenderer->getDevice();
ASSERT(device != nullptr);
......@@ -452,7 +452,7 @@ EGLint SwapChain11::resetOffscreenDepthBuffer(DisplayD3D *displayD3D,
EGLint SwapChain11::resize(DisplayD3D *displayD3D, EGLint backbufferWidth, EGLint backbufferHeight)
{
TRACE_EVENT0("gpu.angle", "SwapChain11::resize");
ANGLE_TRACE_EVENT0("gpu.angle", "SwapChain11::resize");
ID3D11Device *device = mRenderer->getDevice();
if (device == nullptr)
......@@ -582,7 +582,7 @@ EGLint SwapChain11::reset(DisplayD3D *displayD3D,
return resize(displayD3D, backbufferWidth, backbufferHeight);
}
TRACE_EVENT0("gpu.angle", "SwapChain11::reset");
ANGLE_TRACE_EVENT0("gpu.angle", "SwapChain11::reset");
ID3D11Device *device = mRenderer->getDevice();
if (device == nullptr)
......@@ -663,7 +663,7 @@ angle::Result SwapChain11::initPassThroughResources(DisplayD3D *displayD3D)
return angle::Result::Continue;
}
TRACE_EVENT0("gpu.angle", "SwapChain11::initPassThroughResources");
ANGLE_TRACE_EVENT0("gpu.angle", "SwapChain11::initPassThroughResources");
ID3D11Device *device = mRenderer->getDevice();
ASSERT(device != nullptr);
......
......@@ -51,7 +51,7 @@
#include "libANGLE/renderer/d3d/d3d9/VertexBuffer9.h"
#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
#include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
#if !defined(ANGLE_COMPILE_OPTIMIZATION_LEVEL)
# define ANGLE_COMPILE_OPTIMIZATION_LEVEL D3DCOMPILE_OPTIMIZATION_LEVEL3
......@@ -193,7 +193,7 @@ void Renderer9::release()
egl::Error Renderer9::initialize()
{
TRACE_EVENT0("gpu.angle", "GetModuleHandle_d3d9");
ANGLE_TRACE_EVENT0("gpu.angle", "GetModuleHandle_d3d9");
mD3d9Module = ::LoadLibrary(TEXT("d3d9.dll"));
if (mD3d9Module == nullptr)
......@@ -212,14 +212,14 @@ egl::Error Renderer9::initialize()
if (ANGLE_D3D9EX == ANGLE_ENABLED && Direct3DCreate9ExPtr &&
SUCCEEDED(Direct3DCreate9ExPtr(D3D_SDK_VERSION, &mD3d9Ex)))
{
TRACE_EVENT0("gpu.angle", "D3d9Ex_QueryInterface");
ANGLE_TRACE_EVENT0("gpu.angle", "D3d9Ex_QueryInterface");
ASSERT(mD3d9Ex);
mD3d9Ex->QueryInterface(__uuidof(IDirect3D9), reinterpret_cast<void **>(&mD3d9));
ASSERT(mD3d9);
}
else
{
TRACE_EVENT0("gpu.angle", "Direct3DCreate9");
ANGLE_TRACE_EVENT0("gpu.angle", "Direct3DCreate9");
mD3d9 = Direct3DCreate9(D3D_SDK_VERSION);
}
......@@ -238,7 +238,7 @@ egl::Error Renderer9::initialize()
// Give up on getting device caps after about one second.
{
TRACE_EVENT0("gpu.angle", "GetDeviceCaps");
ANGLE_TRACE_EVENT0("gpu.angle", "GetDeviceCaps");
for (int i = 0; i < 10; ++i)
{
result = mD3d9->GetDeviceCaps(mAdapter, mDeviceType, &mDeviceCaps);
......@@ -282,7 +282,7 @@ egl::Error Renderer9::initialize()
}
{
TRACE_EVENT0("gpu.angle", "GetAdapterIdentifier");
ANGLE_TRACE_EVENT0("gpu.angle", "GetAdapterIdentifier");
mD3d9->GetAdapterIdentifier(mAdapter, 0, &mAdapterIdentifier);
}
......@@ -290,7 +290,7 @@ egl::Error Renderer9::initialize()
static const TCHAR className[] = TEXT("STATIC");
{
TRACE_EVENT0("gpu.angle", "CreateWindowEx");
ANGLE_TRACE_EVENT0("gpu.angle", "CreateWindowEx");
mDeviceWindow =
CreateWindowEx(WS_EX_NOACTIVATE, className, windowName, WS_DISABLED | WS_POPUP, 0, 0, 1,
1, HWND_MESSAGE, nullptr, GetModuleHandle(nullptr), nullptr);
......@@ -301,7 +301,7 @@ egl::Error Renderer9::initialize()
D3DCREATE_FPU_PRESERVE | D3DCREATE_NOWINDOWCHANGES | D3DCREATE_MULTITHREADED;
{
TRACE_EVENT0("gpu.angle", "D3d9_CreateDevice");
ANGLE_TRACE_EVENT0("gpu.angle", "D3d9_CreateDevice");
result = mD3d9->CreateDevice(
mAdapter, mDeviceType, mDeviceWindow,
behaviorFlags | D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE,
......@@ -315,7 +315,7 @@ egl::Error Renderer9::initialize()
if (FAILED(result))
{
TRACE_EVENT0("gpu.angle", "D3d9_CreateDevice2");
ANGLE_TRACE_EVENT0("gpu.angle", "D3d9_CreateDevice2");
result = mD3d9->CreateDevice(mAdapter, mDeviceType, mDeviceWindow,
behaviorFlags | D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&presentParameters, &mDevice);
......@@ -331,13 +331,13 @@ egl::Error Renderer9::initialize()
if (mD3d9Ex)
{
TRACE_EVENT0("gpu.angle", "mDevice_QueryInterface");
ANGLE_TRACE_EVENT0("gpu.angle", "mDevice_QueryInterface");
result = mDevice->QueryInterface(__uuidof(IDirect3DDevice9Ex), (void **)&mDeviceEx);
ASSERT(SUCCEEDED(result));
}
{
TRACE_EVENT0("gpu.angle", "ShaderCache initialize");
ANGLE_TRACE_EVENT0("gpu.angle", "ShaderCache initialize");
mVertexShaderCache.initialize(mDevice);
mPixelShaderCache.initialize(mDevice);
}
......
......@@ -14,7 +14,7 @@
#include "libANGLE/Context.h"
#include "libANGLE/renderer/vulkan/ContextVk.h"
#include "libANGLE/renderer/vulkan/RendererVk.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace rx
{
......@@ -255,7 +255,7 @@ angle::Result BufferVk::getIndexRange(const gl::Context *context,
return angle::Result::Continue;
}
TRACE_EVENT0("gpu.angle", "BufferVk::getIndexRange");
ANGLE_TRACE_EVENT0("gpu.angle", "BufferVk::getIndexRange");
// Needed before reading buffer or we could get stale data.
ANGLE_TRY(contextVk->finishImpl());
......
......@@ -17,7 +17,7 @@
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
#include "libANGLE/renderer/vulkan/vk_helpers.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace rx
{
......
......@@ -38,7 +38,7 @@
#include "libANGLE/renderer/vulkan/TransformFeedbackVk.h"
#include "libANGLE/renderer/vulkan/VertexArrayVk.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace rx
{
......@@ -187,7 +187,7 @@ ContextVk::ContextVk(const gl::State &state, gl::ErrorSet *errorSet, RendererVk
mGpuClockSync{std::numeric_limits<double>::max(), std::numeric_limits<double>::max()},
mGpuEventTimestampOrigin(0)
{
TRACE_EVENT0("gpu.angle", "ContextVk::ContextVk");
ANGLE_TRACE_EVENT0("gpu.angle", "ContextVk::ContextVk");
memset(&mClearColorValue, 0, sizeof(mClearColorValue));
memset(&mClearDepthStencilValue, 0, sizeof(mClearDepthStencilValue));
......@@ -273,7 +273,7 @@ angle::Result ContextVk::getIncompleteTexture(const gl::Context *context,
angle::Result ContextVk::initialize()
{
TRACE_EVENT0("gpu.angle", "ContextVk::initialize");
ANGLE_TRACE_EVENT0("gpu.angle", "ContextVk::initialize");
VkDescriptorPoolSize driverSetSize = {VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 1};
ANGLE_TRY(mDriverUniformsDescriptorPool.init(this, &driverSetSize, 1));
......@@ -656,7 +656,7 @@ angle::Result ContextVk::handleDirtyDescriptorSets(const gl::Context *context,
angle::Result ContextVk::submitFrame(const VkSubmitInfo &submitInfo,
vk::PrimaryCommandBuffer &&commandBuffer)
{
TRACE_EVENT0("gpu.angle", "RendererVk::submitFrame");
ANGLE_TRACE_EVENT0("gpu.angle", "RendererVk::submitFrame");
VkFenceCreateInfo fenceInfo = {};
fenceInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
fenceInfo.flags = 0;
......@@ -841,7 +841,7 @@ angle::Result ContextVk::synchronizeCpuGpuTime()
// Make sure nothing is running
ASSERT(mCommandGraph.empty());
TRACE_EVENT0("gpu.angle", "RendererVk::synchronizeCpuGpuTime");
ANGLE_TRACE_EVENT0("gpu.angle", "RendererVk::synchronizeCpuGpuTime");
// Create a query used to receive the GPU timestamp
vk::QueryHelper timestampQuery;
......@@ -1096,7 +1096,7 @@ void ContextVk::flushGpuEvents(double nextSyncGpuTimestampS, double nextSyncCpuT
// for.
static long long eventId = 1;
static const unsigned char *categoryEnabled =
TRACE_EVENT_API_GET_CATEGORY_ENABLED("gpu.angle.gpu");
TRACE_EVENT_API_GET_CATEGORY_ENABLED(platform, "gpu.angle.gpu");
platform->addTraceEvent(platform, event.phase, categoryEnabled, event.name, eventId++,
gpuTimestampS, 0, nullptr, nullptr, nullptr, TRACE_EVENT_FLAG_NONE);
}
......@@ -2080,7 +2080,7 @@ angle::Result ContextVk::flushImpl(const gl::Semaphore *clientSignalSemaphore)
return angle::Result::Continue;
}
TRACE_EVENT0("gpu.angle", "ContextVk::flush");
ANGLE_TRACE_EVENT0("gpu.angle", "ContextVk::flush");
vk::Scoped<vk::PrimaryCommandBuffer> commandBatch(getDevice());
if (!mCommandGraph.empty())
......@@ -2110,7 +2110,7 @@ angle::Result ContextVk::flushImpl(const gl::Semaphore *clientSignalSemaphore)
angle::Result ContextVk::finishImpl()
{
TRACE_EVENT0("gpu.angle", "ContextVk::finish");
ANGLE_TRACE_EVENT0("gpu.angle", "ContextVk::finish");
ANGLE_TRY(flushImpl(nullptr));
......@@ -2165,7 +2165,7 @@ angle::Result ContextVk::checkCompletedCommands()
mLastCompletedQueueSerial = batch.serial;
batch.fence.reset(device);
TRACE_EVENT0("gpu.angle", "commandPool.destroy");
ANGLE_TRACE_EVENT0("gpu.angle", "commandPool.destroy");
batch.commandPool.destroy(device);
++finishedCount;
}
......
......@@ -17,7 +17,7 @@
#include "libANGLE/renderer/vulkan/RendererVk.h"
#include "libANGLE/renderer/vulkan/SurfaceVk.h"
#include "libANGLE/renderer/vulkan/SyncVk.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace rx
{
......@@ -83,7 +83,7 @@ DeviceImpl *DisplayVk::createDevice()
egl::Error DisplayVk::waitClient(const gl::Context *context)
{
TRACE_EVENT0("gpu.angle", "DisplayVk::waitClient");
ANGLE_TRACE_EVENT0("gpu.angle", "DisplayVk::waitClient");
ContextVk *contextVk = vk::GetImpl(context);
return angle::ToEGL(contextVk->finishImpl(), this, EGL_BAD_ACCESS);
}
......
......@@ -24,7 +24,7 @@
#include "libANGLE/renderer/vulkan/RendererVk.h"
#include "libANGLE/renderer/vulkan/SurfaceVk.h"
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace rx
{
......@@ -1311,7 +1311,7 @@ angle::Result FramebufferVk::readPixelsImpl(ContextVk *contextVk,
RenderTargetVk *renderTarget,
void *pixels)
{
TRACE_EVENT0("gpu.angle", "FramebufferVk::readPixelsImpl");
ANGLE_TRACE_EVENT0("gpu.angle", "FramebufferVk::readPixelsImpl");
RendererVk *renderer = contextVk->getRenderer();
......
......@@ -30,8 +30,8 @@
#include "libANGLE/renderer/vulkan/VertexArrayVk.h"
#include "libANGLE/renderer/vulkan/vk_caps_utils.h"
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
#include "libANGLE/trace.h"
#include "platform/Platform.h"
#include "third_party/trace_event/trace_event.h"
// Consts
namespace
......
......@@ -18,7 +18,7 @@
#include "libANGLE/renderer/vulkan/FramebufferVk.h"
#include "libANGLE/renderer/vulkan/RendererVk.h"
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace rx
{
......@@ -869,7 +869,7 @@ angle::Result WindowSurfaceVk::present(ContextVk *contextVk,
// Throttle the submissions to avoid getting too far ahead of the GPU.
SwapHistory &swap = mSwapHistory[mCurrentSwapHistoryIndex];
{
TRACE_EVENT0("gpu.angle", "WindowSurfaceVk::present: Throttle CPU");
ANGLE_TRACE_EVENT0("gpu.angle", "WindowSurfaceVk::present: Throttle CPU");
ANGLE_TRY(swap.waitFence(contextVk));
swap.destroy(contextVk->getDevice());
}
......@@ -996,7 +996,7 @@ angle::Result WindowSurfaceVk::swapImpl(const gl::Context *context, EGLint *rect
{
// Note: TRACE_EVENT0 is put here instead of inside the function to workaround this issue:
// http://anglebug.com/2927
TRACE_EVENT0("gpu.angle", "nextSwapchainImage");
ANGLE_TRACE_EVENT0("gpu.angle", "nextSwapchainImage");
// Get the next available swapchain image.
VkResult result = nextSwapchainImage(contextVk);
......
......@@ -23,7 +23,7 @@
#include "libANGLE/renderer/vulkan/RendererVk.h"
#include "libANGLE/renderer/vulkan/SurfaceVk.h"
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace rx
{
......@@ -926,7 +926,7 @@ angle::Result TextureVk::copyImageDataToBuffer(ContextVk *contextVk,
const gl::Rectangle &sourceArea,
uint8_t **outDataPtr)
{
TRACE_EVENT0("gpu.angle", "TextureVk::copyImageDataToBuffer");
ANGLE_TRACE_EVENT0("gpu.angle", "TextureVk::copyImageDataToBuffer");
// Make sure the source is initialized and it's images are flushed.
ANGLE_TRY(ensureImageInitialized(contextVk));
......
......@@ -18,7 +18,7 @@
#include "libANGLE/renderer/vulkan/FramebufferVk.h"
#include "libANGLE/renderer/vulkan/RendererVk.h"
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace rx
{
......@@ -280,7 +280,7 @@ angle::Result VertexArrayVk::convertVertexBufferCPU(ContextVk *contextVk,
const vk::Format &vertexFormat,
ConversionBuffer *conversion)
{
TRACE_EVENT0("gpu.angle", "VertexArrayVk::convertVertexBufferCpu");
ANGLE_TRACE_EVENT0("gpu.angle", "VertexArrayVk::convertVertexBufferCpu");
// Needed before reading buffer or we could get stale data.
ANGLE_TRY(contextVk->finishImpl());
......
......@@ -17,7 +17,7 @@
#include "libANGLE/renderer/vulkan/FramebufferVk.h"
#include "libANGLE/renderer/vulkan/RendererVk.h"
#include "libANGLE/renderer/vulkan/vk_utils.h"
#include "third_party/trace_event/trace_event.h"
#include "libANGLE/trace.h"
namespace rx
{
......@@ -1045,7 +1045,7 @@ angle::Result LineLoopHelper::getIndexBufferForElementArrayBuffer(ContextVk *con
if (glIndexType == gl::DrawElementsType::UnsignedByte ||
contextVk->getState().isPrimitiveRestartEnabled())
{
TRACE_EVENT0("gpu.angle", "LineLoopHelper::getIndexBufferForElementArrayBuffer");
ANGLE_TRACE_EVENT0("gpu.angle", "LineLoopHelper::getIndexBufferForElementArrayBuffer");
// Needed before reading buffer or we could get stale data.
ANGLE_TRY(contextVk->finishImpl());
......
//
// Copyright 2019 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.
//
// trace.h: Wrappers for ANGLE trace event functions.
//
#ifndef LIBANGLE_TRACE_H_
#define LIBANGLE_TRACE_H_
#include <platform/Platform.h>
#include "third_party/trace_event/trace_event.h"
// TODO: Pass platform directly to these methods. http://anglebug.com/1892
#define ANGLE_TRACE_EVENT_BEGIN0(CATEGORY, EVENT) \
TRACE_EVENT_BEGIN0(ANGLEPlatformCurrent(), CATEGORY, EVENT)
#define ANGLE_TRACE_EVENT_END0(CATEGORY, EVENT) \
TRACE_EVENT_END0(ANGLEPlatformCurrent(), CATEGORY, EVENT)
#define ANGLE_TRACE_EVENT_INSTANT0(CATEGORY, EVENT) \
TRACE_EVENT_INSTANT0(ANGLEPlatformCurrent(), CATEGORY, EVENT)
#define ANGLE_TRACE_EVENT0(CATEGORY, EVENT) TRACE_EVENT0(ANGLEPlatformCurrent(), CATEGORY, EVENT)
#endif // LIBANGLE_TRACE_H_
......@@ -26,6 +26,8 @@ libangle_common_sources = [
"src/common/bitset_utils.h",
"src/common/debug.cpp",
"src/common/debug.h",
"src/common/event_tracer.cpp",
"src/common/event_tracer.h",
"src/common/hash_utils.h",
"src/common/mathutil.cpp",
"src/common/mathutil.h",
......@@ -161,8 +163,6 @@ libangle_includes = [
]
libangle_sources = [
"src/common/event_tracer.cpp",
"src/common/event_tracer.h",
"src/libANGLE/AttributeMap.cpp",
"src/libANGLE/AttributeMap.h",
"src/libANGLE/BinaryStream.h",
......@@ -289,6 +289,7 @@ libangle_sources = [
"src/libANGLE/queryconversions.h",
"src/libANGLE/queryutils.cpp",
"src/libANGLE/queryutils.h",
"src/libANGLE/trace.h",
"src/libANGLE/renderer/BufferImpl.h",
"src/libANGLE/renderer/CompilerImpl.h",
"src/libANGLE/renderer/ContextImpl.cpp",
......
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