baldurk
f6babe77fd
Handle depth clipping and depth bounds failure separately
...
* This prevents truly depth-clipped fragments from being wrongly reported as
other failures like backface culling.
2020-07-20 16:07:36 +01:00
baldurk
6a8e7cbbe5
Fix python examples not being up to date with latest API changes
2020-07-20 10:52:59 +01:00
baldurk
8299fb5039
Add some missing D3D12 bitfield stringise cases
2020-07-20 10:50:57 +01:00
baldurk
fb313a0f54
Respect minImageCount from surface capabilities
2020-07-17 17:09:58 +01:00
baldurk
05e2761fb8
Quantise pixel history depth when doing per-fragment comparisons
2020-07-17 16:53:35 +01:00
baldurk
7a885ae9bd
Tweak ISA checks
2020-07-17 16:53:35 +01:00
baldurk
9506d8e465
Make unbound checkerboard full alpha
2020-07-17 16:53:35 +01:00
baldurk
2bc59d1610
Fix mesh checks for extended dynamic state test
2020-07-17 16:53:35 +01:00
baldurk
a46e86f191
Ensure indirect buffer is properly cleared on first run
2020-07-17 16:53:35 +01:00
baldurk
c6ef3f1006
Properly enable indirect count feature on VK1.2
2020-07-17 16:53:35 +01:00
baldurk
76caaba8bb
Avoid use of EXT_direct_state_access in demos
2020-07-17 16:53:35 +01:00
baldurk
7aa3993a51
Add image name to depth/stencil clear draws
2020-07-17 16:53:35 +01:00
baldurk
845710d58a
Fix compile error in demos on linux
2020-07-17 16:53:35 +01:00
baldurk
e8b61fbf30
Serialise name in GL program block binding calls, to remap index
...
* The block index may change between capture and replay, so serialising the
index alone is unstable similar to locations. Program initial states already
serialise by name, but if a capture contains a block binding change mid-frame
this could serialise wrongly.
2020-07-17 16:53:35 +01:00
baldurk
485f7d21fc
Make overlays interact consistently with viewport/scissor
...
* We also add a red/green display to the viewport and scissor overlay to show
pixels that fail the scissor test.
2020-07-17 16:53:34 +01:00
Steve Karolewics
e176fcb9d7
Fix D3D12 debugging with a texture mapped as UAV
...
The row pitch was not initialized, so any ld_uav_typed instructions
would likely return the wrong data.
2020-07-17 10:21:19 +01:00
baldurk
c912ccc3a8
Fix lookup of source var that references an array
2020-07-16 20:45:20 +01:00
baldurk
1316dbc65b
When iterating captures, don't compare outputs that are uninitialised
2020-07-16 20:45:20 +01:00
baldurk
cccbb18bb9
Initialise local variables with 0xcc as well as global scope variables
2020-07-16 20:45:20 +01:00
baldurk
2c2d70c6ad
Fix assert condition being backwards
2020-07-16 20:45:20 +01:00
baldurk
2a1af6d936
Render more context when getting shader output
...
* This prevents issues where implementations may produce different per-sample
results if the sample mask changes. Since we're not doing anything that would
break by writing multiple samples we can keep the original sample mask.
* We also write the quad neighbourhood for similar reasons.
2020-07-16 20:45:20 +01:00
baldurk
7ab794ffb3
Update vulkan pixel history test to exercise recent changes
2020-07-16 20:45:20 +01:00
baldurk
49788f34a1
Add const overload of subresource state lookup by aspect
...
* We also rename these functions to be distinct, since it's too easy for an
aspect bit to be automatically cast to an aspect index.
2020-07-16 20:45:20 +01:00
baldurk
5a9fe05bb7
Sanitise barrier layouts in vulkan pixel history
2020-07-16 20:45:20 +01:00
baldurk
18f4412813
Don't clear out of bounds when doing renderpass clears on non-0 slices
2020-07-16 20:45:20 +01:00
baldurk
5ef45a3576
Apply output mip/slice when selecting a new texture or new drawcall
2020-07-16 20:45:19 +01:00
baldurk
f49c10bcca
Fix tests that got broken by sharing shaders
2020-07-16 20:45:19 +01:00
baldurk
dbce13e434
Explicitly destroy freed descriptor sets in vulkan pixel history
...
* During replay we don't track which descriptor sets come from which pool, so
when re-allocating we get back duplicate handles. For now since the pixel
history is the only place that needs to reset, we track and manually free
there.
2020-07-16 20:45:19 +01:00
baldurk
78aa55681a
Use original renderpass and framebuffer for per-fragment postmod values
2020-07-16 20:45:19 +01:00
baldurk
93ac1654a9
Add more internal markers for debugging vulkan pixel history
2020-07-16 20:45:19 +01:00
baldurk
4d6d949f42
Manually check depth test to get per-fragment pass/fail
2020-07-16 20:45:19 +01:00
baldurk
a8c97a7530
Save the post-modification fragment depth in D3D11 pixel history
2020-07-16 20:39:25 +01:00
baldurk
7b191861e8
Don't remove replacement when capture is closing
...
* There's no need, and this can cause races.
2020-07-16 20:39:25 +01:00
baldurk
498bab80e4
Improve support for multiview case with vulkan pixel history
2020-07-16 20:39:25 +01:00
baldurk
08a3d05e71
Explicitly note which modifications in pixel history are unavailable
2020-07-16 20:39:25 +01:00
Marcin Ślusarz
9042aeab39
Don't hide counters belonging to multiple Intel queries.
...
Many counters are exposed in multiple queries. By hiding that fact,
we are making life harder for users, because they need to find
related counters all around the query tree. Don't do that.
As a side effect this will decrease the number of needed passes if
all selected counters belong to the same query.
2020-07-16 13:38:36 +01:00
baldurk
8f00d3fbd6
Compile fixes
2020-07-16 09:37:25 +01:00
baldurk
ee17cfee65
Use a checkerboard instead of a fixed colour for unbound thumbnails
2020-07-15 17:27:06 +01:00
baldurk
f0e397bb99
Return explicit 0s for invalid derivatives, and add debug message
2020-07-15 17:24:24 +01:00
baldurk
7927ff2e40
Add tests of shaders that don't use GLSL.450 & have 0 stageFlags binds
2020-07-15 15:34:37 +01:00
baldurk
ddba7ef996
Use NaN-friendly behaviour for all mins and maxs in SPIR-V
...
* This matches the explicitly documented behaviour for D3D so it likely matches
what GPUs do, and since SPIR-V leaves it undefined it's OK to do what we want.
This does mean that there might be false negatives of cases where the GPU gets
bad results and the simulation 'works', but this is preferable and less likely
than false positives of the simulation going (legally) wrong when the GPU
result is correct.
2020-07-15 14:49:51 +01:00
baldurk
c3c95ece79
Don't assert that inactive threads are converging
2020-07-15 14:24:44 +01:00
baldurk
e1f90b4b01
Add test that validation layers and extensions can be captured
2020-07-15 14:11:42 +01:00
baldurk
5c57493855
Share common shader source on vulkan
2020-07-15 14:05:20 +01:00
baldurk
67df704f5a
Make sure to properly reset per-command list state so we don't leak
2020-07-15 12:15:07 +01:00
baldurk
f70d397d0e
Don't change unrelated state while doing depth/stencil test overlay
2020-07-15 11:53:34 +01:00
baldurk
2607044691
Fix off-by-one error clamping vertex buffer access
2020-07-15 11:51:14 +01:00
baldurk
152db57598
Default A8 textures to show the alpha channel only
2020-07-15 11:50:56 +01:00
baldurk
b0f4a11b98
Test glBindBuffersBase doesn't crash when passed NULL
2020-07-14 18:00:50 +01:00
baldurk
79e460f3e6
Test that we can change entry point names when editing shaders in vulkan
2020-07-14 17:58:10 +01:00