Loading...
Searching...
No Matches
RdmaPlayoutProbe.hpp
Go to the documentation of this file.
1#pragma once
2
27#include <score_plugin_gfx_export.h>
28
29#include <cstdint>
30#include <functional>
31
32namespace score::gfx::interop
33{
34
53
57{
58 std::function<bool(void* gpuDst, const void* hostSrc, std::uint32_t bytes)>
59 seedGpu;
60};
61
64inline constexpr std::uint32_t rdmaPlayoutProbeMaxBytes = 64u * 1024u;
65
69SCORE_PLUGIN_GFX_EXPORT
70unsigned char rdmaPlayoutProbeByte(std::uint32_t index) noexcept;
71
73SCORE_PLUGIN_GFX_EXPORT
74RdmaPlayoutProbeResult rdmaProbePlayoutPath(
75 void* pinnedGpuPtr, std::uint32_t frameByteSize,
76 const VendorDmaRegistrar& registrar, const RdmaPlayoutProbeIo& io) noexcept;
77
79SCORE_PLUGIN_GFX_EXPORT
80bool rdmaPlayoutProbeEngages(RdmaPlayoutProbeResult r) noexcept;
81
82SCORE_PLUGIN_GFX_EXPORT
83const char* rdmaPlayoutProbeMessage(RdmaPlayoutProbeResult r) noexcept;
84
85} // namespace score::gfx::interop
constexpr std::uint32_t rdmaPlayoutProbeMaxBytes
Definition RdmaPlayoutProbe.hpp:64
RdmaPlayoutProbeResult
Definition RdmaPlayoutProbe.hpp:36
@ ReadbackFailed
readbackTransfer returned false.
@ SeedFailed
The pattern could not be written into the pinned GPU buffer.
@ NoProbe
The vendor supplied no verifyTransfer at all — nothing was probed.
@ ContentMismatch
The peer returned bytes that are not the ones it was given.
@ Delivered
Pushed and read back byte-identical: the peer really reads GPU memory.
@ TransferFailed
verifyTransfer returned false.
Vendor-supplied pin / unpin callbacks shared by the GPU-direct and host-staged output helpers.
Definition RdmaPlayoutProbe.hpp:57
Definition VendorDmaRegistrar.hpp:41