Loading...
Searching...
No Matches
contextArena.h
1//
2// Copyright 2020 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_HGIGL_CONTEXT_ARENA_H
8#define PXR_IMAGING_HGIGL_CONTEXT_ARENA_H
9
10#include "pxr/pxr.h"
11#include "pxr/imaging/hgi/handle.h"
12#include "pxr/imaging/hgiGL/api.h"
13
14#include <ostream>
15#include <memory>
16
17PXR_NAMESPACE_OPEN_SCOPE
18
20
30{
31public:
32 HGIGL_API
34
35private:
36 friend class HgiGL;
37 friend class HgiGLDevice;
38
39 HGIGL_API
41
43 uint32_t _AcquireFramebuffer(
44 HgiGraphicsCmdsDesc const& desc,
45 bool resolved = false);
46
47 void _GarbageCollect();
48
49 HgiGLContextArena & operator=(const HgiGLContextArena&) = delete;
50 HgiGLContextArena(const HgiGLContextArena&) = delete;
51
52 friend std::ostream& operator<<(
53 std::ostream& out,
54 const HgiGLContextArena& arena);
55
56 // Implementation detail.
57 class _FramebufferCache;
58 std::unique_ptr<_FramebufferCache> _framebufferCache;
59};
60
62
63PXR_NAMESPACE_CLOSE_SCOPE
64
65#endif
Represents an arena for the HgiGL instance to manage container object resources that are tied to the ...
Definition: contextArena.h:30
OpenGL implementation of GPU device.
Definition: device.h:29
OpenGL implementation of the Hydra Graphics Interface.
Definition: hgi.h:55
Handle that contains a hgi object and unique id.
Definition: handle.h:33
Describes the properties to begin a HgiGraphicsCmds.