mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-08-04 06:12:04 +00:00
[idd] isolate post-processing by framebuffer slot
Give each in-flight framebuffer a complete post-processing chain and its own COMPUTE recording slot while retaining one physical queue. Claim framebuffer ownership before submitting compute work, and use the frame index for both COMPUTE and COPY recording state. Drain in-flight work before reconfiguring either chain so COPY never references replaced effect resources. Require both chains to contain the same effects, preserve pending damage, and release ownership on every pre-copy failure path.
This commit is contained in:
@@ -280,9 +280,9 @@ ComPtr<ID3D12Resource> CColorTransformEffect::Run(
|
||||
UNREFERENCED_PARAMETER(dirtyRects);
|
||||
UNREFERENCED_PARAMETER(nbDirtyRects);
|
||||
|
||||
// GetComputeSlot waits for the previous submission before Run is called,
|
||||
// so this is the first point where the shared upload buffers are guaranteed
|
||||
// not to be in use by the GPU.
|
||||
// The framebuffer-indexed compute slot waits for this chain's previous
|
||||
// submission before Run is called, so this is the first point where its
|
||||
// upload buffers are guaranteed not to be in use by the GPU.
|
||||
if (m_uploadPending)
|
||||
{
|
||||
if (!Upload(m_constBuffer, &m_consts, sizeof(m_consts)) ||
|
||||
|
||||
Reference in New Issue
Block a user