Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dxvk] Periodically flush handles for long-running queries #3273

Closed
wants to merge 1 commit into from
Closed

[dxvk] Periodically flush handles for long-running queries #3273

wants to merge 1 commit into from

Commits on Mar 2, 2023

  1. [dxvk] Periodically flush handles for long-running queries

    Some apps (e.g. Halo: MCC) misuse D3D11 queries: they'll Begin(...) a
    query, and then only afterward decide that they don't actually want
    the results, returning the query object back to the engine's internal
    query pool without first calling End(...). The query thus continues
    to remain active until the engine decides to allocate the query for
    another purpose... if it ever does.
    
    While this is misuse of the D3D API and is definitely a bug in the
    app, DXVK ought to tolerate this situation at least as well as D3D
    itself apparently does. This change will try to free up Vulkan query
    handles if they're in the available state, tracking their totals on
    the DxvkGpuQuery object itself instead.
    
    As a bonus, this change should also reduce the CPU time consumed by
    repeated GetData(...) calls, since it avoids redundantly summing
    query handle results.
    CFSworks committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    bc1c4ee View commit details
    Browse the repository at this point in the history