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
20class FramebufferCacheItem;
21
31{
32public:
33 HGIGL_API
35
36 void InvalidateCacheItem(std::shared_ptr<FramebufferCacheItem>& item);
37
38private:
39 friend class HgiGL;
40 friend class HgiGLDevice;
41
42 HGIGL_API
44
46 uint32_t _AcquireFramebuffer(
47 HgiGraphicsCmdsDesc const& desc,
48 bool resolved = false);
49
50 HgiGLContextArena & operator=(const HgiGLContextArena&) = delete;
51 HgiGLContextArena(const HgiGLContextArena&) = delete;
52
53 friend std::ostream& operator<<(
54 std::ostream& out,
55 const HgiGLContextArena& arena);
56
57 // Implementation detail.
58 class _FramebufferCache;
59 std::unique_ptr<_FramebufferCache> _framebufferCache;
60};
61
63
64PXR_NAMESPACE_CLOSE_SCOPE
65
66#endif
Represents an arena for the HgiGL instance to manage container object resources that are tied to the ...
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
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
Output a GfBBox3d using the format [(range) matrix zeroArea].
Describes the properties to begin a HgiGraphicsCmds.