You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: include/cinder/Camera.h
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -224,6 +224,8 @@ class CI_API CameraPersp : public Camera {
224
224
//! Returns a Camera whose eyePoint is positioned to exactly frame \a worldSpaceSphere but is equivalent in other parameters (including orientation). Sets the result's pivotDistance to be the distance to \a worldSpaceSphere's center.
Copy file name to clipboardExpand all lines: include/cinder/app/RendererGl.h
+18Lines changed: 18 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -78,6 +78,8 @@ class CI_API RendererGl : public Renderer {
78
78
mDebugContext = false;
79
79
mDebugLogSeverity = 0;
80
80
mDebugBreakSeverity = 0;
81
+
mNvidiaMGpuEnabled = false;
82
+
mNvidiaMGpuMode = NvidiaMGpuMode::SINGLE;
81
83
#endif
82
84
mObjectTracking = false;
83
85
mStencil = false;
@@ -101,6 +103,8 @@ class CI_API RendererGl : public Renderer {
101
103
intgetMsaa() const { return mMsaaSamples; }
102
104
103
105
#if ! defined( CINDER_GL_ES )
106
+
enum class NvidiaMGpuMode { SINGLE, AFR, MULTICAST, MULTI_DISPLAY_MULTICAST };
107
+
104
108
//! Enables a debug context (per \c ARB_debug_output). Currently only implemented by MSW and Linux GL implementations. By default this is made \c GL_DEBUG_OUTPUT_SYNCHRONOUS
explicitDevice( GLuint index ) : mIndex{ index }, mMask{ 1u << index } { }
20
+
virtual~Device() { }
21
+
Device( const Device& other ) = default;
22
+
Device( Device&& other ) = default;
23
+
Device& operator=( const Device& other ) = default;
24
+
Device& operator=( Device&& other ) = default;
25
+
26
+
GLuint getIndex() const;
27
+
GLbitfield getMask() const;
28
+
protected:
29
+
GLuint mIndex;
30
+
GLbitfield mMask;
31
+
};
32
+
33
+
classContext {
34
+
public:
35
+
static Context& instance();
36
+
boolisEnabled() const;
37
+
const std::vector<Device>& getDevices() const;
38
+
GLbitfield getMaskAll() const;
39
+
private:
40
+
Context();
41
+
42
+
std::vector<Device> mLinkedDevices;
43
+
GLbitfield mMaskAll;
44
+
};
45
+
46
+
boolisEnabled();
47
+
48
+
const std::vector<Device>& getDevices();
49
+
50
+
//! Note: If a function restricted by UploadGpuMaskNVX operates on textures or buffer objects with GPU-shared storage type (as opposed to per-GPU storage ), UPLOAD_GPU_MASK_NVX is ignored.
51
+
voidenableUploadMask( const Device& device );
52
+
voidenableUploadMask( GLbitfield mask );
53
+
voiddisableUploadMask();
54
+
55
+
voidenableRenderMask( const Device& device );
56
+
voidenableRenderMask( GLbitfield mask );
57
+
voiddisableRenderMask();
58
+
59
+
//! Signal other device to wait for this GPU to finish its work.
0 commit comments