* This includes:
- Incorrect comparisons
- Missing type annotations where it can't be inferred
- Variable shadowing and bad use
- Unused imports
- asserts for non-None on types
* Passes clean on strict pyright checking except for
`reportMissingParameterType`, `reportUnusedVariable`, and
`reportOptionalMemberAccess` which are all too spammy and low value to be
worth addressing.
* These come from long ago when using PyCharm with not as good type checking and
with renderdoc module stubs that were incomplete so needed help identifying
types.
* assert is handled specially by the type checker so we don't want to have
duplicate self.check / assert
* The original reason for TestCase.check was to print the assertion message but
this can be handled by checking for the AssertionError exception
- loose event annotation
- a barrier at end of command buffer
- at end of command buffer attached to vkEndCommandBuffer
- command buffer with no actions, just set marker
- annotations before/during/after vkCmdDrawIndirectCount calls
Check ALL overlays on ALL EIDs don't crash
Add some IndirectCount draws to VK_Indirect for testing overlays
Check overlays produce output and pixel history is not empty for each non-empty draw
Check overlays produce expected output for empty draws i.e. empty except for *Pass overlay modes
Check Quad Overdraw and Triangle Size overlays outputs match when comparing the Pass and Draw versions
- add test for vkCmdDrawIndirect with zero count
- add test for vkCmdDrawIndexedIndirect with zero count
- add tests for vkCmdDrawMeshTasksEXT
- add tests for vkCmdDrawMeshTasksIndirectEXT
- add tests for vkCmdDrawMeshTasksIndirectCountEXT
- Bind the same resource as the Indirect Buffer and the Index Buffer
- Defines the resource usage when an indirect command binds the same resource for multiple usags i.e. Indirect + Index Buffer
- Descriptor buffer contents set by earlier command buffer than usage in a single submit
- Verifies the resource usage submit replay is correct (one command buffer at a time)
Execute multiple secondary command buffers at once
Test loose events (barriers) on nested secondary command buffer, secondary command buffer which is submitted multiple times and a command buffer which is submitted multiple times
Submit the same command buffer multiple times
* This would generally only come up with gl_PerVertex, and was hidden before
because gl_Position is the first member. It likely would also reproduce if a
user had a struct output from the mesh shader.
Tests specifically aimed at workgroup debugging i.e GSM and non-aligned subgroups
Not focused on unit tests of subgroup/quad instructions that is handled by *_Subgroup_Zoo