Loading...
Searching...
No Matches
BorrowedHostImportCapture.hpp
Go to the documentation of this file.
Backend-neutral plumbing shared by GPU-direct video CAPTURE strategies (no graphics-API headers).
Zero-copy CPU->GPU upload on D3D12, the counterpart of VkHostImportUpload.
Vendor-neutral interface for GPU-direct video CAPTURE strategies.
Zero-copy CPU->GPU upload on Vulkan via VK_EXT_external_memory_host.
bool copyToTexture(QRhiCommandBuffer &cb, QRhiTexture &tex, std::size_t slot, int width, int height, std::size_t srcOffset=0) noexcept
Definition D3D12HostImportUpload.cpp:274
static std::size_t requiredAlignment(QRhi &rhi) noexcept
Definition D3D12HostImportUpload.cpp:261
bool init(QRhi &rhi, const std::vector< void * > &slots, std::size_t bytes, std::size_t rowPitch)
Definition D3D12HostImportUpload.cpp:269
bool init(QRhi &rhi, const std::vector< void * > &slots, std::size_t bytes)
Definition VkHostImportUpload.cpp:469
bool copyToTexture(QRhiCommandBuffer &cb, QRhiTexture &tex, std::size_t slot, int width, int height, std::size_t srcOffset=0, std::size_t rowPitchBytes=0) noexcept
Definition VkHostImportUpload.cpp:474
static std::size_t requiredAlignment(QRhi &rhi) noexcept
Definition VkHostImportUpload.cpp:464
Definition BorrowedHostImportCapture.hpp:67
One producer-owned frame buffer.
Definition BorrowedHostImportCapture.hpp:57
std::uint32_t planeCount
Definition BorrowedHostImportCapture.hpp:65
Definition BorrowedHostImportCapture.hpp:74
void * slotBuffer(std::size_t i) const noexcept override
Definition BorrowedHostImportCapture.hpp:210
std::size_t slotCount() const noexcept override
Definition BorrowedHostImportCapture.hpp:208
bool ingestFrame(std::size_t i) override
Producer thread. Slot i becomes render-owned.
Definition BorrowedHostImportCapture.hpp:216
std::uint32_t takeReturnedSlots() noexcept
Definition BorrowedHostImportCapture.hpp:226
void acquireForRender(QRhiResourceUpdateBatch &res) override
Definition BorrowedHostImportCapture.hpp:231
const char * name() const noexcept override
Definition BorrowedHostImportCapture.hpp:82
void acquireForRender(QRhiResourceUpdateBatch &, QRhiCommandBuffer *cb) override
Definition BorrowedHostImportCapture.hpp:236
QRhiTexture * outputTexture() const noexcept override
Definition BorrowedHostImportCapture.hpp:228
void acquireForRender() override
Definition BorrowedHostImportCapture.hpp:230
int ingest(std::size_t i) noexcept
Definition CaptureStrategyCommon.hpp:83
std::uint32_t takeReturned() noexcept
Producer thread. Bitmask of slots the renderer has finished with.
Definition CaptureStrategyCommon.hpp:122
int acquire() noexcept
Render thread. The slot to bind now, or -1 when nothing is pending.
Definition CaptureStrategyCommon.hpp:95
std::size_t retireDepth
framesInFlight + 1, from QRhi::resourceLimit(QRhi::FramesInFlight).
Definition CaptureStrategyCommon.hpp:79
Definition VideoCaptureStrategy.hpp:43
std::vector< QRhiTexture * > planes
Definition VideoCaptureStrategy.hpp:71
QRhiTexture * outputTexture
Definition VideoCaptureStrategy.hpp:62
std::uint32_t frameByteSize
Definition VideoCaptureStrategy.hpp:49
Per-graphics-API strategy for getting a captured video frame into a GPU QRhiTexture without CPU stagi...
Definition VideoCaptureStrategy.hpp:84