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
17
PXR_NAMESPACE_OPEN_SCOPE
18
19
struct
HgiGraphicsCmdsDesc
;
20
29
class
HgiGLContextArena
final
30
{
31
public
:
32
HGIGL_API
33
~HgiGLContextArena
();
34
35
private
:
36
friend
class
HgiGL
;
37
friend
class
HgiGLDevice
;
38
39
HGIGL_API
40
HgiGLContextArena
();
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
61
using
HgiGLContextArenaHandle
=
HgiHandle<HgiGLContextArena>
;
62
63
PXR_NAMESPACE_CLOSE_SCOPE
64
65
#endif
HgiGLContextArena
Represents an arena for the HgiGL instance to manage container object resources that are tied to the ...
Definition:
contextArena.h:30
HgiGLDevice
OpenGL implementation of GPU device.
Definition:
device.h:29
HgiGL
OpenGL implementation of the Hydra Graphics Interface.
Definition:
hgi.h:55
HgiHandle
Handle that contains a hgi object and unique id.
Definition:
handle.h:33
pxr.h
HgiGraphicsCmdsDesc
Describes the properties to begin a HgiGraphicsCmds.
Definition:
graphicsCmdsDesc.h:45
pxr
imaging
hgiGL
contextArena.h
© Copyright 2025, Pixar Animation Studios. |
Terms of Use
| Generated on Thu Oct 23 2025 15:48:44 by
1.9.6