Blender  V3.3
GHOST_XrSwapchain.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #pragma once
8 
9 #include <memory>
10 
11 struct OpenXRSwapchainData;
12 
14  public:
16  const XrSession &session,
17  const XrViewConfigurationView &view_config);
20 
21  XrSwapchainImageBaseHeader *acquireDrawableSwapchainImage();
22  void releaseImage();
23 
24  void updateCompositionLayerProjectViewSubImage(XrSwapchainSubImage &r_sub_image);
25 
26  GHOST_TXrSwapchainFormat getFormat() const;
27  bool isBufferSRGB() const;
28 
29  private:
30  std::unique_ptr<OpenXRSwapchainData> m_oxr; /* Could use stack, but PImpl is preferable. */
31  int32_t m_image_width, m_image_height;
32  GHOST_TXrSwapchainFormat m_format;
33  bool m_is_srgb_buffer = false;
34 };
GHOST_XrSwapchain(GHOST_IXrGraphicsBinding &gpu_binding, const XrSession &session, const XrViewConfigurationView &view_config)
GHOST_TXrSwapchainFormat getFormat() const
void updateCompositionLayerProjectViewSubImage(XrSwapchainSubImage &r_sub_image)
XrSwapchainImageBaseHeader * acquireDrawableSwapchainImage()
signed int int32_t
Definition: stdint.h:77