8 #ifndef hifi_gpu_ResourceSwapChain_h
9 #define hifi_gpu_ResourceSwapChain_h
44 typedef std::shared_ptr<SwapChain> SwapChainPointer;
57 using TypePointer = std::shared_ptr<R>;
58 using TypeConstPointer = std::shared_ptr<const R>;
64 for (
size_t i = 0; i <
_size; ++i) {
75 const TypePointer&
get(
unsigned int index)
const {
return _resources[(index +
_frontIndex) %
_size]; }
80 std::array<TypePointer, MAX_SIZE> _resources;
Definition: ResourceSwapChain.h:49
ResourceSwapChain(const std::vector< TypePointer > &v)
Definition: ResourceSwapChain.h:63
const TypePointer & get(unsigned int index) const
Definition: ResourceSwapChain.h:75
Base class for swapchains.
Definition: ResourceSwapChain.h:16
uint8_t _frontIndex
Index of the current object in the circular buffer.
Definition: ResourceSwapChain.h:41
void advance()
Definition: ResourceSwapChain.h:27
uint8_t getSize() const
Definition: ResourceSwapChain.h:34
SwapChain(uint8_t size=2U)
Definition: ResourceSwapChain.h:21
const uint8_t _size
Number of objects stored in the swapchain.
Definition: ResourceSwapChain.h:38