-
Notifications
You must be signed in to change notification settings - Fork 1
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
Downstream 1.3.286 #27
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Move to one error buffer per command buffer. Code modifications allow to properly log multiple errors in instrumentation/diagnostic shader dispatches. This can lead to a swarm of errors if say all fragments emit errors. To mitigate that, a `kMaxErrorsPerCmd` constant has been introduced. The error buffer itself can hold a maximum of `kErrorRecordCounts`. Having one error buffer per command buffer makes maintaining the mapping between an error record and its corresponding resources (including its origin) a problem. Currently it is solved by storing an resources index in an error record. Instrumentation does not allow the use of push constants to transfer the index to the GPU, a solution that would have been efficient and easier to maintain. Instead, a index buffer is created at device creation time, holding `gpuav::cst::indices_count`indices. The correct index is transmitted to instrumentation/ diagnostic shader dispatches using dynamic offsets in calls to `vkCmdBindDescriptorSets`. Misc: - All descriptor sets/binding indices have now named constants, to make the mapping between CPU code and shaders easier to maintain - Add to change expected errors count in some tests that are now emitting the proper amount of errors.
Also add same test but with one command buffer where invalid commands are registered
State was not restored for shader objects. Also in the test, the render are was one pixel, so only one error would be emitted in the fragment shaders. Now render area spans whole target image.
Unsignal is called immediately after vvl::TlsGuard<QueueXXXCmdState> is constructed, and in that case nothing is added to signaled_ yet. Assert checks that condition. Also Unsignal is always called on the child object (not on the parent signaled_semaphores_). That's why prev_ != null. Assert this too.
This reverts commit 65af80a.
Unsignal is only called on the child object (not on the parent signaled_semaphores_) => prev_ != null. Added assert.
Instead, we also allow MapMemoryInfo::size to be specified
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.