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

Update Vulkan-Headers to 1.3.271 #816

Merged
merged 3 commits into from
Nov 28, 2023
Merged

Update Vulkan-Headers to 1.3.271 #816

merged 3 commits into from
Nov 28, 2023

Conversation

MarijnS95
Copy link
Collaborator

@MarijnS95 MarijnS95 commented Nov 10, 2023

@MarijnS95 MarijnS95 changed the title Update Vulkan-Headers to 1.3.270 Update Vulkan-Headers to 1.3.271 Nov 27, 2023
Upon request the VK_NV_low_latency2 spec and API has been updated to move
the count pointer from the `vkGetLatencyTimingsNV()` function to
the `vkGetLatencyMarkerInfoNV` struct where the array pointer already
resided.

This got uncovered when it was realized that the `latency_marker_info`
argument isn't an array at all (which the original design of this
extension suggested), but a pointer to a single struct that _contains_
a pointer to an array, with the length passed as a separate argument to
the function instead.

The move of this count argument to a struct field - together with proper
array length annotations - gets our generator to automatically emit a
setter based on a slice argument.
Comment on lines +51896 to +51898
pub fn timings(mut self, timings: &'a mut [LatencyTimingsFrameReportNV<'a>]) -> Self {
self.timing_count = timings.len() as _;
self.p_timings = timings.as_mut_ptr();
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that the lifetime here makes the function useless, and we have to solve that in some way before merging this.

More context: #815 (comment)

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.

Wrapper get_latency_timings of VK_NV_low_latency2 is incorrect
2 participants