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

vk: Workaround for NVIDIA occlusion query failure #7216

Merged
merged 1 commit into from
Jan 8, 2020

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Jan 8, 2020

Asking for partial results is borked on NVIDIA drivers; this is a spec violation:

If VK_QUERY_RESULT_PARTIAL_BIT is set, VK_QUERY_RESULT_WAIT_BIT is not set, and the query’s status is unavailable, an intermediate result value between zero and the final result value is written to pData for that query.

However, the value written to the result is non-zero for a fully occluded object, breaking the fast result logic which assumes results are accumulating if a non-zero result is returned.
This works around the issue by not using partial results on all nvidia drivers.

- When using partial results on NVIDIA, a non-zero result is returned even when the draw is fully occluded.
  This, I believe, violates spec which says the partial result shall be between 0 and the final result.
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.

None yet

1 participant