32#include "foundation/PxProfiler.h"
34#include "foundation/PxAllocator.h"
36#include "foundation/PxArray.h"
37#include "foundation/PxMutex.h"
38#include "PxPvdCommStreamTypes.h"
39#include "PxPvdFoundation.h"
40#include "PxPvdObjectModelMetaData.h"
41#include "PxPvdObjectRegistrar.h"
48 class PxProfileZoneManager;
54class PvdProfileZoneClient;
66 : mMetaData(PvdObjectModelMetaData::create()), mRefCount(0), mTypeMap(
"MetaDataProvider::mTypeMap")
80 virtual void release()
100 virtual bool createInstance(
const NamespacedName& clsName,
const void* instance)
104 if(cls.hasValue() ==
false)
106 int32_t instType = cls->mClassId;
107 mTypeMap.insert(instance, instType);
110 virtual bool isInstanceValid(
const void* instance)
114 bool retval = mTypeMap.find(instance) != NULL;
117 classDesc = mMetaData.getClass(mTypeMap.find(instance)->second);
121 virtual void destroyInstance(
const void* instance)
125 mTypeMap.erase(instance);
128 virtual int32_t getInstanceClassType(
const void* instance)
133 return entry->second;
154 typedef void (
PvdImpl::*TAllocationHandler)(
size_t size,
const char* typeName,
const char* filename,
int line,
155 void* allocatedMemory);
156 typedef void (
PvdImpl::*TDeallocationHandler)(
void* allocatedMemory);
176 bool registerObject(
const void* inItem);
177 bool unRegisterObject(
const void* inItem);
180 void onAllocation(
size_t size,
const char* typeName,
const char* filename,
int line,
void* allocatedMemory);
183 uint64_t getNextStreamId();
185 static bool initialize();
190 virtual void*
zoneStart(
const char* eventName,
bool detached, uint64_t contextId);
192 virtual void zoneEnd(
void* profilerData,
const char *eventName,
bool detached, uint64_t contextId);
195 void sendTransportInitialization();
207 bool mGPUProfilingWasConnected;
208 bool mIsNVTXSupportEnabled;
209 uint32_t mNVTXContext;
210 uint64_t mNextStreamId;
215 static uint32_t sRefCount;
Definition PxHashMap.h:78
PX_FORCE_INLINE void unlock() const
Definition PxMutex.h:149
PX_FORCE_INLINE void lock() const
Definition PxMutex.h:130
Definition PxBasicTemplates.h:67
PxPvdTransport is an interface representing the data transport mechanism. This class defines all serv...
Definition PxPvdTransport.h:53
Definition PxUserAllocated.h:43
The profiling system was setup in the expectation that there would be several systems that each had i...
Definition PxProfileZoneManager.h:86
The profiling system was setup in the expectation that there would be several systems that each had i...
Definition PxPvdProfileZone.h:67
Definition PxPvdObjectRegistrar.h:46
Definition PxPvdObjectModelMetaData.h:313
PvdClient is the per-client connection to PVD. It provides callback when PVD is connected/disconnted....
Definition PxPvdClient.h:54
Definition PxPvdImpl.h:150
bool connect(PxPvdTransport &transport, PxPvdInstrumentationFlags flags)
Definition PxPvdImpl.cpp:125
PxPvdInstrumentationFlags getInstrumentationFlags()
Definition PxPvdImpl.cpp:235
void disconnect()
Definition PxPvdImpl.cpp:180
bool isConnected(bool useCachedStatus=true)
Definition PxPvdImpl.cpp:222
void release()
Releases the pvd instance.
Definition PxPvdImpl.cpp:319
void onDeallocation(void *addr)
callback when memory is deallocated.
Definition PxPvdImpl.cpp:281
PxPvdTransport * getTransport()
Definition PxPvdImpl.cpp:230
virtual void zoneEnd(void *profilerData, const char *eventName, bool detached, uint64_t contextId)
Mark the end of a nested profile block.
Definition PxPvdImpl.cpp:378
virtual void * zoneStart(const char *eventName, bool detached, uint64_t contextId)
Mark the beginning of a nested profile block.
Definition PxPvdImpl.cpp:343
void onAllocation(size_t size, const char *typeName, const char *filename, int line, void *allocatedMemory)
callback when memory is allocated.
Definition PxPvdImpl.cpp:275
Definition PxPvdMemClient.h:49
Definition PxPvdProfileZoneClient.h:47
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Definition PxPvdObjectModelMetaData.h:142
Definition PxPvdObjectModelBaseTypes.h:188