Commit Graph

10203 Commits

Author SHA1 Message Date
Steve Karolewics dfbe7fb6bf Remove primitive ID usage from pixel shader debugging when invalid
SV_PrimitiveID is only valid as a pixel shader input if there's either
no geometry shader, or the geometry shader emits SV_PrimitiveID. With
D3D11, the debug layer will complain but rendering will proceed. With
D3D12, the PSO fails to compile. For both APIs, pixel shader debugging
now checks whether this is true, and disables its usage if it isn't.
Added tests for various valid scenarios with SV_PrimitiveID.
2020-02-20 19:06:22 +00:00
baldurk 6f1818e91c Completely disable buggy Rivatuner layer 2020-02-19 21:55:35 +00:00
baldurk 083aeb063a Don't add drawcalls for glCopyBufferSubData from before frame capture 2020-02-19 21:03:51 +00:00
baldurk 1e8c24fa56 Remove debug print 2020-02-19 11:33:51 +00:00
baldurk 579b1893c7 Make sure out-of-order resume replies are processed in JDWP 2020-02-18 23:49:26 +00:00
baldurk 454d03a28e Fix tautological compare 2020-02-18 20:47:57 +00:00
baldurk e7d1d5a3a1 Fix bad index in comparison 2020-02-18 19:34:49 +00:00
baldurk b377d70b1d Add helper function to compare resource/sampler operands by identifier 2020-02-18 19:18:51 +00:00
baldurk 83d77ea543 Improve formatting of Iter_Test output 2020-02-18 19:18:51 +00:00
baldurk f2c401a255 Check that all states are present before allowing any stepping 2020-02-18 19:18:51 +00:00
baldurk 21b7168d5c Use pixel size not point size for global font scaling 2020-02-18 19:18:51 +00:00
baldurk 295d3958dd Refactor D3D11 pixel history to use buffer output instead of texture
* This removes the requirement that the colour output format be UAV-compatible.
* It also makes addressing simpler and removes the requirement for
2020-02-18 19:18:51 +00:00
baldurk 90d0f747fe Delete GPUPerfAPI table if GPA_GetFuncTable fails 2020-02-18 19:18:51 +00:00
baldurk d7c728fcad Add more error logging when GCN DXBC ISA generation fails 2020-02-18 19:18:51 +00:00
Steve Karolewics 905aacafd0 Migrate DebugAPIWrapper resource info functions to binding slots
With SM5.1, the operand for instructions like resinfo provide two
indices - the logical identifier and the shader register. Lookup the
identifier to convert to binding slot.
2020-02-18 19:18:31 +00:00
baldurk 12844b9213 Add support for VK_KHR_shader_non_semantic_info 2020-02-17 15:19:45 +00:00
baldurk 7dd38b49d7 Update vulkan headers to 1.2.133, SPIR-V metadata to latest 2020-02-17 15:17:52 +00:00
baldurk dd87b9c48a Handle out-of-order JDWP reply packets when resuming 2020-02-17 15:11:51 +00:00
baldurk 7303c54870 Set quality to 0 when making array equivalent of MSAA texture 2020-02-15 00:33:06 +00:00
baldurk f7cb742a4c Display capture file size in capture connection window. Closes #1723 2020-02-14 19:31:59 +00:00
baldurk 4241e0ec55 Batch up calls to GetBuffers/Textures to be more replay proxy friendly 2020-02-14 19:31:59 +00:00
Steve Karolewics 58b1186362 Fix resource bindings when reflection info is stripped
The logical identifiers, rather than shader registers, were used to
populate reflection info, causing the wrong slots in large descriptor
tables to be referenced for the pipeline state.
2020-02-14 10:39:28 +00:00
baldurk 5977c2ef37 Fix compilation 2020-02-13 12:45:51 +00:00
baldurk 7d4685fc17 Fix exception catch-and-rethrow in extension BlockInvoke. Closes #1721 2020-02-13 11:01:45 +00:00
baldurk 5e6ec417c1 Add a global font scale option in settings window
* This lets the user override the default application font.
* Unfortunately Qt seems to behave inconsistently with font scaling from the
  system, so we take the font size initially from QApplication::font() (which
  doesn't always pick up the font size) and scale from there. While this might
  cause some font scaling to be lost it does mean at least we have a consistent
  scale, as otherwise you get some text scaling and others not.
2020-02-13 11:01:45 +00:00
baldurk ce96d120a4 Fix loop condition in diverging workgroup debug 2020-02-13 11:01:45 +00:00
baldurk baa058a7e8 Add some safety checks of edge case problems 2020-02-13 11:01:45 +00:00
baldurk 56cfd25849 Fix check for EXT_buffer_device_address 2020-02-13 11:01:45 +00:00
baldurk 69a82202e5 Remove redundant/tautological checks 2020-02-13 11:01:45 +00:00
baldurk 9c091cf791 Fix memory leak in error case 2020-02-13 11:01:44 +00:00
Steve Karolewics dd69f8642a Add APIProperties for debugging and pixel history
Checks to enable debugging and pixel history are gated by the
APIProperties instead of whether the capture is D3D11. Shader
debugging for D3D12 is gated on a config option, which can be enabled
by adding "d3d12ShaderDebugging": "true" to the ConfigSettings
2020-02-12 21:58:33 +00:00
baldurk 7076e9d451 Fix handling of awful EXT_debug_marker/KHR_debug inconsistency 2020-02-11 18:15:33 +00:00
baldurk 06570ea7ad Remove backbuffer comparisons from test suite, simplify default triangle
* It's not particularly scalable and can be brittle to driver changes, and we
  can use targeted specific pixel tests to check what we really want - to see if
  the output has rendered correctly.
* Overlay tests still check files directly - this is a future refactor to
  remove.
2020-02-11 17:11:33 +00:00
baldurk f121b05fda Fix check for depth in MSAA <-> Array copies 2020-02-11 17:11:32 +00:00
baldurk 3e7273121f Fix numRows calculation in D3D12 texture zoo 2020-02-11 17:11:32 +00:00
baldurk a70be5bd98 Add missing sync in D3D12_Parameter_Zoo test 2020-02-11 17:11:32 +00:00
baldurk 76a88cc7a3 Add test of D3D12 render passes 2020-02-11 17:11:32 +00:00
baldurk 1a088db6ff Don't try to clear block/YUV textures for vulkan initial states 2020-02-11 17:11:09 +00:00
Steve Karolewics e154470fe9 Fix constant buffer array debugging with reflection info stripped 2020-02-11 17:10:57 +00:00
Steve Karolewics 671add4035 Fix shader debugging and pipeline viewer with constant buffer arrays
With SM5.1 and D3D12, constant buffer arrays can be declared which
are treated as an array of resources on the shader side, and a simple
collection of descriptors on the D3D12 side. DXBCDebug::GlobalState
handles the bridge between these by storing each array resource as a
nested ShaderVariable struct. Accessing the data for instructions
traverses the structure similarly. The shader viewer handles nested
resources and displays them in the appropriate tree view. In the
pipeline viewer, descriptors for CB arrays now indicate the array
index and correctly handle buffer offsets for viewing.
2020-02-11 17:10:57 +00:00
Steve Karolewics 392d362ee8 Add a D3D12 test to exercise various resource mapping scenarios 2020-02-11 17:10:57 +00:00
Steve Karolewics ad69e791ad Add CBV support to D3D12ViewCreator 2020-02-11 17:10:57 +00:00
baldurk fe30fa91fb Fix python binding consistency with wrong naming scheme 2020-02-06 19:10:43 +00:00
baldurk 40f4879496 Make debug pixel comparison epsilon slightly more forgiving 2020-02-06 17:58:42 +00:00
baldurk 1b29d0d69c Respect interpolation modes on PS inputs when gathering debug data 2020-02-06 17:58:42 +00:00
baldurk 511f82d897 Don't try to pixel debug for verifying depth output 2020-02-06 17:58:42 +00:00
baldurk 9436dbf8c3 Fix sampling program source for ld_ms sampling 2020-02-06 17:58:42 +00:00
baldurk c2e180ea28 Skip pixel debugging comparison in Iter_Test when writes are masked out 2020-02-06 17:58:42 +00:00
baldurk e012c82168 Update tests to use new interfaces 2020-02-06 17:58:42 +00:00
baldurk 95ef40fe7c Add builtin to SourceVariableMapping 2020-02-06 17:58:42 +00:00