aboutsummaryrefslogtreecommitdiff
path: root/PxShared/include/pvd
diff options
context:
space:
mode:
Diffstat (limited to 'PxShared/include/pvd')
-rw-r--r--PxShared/include/pvd/PxPvd.h193
-rw-r--r--PxShared/include/pvd/PxPvdTransport.h129
-rw-r--r--PxShared/include/pvd/windows/PxWindowsPvdDelayLoadHook.h60
3 files changed, 0 insertions, 382 deletions
diff --git a/PxShared/include/pvd/PxPvd.h b/PxShared/include/pvd/PxPvd.h
deleted file mode 100644
index 277ac4f..0000000
--- a/PxShared/include/pvd/PxPvd.h
+++ /dev/null
@@ -1,193 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed to you
-// under a form of NVIDIA software license agreement provided separately to you.
-//
-// Notice
-// NVIDIA Corporation and its licensors retain all intellectual property and
-// proprietary rights in and to this software and related documentation and
-// any modifications thereto. Any use, reproduction, disclosure, or
-// distribution of this software and related documentation without an express
-// license agreement from NVIDIA Corporation is strictly prohibited.
-//
-// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
-// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
-//
-// Information and code furnished is believed to be accurate and reliable.
-// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2008-2017 NVIDIA Corporation. All rights reserved.
-// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
-// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
-
-#ifndef PXPVDSDK_PXPVD_H
-#define PXPVDSDK_PXPVD_H
-
-/** \addtogroup pvd
-@{
-*/
-#include "foundation/PxFlags.h"
-#include "foundation/PxProfiler.h"
-
-#if !PX_DOXYGEN
-namespace physx
-{
-#endif
-
-class PxPvdTransport;
-
-#if PX_WINDOWS_FAMILY && !PX_ARM_FAMILY
-#ifndef PX_PVDSDK_DLL
-#define PX_PVDSDK_API PX_DLL_IMPORT
-#elif PX_PVDSDK_DLL
-#define PX_PVDSDK_API PX_DLL_EXPORT
-#endif
-#elif PX_UNIX_FAMILY
-#ifdef PX_PVDSDK_DLL
-#define PX_PVDSDK_API PX_UNIX_EXPORT
-#endif
-#endif
-
-#ifndef PX_PVDSDK_API
-#define PX_PVDSDK_API
-#endif
-
-/**
-\brief types of instrumentation that PVD can do.
-*/
-struct PxPvdInstrumentationFlag
-{
- enum Enum
- {
- /**
- \brief Send debugging information to PVD.
-
- This information is the actual object data of the rigid statics, shapes,
- articulations, etc. Sending this information has a noticeable impact on
- performance and thus this flag should not be set if you want an accurate
- performance profile.
- */
- eDEBUG = 1 << 0,
-
- /**
- \brief Send profile information to PVD.
-
- This information populates PVD's profile view. It has (at this time) negligible
- cost compared to Debug information and makes PVD *much* more useful so it is quite
- highly recommended.
-
- This flag works together with a PxCreatePhysics parameter.
- Using it allows the SDK to send profile events to PVD.
- */
- ePROFILE = 1 << 1,
-
- /**
- \brief Send memory information to PVD.
-
- The PVD sdk side hooks into the Foundation memory controller and listens to
- allocation/deallocation events. This has a noticable hit on the first frame,
- however, this data is somewhat compressed and the PhysX SDK doesn't allocate much
- once it hits a steady state. This information also has a fairly negligible
- impact and thus is also highly recommended.
-
- This flag works together with a PxCreatePhysics parameter,
- trackOutstandingAllocations. Using both of them together allows users to have
- an accurate view of the overall memory usage of the simulation at the cost of
- a hashtable lookup per allocation/deallocation. Again, PhysX makes a best effort
- attempt not to allocate or deallocate during simulation so this hashtable lookup
- tends to have no effect past the first frame.
-
- Sending memory information without tracking outstanding allocations means that
- PVD will accurate information about the state of the memory system before the
- actual connection happened.
- */
- eMEMORY = 1 << 2,
-
- eALL = (eDEBUG | ePROFILE | eMEMORY)
- };
-};
-
-/**
-\brief Bitfield that contains a set of raised flags defined in PxPvdInstrumentationFlag.
-
-@see PxPvdInstrumentationFlag
-*/
-typedef PxFlags<PxPvdInstrumentationFlag::Enum, uint8_t> PxPvdInstrumentationFlags;
-PX_FLAGS_OPERATORS(PxPvdInstrumentationFlag::Enum, uint8_t)
-
-/**
-\brief PxPvd is the top-level class for the PVD framework, and the main customer interface for PVD
-configuration.It is a singleton class, instantiated and owned by the application.
-*/
-class PxPvd : public physx::PxProfilerCallback
-{
- public:
- /**
- Connects the SDK to the PhysX Visual Debugger application.
- \param transport transport for pvd captured data.
- \param flags Flags to set.
- return True if success
- */
- virtual bool connect(PxPvdTransport& transport, PxPvdInstrumentationFlags flags) = 0;
-
- /**
- Disconnects the SDK from the PhysX Visual Debugger application.
- If we are still connected, this will kill the entire debugger connection.
- */
- virtual void disconnect() = 0;
-
- /**
- * Return if connection to PVD is created.
- \param useCachedStatus
- 1> When useCachedStaus is false, isConnected() checks the lowlevel network status.
- This can be slow because it needs to lock the lowlevel network stream. If isConnected() is
- called frequently, the expense of locking can be significant.
- 2> When useCachedStatus is true, isConnected() checks the highlevel cached status with atomic access.
- It is faster than locking, but the status may be different from the lowlevel network with latency of up to
- one frame.
- The reason for this is that the cached status is changed inside socket listener, which is not
- called immediately when the lowlevel connection status changes.
- */
- virtual bool isConnected(bool useCachedStatus = true) = 0;
-
- /**
- returns the PVD data transport
- returns NULL if no transport is present.
- */
- virtual PxPvdTransport* getTransport() = 0;
-
- /**
- Retrieves the PVD flags. See PxPvdInstrumentationFlags.
- */
- virtual PxPvdInstrumentationFlags getInstrumentationFlags() = 0;
-
- /**
- \brief Releases the pvd instance.
- */
- virtual void release() = 0;
-
- protected:
- virtual ~PxPvd()
- {
- }
-};
-
-/**
- \brief Create a pvd instance.
- \param foundation is the foundation instance that stores the allocator and error callbacks.
-*/
-PX_PVDSDK_API PxPvd* PX_CALL_CONV PxCreatePvd(PxFoundation& foundation);
-
-#if !PX_DOXYGEN
-} // namespace physx
-#endif
-
-/** @} */
-#endif // PXPVDSDK_PXPVD_H
diff --git a/PxShared/include/pvd/PxPvdTransport.h b/PxShared/include/pvd/PxPvdTransport.h
deleted file mode 100644
index dbaf878..0000000
--- a/PxShared/include/pvd/PxPvdTransport.h
+++ /dev/null
@@ -1,129 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed to you
-// under a form of NVIDIA software license agreement provided separately to you.
-//
-// Notice
-// NVIDIA Corporation and its licensors retain all intellectual property and
-// proprietary rights in and to this software and related documentation and
-// any modifications thereto. Any use, reproduction, disclosure, or
-// distribution of this software and related documentation without an express
-// license agreement from NVIDIA Corporation is strictly prohibited.
-//
-// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
-// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
-//
-// Information and code furnished is believed to be accurate and reliable.
-// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2008-2017 NVIDIA Corporation. All rights reserved.
-// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
-// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
-
-#ifndef PXPVDSDK_PXPVDTRANSPORT_H
-#define PXPVDSDK_PXPVDTRANSPORT_H
-
-/** \addtogroup pvd
-@{
-*/
-#include "foundation/PxErrors.h"
-#include "foundation/PxFlags.h"
-#include "pvd/PxPvd.h"
-
-#if !PX_DOXYGEN
-namespace physx
-{
-#endif
-
-/**
-\brief PxPvdTransport is an interface representing the data transport mechanism.
-This class defines all services associated with the transport: configuration, connection, reading, writing etc.
-It is owned by the application, and can be realized as a file or a socket (using one-line PxDefault<...> methods in
-PhysXExtensions) or in a custom implementation. This is a class that is intended for use by PVD, not by the
-application, the application entry points are PxPvd and PvdClient.
-*/
-
-class PxPvdTransport
-{
- public:
- // connect, isConnected, disconnect, read, write, flush
-
- /**
- Connects to the Visual Debugger application.
- return True if success
- */
- virtual bool connect() = 0;
-
- /**
- Disconnects from the Visual Debugger application.
- If we are still connected, this will kill the entire debugger connection.
- */
- virtual void disconnect() = 0;
-
- /**
- * Return if connection to PVD is created.
- */
- virtual bool isConnected() = 0;
-
- /**
- * write bytes to the other endpoint of the connection. should lock before witre. If an error occurs
- * this connection will assume to be dead.
- */
- virtual bool write(const uint8_t* inBytes, uint32_t inLength) = 0;
-
- /*
- lock this transport and return it
- */
- virtual PxPvdTransport& lock() = 0;
-
- /*
- unlock this transport
- */
- virtual void unlock() = 0;
-
- /**
- * send any data and block until we know it is at least on the wire.
- */
- virtual void flush() = 0;
-
- /**
- * Return size of written data.
- */
- virtual uint64_t getWrittenDataSize() = 0;
-
- virtual void release() = 0;
-
- protected:
- virtual ~PxPvdTransport()
- {
- }
-};
-
-/**
- \brief Create a default socket transport.
- \param host host address of the pvd application.
- \param port ip port used for pvd, should same as the port setting in pvd application.
- \param timeoutInMilliseconds timeout when connect to pvd host.
-*/
-PX_PVDSDK_API PxPvdTransport* PX_CALL_CONV
-PxDefaultPvdSocketTransportCreate(const char* host, int port, unsigned int timeoutInMilliseconds);
-
-/**
- \brief Create a default file transport.
- \param name full path filename used save captured pvd data.
-*/
-PX_PVDSDK_API PxPvdTransport* PX_CALL_CONV PxDefaultPvdFileTransportCreate(const char* name);
-
-#if !PX_DOXYGEN
-} // namespace physx
-#endif
-
-/** @} */
-#endif // PXPVDSDK_PXPVDTRANSPORT_H
diff --git a/PxShared/include/pvd/windows/PxWindowsPvdDelayLoadHook.h b/PxShared/include/pvd/windows/PxWindowsPvdDelayLoadHook.h
deleted file mode 100644
index 13bd7e9..0000000
--- a/PxShared/include/pvd/windows/PxWindowsPvdDelayLoadHook.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed to you
-// under a form of NVIDIA software license agreement provided separately to you.
-//
-// Notice
-// NVIDIA Corporation and its licensors retain all intellectual property and
-// proprietary rights in and to this software and related documentation and
-// any modifications thereto. Any use, reproduction, disclosure, or
-// distribution of this software and related documentation without an express
-// license agreement from NVIDIA Corporation is strictly prohibited.
-//
-// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
-// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
-//
-// Information and code furnished is believed to be accurate and reliable.
-// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2008-2017 NVIDIA Corporation. All rights reserved.
-// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
-// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
-
-
-#ifndef PX_PVD_DELAY_LOAD_HOOK
-#define PX_PVD_DELAY_LOAD_HOOK
-
-#include "foundation/PxPreprocessor.h"
-#include "foundation/windows/PxWindowsFoundationDelayLoadHook.h"
-#include "../PxPvd.h"
-
-/** \addtogroup pvd
-@{
-*/
-
-#if !PX_DOXYGEN
-namespace physx
-{
-#endif
-
- /**
- \brief Sets delay load hook instance for Foundation dll.
-
- \param[in] hook Delay load hook.
-
- @see PxFoundationDelayLoadHook
- */
- PX_C_EXPORT PX_PVDSDK_API void PX_CALL_CONV PxPvdSetFoundationDelayLoadHook(const physx::PxFoundationDelayLoadHook* hook);
-
-#if !PX_DOXYGEN
-} // namespace physx
-#endif
-/** @} */
-#endif