41#include <score_plugin_gfx_export.h>
49class QRhiResourceUpdateBatch;
51namespace score::gfx::interop
66SCORE_PLUGIN_GFX_EXPORT
const char*
67hostPinnedBackendName(HostPinnedRingBackend)
noexcept;
85 void* backendOpaque{};
88 bool cudaRegistered{};
102 uint32_t slotCount{2};
103 const char* debugName{
"score-host-pinned-ring"};
150 void destroy()
noexcept;
152 bool valid()
const noexcept;
154 std::size_t slotCount()
const noexcept;
188 void bindCudaDestination(
189 QRhiTexture* dst,
void* cuda_ctx,
void* cuda_array)
noexcept;
204 bool uploadSlotToTexture(std::size_t i, QRhiTexture* dst,
205 QRhiResourceUpdateBatch* batch =
nullptr);
220 bool downloadTextureToSlot(QRhiTexture* src, std::size_t i,
221 QRhiResourceUpdateBatch* batch =
nullptr);
227 bool slotReady(std::size_t i)
const noexcept;
233 void resetSlotReady(std::size_t i)
noexcept;
237 std::size_t writeIndex()
const noexcept;
238 std::size_t advance()
noexcept;
242 std::unique_ptr<Impl> m_impl;
Runtime probe of which GPU interop mechanisms are available on this system.
HostPinnedDirection
Definition HostPinnedRing.hpp:71
HostPinnedRingBackend
Definition HostPinnedRing.hpp:57
Definition HostPinnedRing.hpp:121
Definition GpuCapabilities.hpp:106
Definition HostPinnedRing.cpp:134
Definition HostPinnedRing.hpp:92
VideoPixelFormat format
Definition HostPinnedRing.hpp:98
uint32_t stride
Definition HostPinnedRing.hpp:101
const GpuCapabilities * caps
Definition HostPinnedRing.hpp:94
Definition HostPinnedRing.hpp:81