Loading...
Searching...
No Matches
glPlatformDebugContext.h
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_IMAGING_GARCH_GL_PLATFORM_DEBUG_CONTEXT_H
8#define PXR_IMAGING_GARCH_GL_PLATFORM_DEBUG_CONTEXT_H
9
10#include "pxr/pxr.h"
11#include "pxr/imaging/garch/api.h"
14
15#include <memory>
16
17PXR_NAMESPACE_OPEN_SCOPE
18
19
20class GarchGLPlatformDebugContextPrivate;
21
23
29public:
30
31 static GarchGLPlatformDebugContextRefPtr
32 New(int majorVersion, int minorVersion, bool coreProfile,
33 bool directRenderering) {
34 return TfCreateRefPtr(
36 majorVersion, minorVersion, coreProfile, directRenderering));
37 }
38
40
41 GARCH_API
42 static bool IsEnabledDebugOutput();
43
44 GARCH_API
45 static bool IsEnabledCoreProfile();
46
47 GARCH_API
48 void makeCurrent();
49
50 GARCH_API
51 void *chooseMacVisual();
52
53public:
54 std::unique_ptr<GarchGLPlatformDebugContextPrivate> _private;
55 bool _coreProfile;
56
57protected:
58 GARCH_API
59 GarchGLPlatformDebugContext(int majorVersion,
60 int minorVersion,
61 bool coreProfile,
62 bool directRenderering);
63
64};
65
66
67PXR_NAMESPACE_CLOSE_SCOPE
68
69#endif // PXR_IMAGING_GARCH_GL_PLATFORM_DEBUG_CONTEXT_H
Platform specific context (e.g.
Enable a concrete base class for use with TfRefPtr.
Definition: refBase.h:56
Enable a concrete base class for use with TfWeakPtr.
Definition: weakBase.h:124
Standard pointer typedefs.
#define TF_DECLARE_WEAK_AND_REF_PTRS(type)
Define standard weak, ref, and vector pointer types.
Definition: declarePtrs.h:72