aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Documentation/PhysXAPI/files/PxCudaContextManager_8h-source.html
diff options
context:
space:
mode:
authorsschirm <[email protected]>2016-12-23 14:20:36 +0100
committersschirm <[email protected]>2016-12-23 14:56:17 +0100
commitef6937e69e8ee3f409cf9d460d5ad300a65d5924 (patch)
tree710426e8daa605551ce3f34b581897011101c30f /PhysX_3.4/Documentation/PhysXAPI/files/PxCudaContextManager_8h-source.html
parentInitial commit: (diff)
downloadphysx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.tar.xz
physx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.zip
PhysX 3.4 / APEX 1.4 release candidate @21506124
Diffstat (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/PxCudaContextManager_8h-source.html')
-rw-r--r--PhysX_3.4/Documentation/PhysXAPI/files/PxCudaContextManager_8h-source.html300
1 files changed, 152 insertions, 148 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/PxCudaContextManager_8h-source.html b/PhysX_3.4/Documentation/PhysXAPI/files/PxCudaContextManager_8h-source.html
index 96dacfe0..a4583e0e 100644
--- a/PhysX_3.4/Documentation/PhysXAPI/files/PxCudaContextManager_8h-source.html
+++ b/PhysX_3.4/Documentation/PhysXAPI/files/PxCudaContextManager_8h-source.html
@@ -62,159 +62,163 @@
<a name="l00042"></a>00042 <span class="comment">/* Forward decl to avoid inclusion of cuda.h */</span>
<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keyword">struct </span>CUctx_st *CUcontext;
<a name="l00044"></a>00044 <span class="keyword">typedef</span> <span class="keyword">struct </span>CUgraphicsResource_st *CUgraphicsResource;
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keyword">namespace </span>physx
-<a name="l00047"></a>00047 {
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keyword">class </span>PxGpuDispatcher;
-<a name="l00050"></a>00050
+<a name="l00045"></a>00045 <span class="keyword">typedef</span> <span class="keywordtype">int</span> CUdevice;
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">namespace </span>physx
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">class </span>PxGpuDispatcher;
<a name="l00051"></a>00051
-<a name="l00053"></a>00053 <span class="keyword">struct </span>PxCudaInteropMode
-<a name="l00054"></a>00054 {
-<a name="l00058"></a>00058 <span class="keyword">enum</span> Enum
-<a name="l00059"></a>00059 {
-<a name="l00060"></a>00060 NO_INTEROP = 0,
-<a name="l00061"></a>00061 D3D10_INTEROP,
-<a name="l00062"></a>00062 D3D11_INTEROP,
-<a name="l00063"></a>00063 OGL_INTEROP,
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 COUNT
-<a name="l00066"></a>00066 };
-<a name="l00067"></a>00067 };
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="keyword">struct </span>PxCudaInteropRegisterFlag
-<a name="l00070"></a>00070 {
-<a name="l00071"></a>00071 <span class="keyword">enum</span> Enum
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 eNONE = 0x00,
-<a name="l00074"></a>00074 eREAD_ONLY = 0x01,
-<a name="l00075"></a>00075 eWRITE_DISCARD = 0x02,
-<a name="l00076"></a>00076 eSURFACE_LDST = 0x04,
-<a name="l00077"></a>00077 eTEXTURE_GATHER = 0x08
-<a name="l00078"></a>00078 };
-<a name="l00079"></a>00079 };
-<a name="l00080"></a>00080
-<a name="l00086"></a>00086 <span class="keyword">typedef</span> <a class="code" href="classPxFlags.html" title="Container for bitfield flag variables associated with a specific enum type.">PxFlags&lt;PxCudaInteropRegisterFlag::Enum, uint32_t&gt;</a> PxCudaInteropRegisterFlags;
-<a name="l00087"></a>00087 <a class="code" href="group__foundation.html#g092f922a63fdc7a95ae4f4e24b3768c1">PX_FLAGS_OPERATORS</a>(PxCudaInteropRegisterFlag::Enum, uint32_t)
-<a name="l00088"></a>00088
+<a name="l00052"></a>00052
+<a name="l00054"></a>00054 <span class="keyword">struct </span>PxCudaInteropMode
+<a name="l00055"></a>00055 {
+<a name="l00059"></a>00059 <span class="keyword">enum</span> Enum
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 NO_INTEROP = 0,
+<a name="l00062"></a>00062 D3D10_INTEROP,
+<a name="l00063"></a>00063 D3D11_INTEROP,
+<a name="l00064"></a>00064 OGL_INTEROP,
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 COUNT
+<a name="l00067"></a>00067 };
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">struct </span>PxCudaInteropRegisterFlag
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <span class="keyword">enum</span> Enum
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 eNONE = 0x00,
+<a name="l00075"></a>00075 eREAD_ONLY = 0x01,
+<a name="l00076"></a>00076 eWRITE_DISCARD = 0x02,
+<a name="l00077"></a>00077 eSURFACE_LDST = 0x04,
+<a name="l00078"></a>00078 eTEXTURE_GATHER = 0x08
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081
+<a name="l00087"></a>00087 <span class="keyword">typedef</span> <a class="code" href="classPxFlags.html" title="Container for bitfield flag variables associated with a specific enum type.">PxFlags&lt;PxCudaInteropRegisterFlag::Enum, uint32_t&gt;</a> PxCudaInteropRegisterFlags;
+<a name="l00088"></a>00088 <a class="code" href="group__foundation.html#g092f922a63fdc7a95ae4f4e24b3768c1">PX_FLAGS_OPERATORS</a>(PxCudaInteropRegisterFlag::Enum, uint32_t)
<a name="l00089"></a>00089
-<a name="l00090"></a>00090 class PxCudaContextManagerDesc
-<a name="l00091"></a>00091 {
-<a name="l00092"></a>00092 <span class="keyword">public</span>:
-<a name="l00114"></a>00114 CUcontext *ctx;
-<a name="l00115"></a>00115
-<a name="l00123"></a>00123 <span class="keywordtype">void</span> *graphicsDevice;
-<a name="l00124"></a>00124
-<a name="l00125"></a>00125 <span class="preprocessor">#if PX_SUPPORT_GPU_PHYSX</span>
-<a name="l00126"></a>00126 <span class="preprocessor"></span>
-<a name="l00133"></a>00133 <span class="keyword">const</span> <span class="keywordtype">char</span>* appGUID;
-<a name="l00134"></a>00134 <span class="preprocessor">#endif</span>
-<a name="l00135"></a>00135 <span class="preprocessor"></span>
-<a name="l00142"></a>00142 PxCudaInteropMode::Enum interopMode;
-<a name="l00143"></a>00143
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 class PxCudaContextManagerDesc
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keyword">public</span>:
+<a name="l00115"></a>00115 CUcontext *ctx;
+<a name="l00116"></a>00116
+<a name="l00124"></a>00124 <span class="keywordtype">void</span> *graphicsDevice;
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="preprocessor">#if PX_SUPPORT_GPU_PHYSX</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span>
+<a name="l00134"></a>00134 <span class="keyword">const</span> <span class="keywordtype">char</span>* appGUID;
+<a name="l00135"></a>00135 <span class="preprocessor">#endif</span>
+<a name="l00136"></a>00136 <span class="preprocessor"></span>
+<a name="l00143"></a>00143 PxCudaInteropMode::Enum interopMode;
<a name="l00144"></a>00144
-<a name="l00160"></a>00160 uint32_t memoryBaseSize[PxCudaBufferMemorySpace::COUNT];
-<a name="l00161"></a>00161
-<a name="l00171"></a>00171 uint32_t memoryPageSize[PxCudaBufferMemorySpace::COUNT];
-<a name="l00172"></a>00172
-<a name="l00179"></a>00179 uint32_t maxMemorySize[PxCudaBufferMemorySpace::COUNT];
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> PxCudaContextManagerDesc()
-<a name="l00182"></a>00182 {
-<a name="l00183"></a>00183 ctx = NULL;
-<a name="l00184"></a>00184 interopMode = PxCudaInteropMode::NO_INTEROP;
-<a name="l00185"></a>00185 graphicsDevice = 0;
-<a name="l00186"></a>00186 <span class="preprocessor">#if PX_SUPPORT_GPU_PHYSX</span>
-<a name="l00187"></a>00187 <span class="preprocessor"></span> appGUID = NULL;
-<a name="l00188"></a>00188 <span class="preprocessor">#endif</span>
-<a name="l00189"></a>00189 <span class="preprocessor"></span> <span class="keywordflow">for</span>(uint32_t i = 0; i &lt; PxCudaBufferMemorySpace::COUNT; i++)
-<a name="l00190"></a>00190 {
-<a name="l00191"></a>00191 memoryBaseSize[i] = 0;
-<a name="l00192"></a>00192 memoryPageSize[i] = 2 * 1024*1024;
-<a name="l00193"></a>00193 maxMemorySize[i] = UINT32_MAX;
-<a name="l00194"></a>00194 }
-<a name="l00195"></a>00195 }
-<a name="l00196"></a>00196 };
-<a name="l00197"></a>00197
+<a name="l00145"></a>00145
+<a name="l00161"></a>00161 uint32_t memoryBaseSize[PxCudaBufferMemorySpace::COUNT];
+<a name="l00162"></a>00162
+<a name="l00172"></a>00172 uint32_t memoryPageSize[PxCudaBufferMemorySpace::COUNT];
+<a name="l00173"></a>00173
+<a name="l00180"></a>00180 uint32_t maxMemorySize[PxCudaBufferMemorySpace::COUNT];
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> PxCudaContextManagerDesc()
+<a name="l00183"></a>00183 {
+<a name="l00184"></a>00184 ctx = NULL;
+<a name="l00185"></a>00185 interopMode = PxCudaInteropMode::NO_INTEROP;
+<a name="l00186"></a>00186 graphicsDevice = 0;
+<a name="l00187"></a>00187 <span class="preprocessor">#if PX_SUPPORT_GPU_PHYSX</span>
+<a name="l00188"></a>00188 <span class="preprocessor"></span> appGUID = NULL;
+<a name="l00189"></a>00189 <span class="preprocessor">#endif</span>
+<a name="l00190"></a>00190 <span class="preprocessor"></span> <span class="keywordflow">for</span>(uint32_t i = 0; i &lt; PxCudaBufferMemorySpace::COUNT; i++)
+<a name="l00191"></a>00191 {
+<a name="l00192"></a>00192 memoryBaseSize[i] = 0;
+<a name="l00193"></a>00193 memoryPageSize[i] = 2 * 1024*1024;
+<a name="l00194"></a>00194 maxMemorySize[i] = UINT32_MAX;
+<a name="l00195"></a>00195 }
+<a name="l00196"></a>00196 }
+<a name="l00197"></a>00197 };
<a name="l00198"></a>00198
-<a name="l00216"></a>00216 <span class="keyword">class </span>PxCudaContextManager
-<a name="l00217"></a>00217 {
-<a name="l00218"></a>00218 <span class="keyword">public</span>:
-<a name="l00234"></a>00234 <span class="keyword">virtual</span> <span class="keywordtype">void</span> acquireContext() = 0;
-<a name="l00235"></a>00235
-<a name="l00243"></a>00243 <span class="keyword">virtual</span> <span class="keywordtype">void</span> releaseContext() = 0;
-<a name="l00244"></a>00244
-<a name="l00251"></a>00251 <span class="keyword">virtual</span> PxCudaMemoryManager *getMemoryManager() = 0;
-<a name="l00252"></a>00252
-<a name="l00257"></a>00257 <span class="keyword">virtual</span> <span class="keyword">class </span><a class="code" href="classphysx_1_1PxGpuDispatcher.html" title="A GpuTask dispatcher.">physx::PxGpuDispatcher</a> *getGpuDispatcher() = 0;
+<a name="l00199"></a>00199
+<a name="l00217"></a>00217 <span class="keyword">class </span>PxCudaContextManager
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219 <span class="keyword">public</span>:
+<a name="l00235"></a>00235 <span class="keyword">virtual</span> <span class="keywordtype">void</span> acquireContext() = 0;
+<a name="l00236"></a>00236
+<a name="l00244"></a>00244 <span class="keyword">virtual</span> <span class="keywordtype">void</span> releaseContext() = 0;
+<a name="l00245"></a>00245
+<a name="l00249"></a>00249 <span class="keyword">virtual</span> CUcontext getContext() = 0;
+<a name="l00250"></a>00250
+<a name="l00257"></a>00257 <span class="keyword">virtual</span> PxCudaMemoryManager *getMemoryManager() = 0;
<a name="l00258"></a>00258
-<a name="l00268"></a>00268 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> contextIsValid() <span class="keyword">const</span> = 0;
-<a name="l00269"></a>00269
-<a name="l00270"></a>00270 <span class="comment">/* Query CUDA context and device properties, without acquiring context */</span>
-<a name="l00271"></a>00271
-<a name="l00272"></a>00272 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM10() <span class="keyword">const</span> = 0;
-<a name="l00273"></a>00273 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM11() <span class="keyword">const</span> = 0;
-<a name="l00274"></a>00274 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM12() <span class="keyword">const</span> = 0;
-<a name="l00275"></a>00275 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM13() <span class="keyword">const</span> = 0;
-<a name="l00276"></a>00276 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM20() <span class="keyword">const</span> = 0;
-<a name="l00277"></a>00277 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM30() <span class="keyword">const</span> = 0;
-<a name="l00278"></a>00278 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM35() <span class="keyword">const</span> = 0;
-<a name="l00279"></a>00279 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM50() <span class="keyword">const</span> = 0;
-<a name="l00280"></a>00280 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM52() <span class="keyword">const</span> = 0;
-<a name="l00281"></a>00281 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM60() <span class="keyword">const</span> = 0;
-<a name="l00282"></a>00282 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isIntegrated() <span class="keyword">const</span> = 0;
-<a name="l00283"></a>00283 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> canMapHostMemory() <span class="keyword">const</span> = 0;
-<a name="l00284"></a>00284 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDriverVersion() <span class="keyword">const</span> = 0;
-<a name="l00285"></a>00285 <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> getDeviceTotalMemBytes() <span class="keyword">const</span> = 0;
-<a name="l00286"></a>00286 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getMultiprocessorCount() <span class="keyword">const</span> = 0;
-<a name="l00287"></a>00287 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getClockRate() <span class="keyword">const</span> = 0;
-<a name="l00288"></a>00288 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getSharedMemPerBlock() <span class="keyword">const</span> = 0;
-<a name="l00289"></a>00289 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getSharedMemPerMultiprocessor() <span class="keyword">const</span> = 0;
-<a name="l00290"></a>00290 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getMaxThreadsPerBlock() <span class="keyword">const</span> = 0;
-<a name="l00291"></a>00291 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *getDeviceName() <span class="keyword">const</span> = 0;
-<a name="l00292"></a>00292 <span class="keyword">virtual</span> PxCudaInteropMode::Enum getInteropMode() <span class="keyword">const</span> = 0;
-<a name="l00293"></a>00293
-<a name="l00294"></a>00294 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setUsingConcurrentStreams(<span class="keywordtype">bool</span>) = 0;
-<a name="l00295"></a>00295 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getUsingConcurrentStreams() <span class="keyword">const</span> = 0;
-<a name="l00296"></a>00296 <span class="comment">/* End query methods that don't require context to be acquired */</span>
-<a name="l00297"></a>00297
-<a name="l00318"></a>00318 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> registerResourceInCudaGL(CUgraphicsResource &amp;resource, uint32_t buffer, PxCudaInteropRegisterFlags flags = PxCudaInteropRegisterFlags()) = 0;
-<a name="l00319"></a>00319
-<a name="l00340"></a>00340 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> registerResourceInCudaD3D(CUgraphicsResource &amp;resource, <span class="keywordtype">void</span> *resourcePointer, PxCudaInteropRegisterFlags flags = PxCudaInteropRegisterFlags()) = 0;
-<a name="l00341"></a>00341
-<a name="l00349"></a>00349 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> unregisterResourceInCuda(CUgraphicsResource resource) = 0;
-<a name="l00350"></a>00350
-<a name="l00358"></a>00358 <span class="keyword">virtual</span> <span class="keywordtype">int</span> usingDedicatedGPU() <span class="keyword">const</span> = 0;
-<a name="l00359"></a>00359
-<a name="l00375"></a>00375 <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0;
-<a name="l00376"></a>00376
-<a name="l00377"></a>00377 <span class="keyword">protected</span>:
-<a name="l00378"></a>00378
-<a name="l00382"></a>00382 <span class="keyword">virtual</span> ~PxCudaContextManager() {}
-<a name="l00383"></a>00383 };
-<a name="l00384"></a>00384
-<a name="l00388"></a>00388 <span class="keyword">class </span>PxScopedCudaLock
-<a name="l00389"></a>00389 {
-<a name="l00390"></a>00390 <span class="keyword">public</span>:
-<a name="l00394"></a>00394 PxScopedCudaLock(PxCudaContextManager&amp; ctx) : mCtx(&amp;ctx)
-<a name="l00395"></a>00395 {
-<a name="l00396"></a>00396 mCtx-&gt;acquireContext();
-<a name="l00397"></a>00397 }
-<a name="l00398"></a>00398
-<a name="l00402"></a>00402 ~PxScopedCudaLock()
-<a name="l00403"></a>00403 {
-<a name="l00404"></a>00404 mCtx-&gt;releaseContext();
-<a name="l00405"></a>00405 }
-<a name="l00406"></a>00406
-<a name="l00407"></a>00407 <span class="keyword">protected</span>:
-<a name="l00408"></a>00408
-<a name="l00412"></a>00412 PxCudaContextManager* mCtx;
-<a name="l00413"></a>00413 };
-<a name="l00414"></a>00414
-<a name="l00415"></a>00415 } <span class="comment">// end physx namespace</span>
-<a name="l00416"></a>00416
-<a name="l00417"></a>00417 <span class="preprocessor">#endif // PX_SUPPORT_GPU_PHYSX</span>
-<a name="l00418"></a>00418 <span class="preprocessor"></span><span class="preprocessor">#endif // PXCUDACONTEXTMANAGER_PXCUDACONTEXTMANAGER_H</span>
+<a name="l00263"></a>00263 <span class="keyword">virtual</span> <span class="keyword">class </span><a class="code" href="classphysx_1_1PxGpuDispatcher.html" title="A GpuTask dispatcher.">physx::PxGpuDispatcher</a> *getGpuDispatcher() = 0;
+<a name="l00264"></a>00264
+<a name="l00274"></a>00274 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> contextIsValid() <span class="keyword">const</span> = 0;
+<a name="l00275"></a>00275
+<a name="l00276"></a>00276 <span class="comment">/* Query CUDA context and device properties, without acquiring context */</span>
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM10() <span class="keyword">const</span> = 0;
+<a name="l00279"></a>00279 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM11() <span class="keyword">const</span> = 0;
+<a name="l00280"></a>00280 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM12() <span class="keyword">const</span> = 0;
+<a name="l00281"></a>00281 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM13() <span class="keyword">const</span> = 0;
+<a name="l00282"></a>00282 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM20() <span class="keyword">const</span> = 0;
+<a name="l00283"></a>00283 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM30() <span class="keyword">const</span> = 0;
+<a name="l00284"></a>00284 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM35() <span class="keyword">const</span> = 0;
+<a name="l00285"></a>00285 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM50() <span class="keyword">const</span> = 0;
+<a name="l00286"></a>00286 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM52() <span class="keyword">const</span> = 0;
+<a name="l00287"></a>00287 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> supportsArchSM60() <span class="keyword">const</span> = 0;
+<a name="l00288"></a>00288 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isIntegrated() <span class="keyword">const</span> = 0;
+<a name="l00289"></a>00289 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> canMapHostMemory() <span class="keyword">const</span> = 0;
+<a name="l00290"></a>00290 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDriverVersion() <span class="keyword">const</span> = 0;
+<a name="l00291"></a>00291 <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> getDeviceTotalMemBytes() <span class="keyword">const</span> = 0;
+<a name="l00292"></a>00292 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getMultiprocessorCount() <span class="keyword">const</span> = 0;
+<a name="l00293"></a>00293 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getClockRate() <span class="keyword">const</span> = 0;
+<a name="l00294"></a>00294 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getSharedMemPerBlock() <span class="keyword">const</span> = 0;
+<a name="l00295"></a>00295 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getSharedMemPerMultiprocessor() <span class="keyword">const</span> = 0;
+<a name="l00296"></a>00296 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getMaxThreadsPerBlock() <span class="keyword">const</span> = 0;
+<a name="l00297"></a>00297 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *getDeviceName() <span class="keyword">const</span> = 0;
+<a name="l00298"></a>00298 <span class="keyword">virtual</span> CUdevice getDevice() <span class="keyword">const</span> = 0;
+<a name="l00299"></a>00299 <span class="keyword">virtual</span> PxCudaInteropMode::Enum getInteropMode() <span class="keyword">const</span> = 0;
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setUsingConcurrentStreams(<span class="keywordtype">bool</span>) = 0;
+<a name="l00302"></a>00302 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getUsingConcurrentStreams() <span class="keyword">const</span> = 0;
+<a name="l00303"></a>00303 <span class="comment">/* End query methods that don't require context to be acquired */</span>
+<a name="l00304"></a>00304
+<a name="l00325"></a>00325 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> registerResourceInCudaGL(CUgraphicsResource &amp;resource, uint32_t buffer, PxCudaInteropRegisterFlags flags = PxCudaInteropRegisterFlags()) = 0;
+<a name="l00326"></a>00326
+<a name="l00347"></a>00347 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> registerResourceInCudaD3D(CUgraphicsResource &amp;resource, <span class="keywordtype">void</span> *resourcePointer, PxCudaInteropRegisterFlags flags = PxCudaInteropRegisterFlags()) = 0;
+<a name="l00348"></a>00348
+<a name="l00356"></a>00356 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> unregisterResourceInCuda(CUgraphicsResource resource) = 0;
+<a name="l00357"></a>00357
+<a name="l00365"></a>00365 <span class="keyword">virtual</span> <span class="keywordtype">int</span> usingDedicatedGPU() <span class="keyword">const</span> = 0;
+<a name="l00366"></a>00366
+<a name="l00382"></a>00382 <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0;
+<a name="l00383"></a>00383
+<a name="l00384"></a>00384 <span class="keyword">protected</span>:
+<a name="l00385"></a>00385
+<a name="l00389"></a>00389 <span class="keyword">virtual</span> ~PxCudaContextManager() {}
+<a name="l00390"></a>00390 };
+<a name="l00391"></a>00391
+<a name="l00395"></a>00395 <span class="keyword">class </span>PxScopedCudaLock
+<a name="l00396"></a>00396 {
+<a name="l00397"></a>00397 <span class="keyword">public</span>:
+<a name="l00401"></a>00401 PxScopedCudaLock(PxCudaContextManager&amp; ctx) : mCtx(&amp;ctx)
+<a name="l00402"></a>00402 {
+<a name="l00403"></a>00403 mCtx-&gt;acquireContext();
+<a name="l00404"></a>00404 }
+<a name="l00405"></a>00405
+<a name="l00409"></a>00409 ~PxScopedCudaLock()
+<a name="l00410"></a>00410 {
+<a name="l00411"></a>00411 mCtx-&gt;releaseContext();
+<a name="l00412"></a>00412 }
+<a name="l00413"></a>00413
+<a name="l00414"></a>00414 <span class="keyword">protected</span>:
+<a name="l00415"></a>00415
+<a name="l00419"></a>00419 PxCudaContextManager* mCtx;
+<a name="l00420"></a>00420 };
+<a name="l00421"></a>00421
+<a name="l00422"></a>00422 } <span class="comment">// end physx namespace</span>
+<a name="l00423"></a>00423
+<a name="l00424"></a>00424 <span class="preprocessor">#endif // PX_SUPPORT_GPU_PHYSX</span>
+<a name="l00425"></a>00425 <span class="preprocessor"></span><span class="preprocessor">#endif // PXCUDACONTEXTMANAGER_PXCUDACONTEXTMANAGER_H</span>
</pre></div></div>
<hr style="width: 100%; height: 2px;"><br>