Skip to content

Copy staging textures to their mapped buffers after every write - #1049

Closed
K0bin wants to merge 3 commits into
doitsujin:masterfrom
K0bin:dxvk-early-staging-copy
Closed

K0bin wants to merge 3 commits into
doitsujin:masterfrom
K0bin:dxvk-early-staging-copy

Conversation

@K0bin

@K0bin K0bin commented May 10, 2019

Copy link
Copy Markdown
Collaborator

GPU access to staging textures is limited to CopySubresourceRegion and CopyResource, so if the texture uses a buffer for mapping we can also copy to that in those methods. This removes the need to sync with the GPU when the texture gets mapped.

There's a caveat: This only works for textures with a single subresource because there's only one mapped buffer.

This improves GPU utilization in The Surge by 20-40% (its >95% now for me). Performance is improved by similar numbers.

@doitsujin doitsujin closed this in 8e9e796 May 17, 2019
@K0bin
K0bin deleted the dxvk-early-staging-copy branch June 2, 2020 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant