Commit Graph

9633 Commits

Author SHA1 Message Date
Steve Karolewics 9cb2f1d0f5 Prevent overflow in gathering D3D12 descriptor counts 2019-11-07 11:01:57 +00:00
mweber 2b7753af67 Implemented PerformanceCounterViewer::OnEventChanged handling
Implemented PerformanceCounterViewer::OnEventChanged to handle global event changes.
Behaviour can be toggled on/off via a new 'Sync Views' button similar to the Mesh Viewer; the default is off.
2019-11-06 17:52:00 +00:00
Steve Karolewics fa232b7f14 Move some shader debug functions to a shared location.
In early testing with D3D12 shader debugging, these functions did
not require any differences from the D3D11 versions. Moving them to
a common location to avoid some code duplication.
2019-11-06 09:10:51 +00:00
baldurk 67d73af8c8 Fix capture and replay of D3D12 render passes. Closes #1574 2019-11-04 12:58:40 +00:00
Steve Karolewics df104e2062 Add file and function declarations for D3D12 debugging. 2019-11-04 10:53:39 +00:00
baldurk 9a5c4531e9 Explicitly document what capturing frame 0 means. 2019-11-01 11:31:25 +00:00
baldurk 84152a74bf Tweak issue template and documentation
* Primarily to make sure that it is very clear using the template is expected.
2019-11-01 11:18:24 +00:00
baldurk ad8a23e9c3 Handle backbuffers in GL that are 0 width or height. Closes #1571 2019-11-01 10:58:54 +00:00
Aliya Pazylbekova 36c7d6d623 Vk pixel history: Add stencil and event flags 2019-10-30 08:28:57 +00:00
baldurk 86c2352a37 Fix a few issues with 1D array textures on GL 2019-10-29 18:08:34 +00:00
baldurk 48c98a3dc1 Add debug-time options for debugging the remote server 2019-10-29 18:08:34 +00:00
baldurk 14bc99947c Add a debug-only mode to log everything going through a serialiser
* We also allow structured export on write, again in debug builds only
2019-10-29 18:08:33 +00:00
baldurk 253194c9a1 Support using atomic-append logging for multiple file outputs
* The primary user is the main logfile itself, but it's useful for debugging
  purposes to be able to log to a file and still open it externally in a viewer
  without having the logging code take exclusive access to it.
2019-10-29 18:08:33 +00:00
baldurk 99934e799a Make sure to bounds check static instanced vertex data for debugging 2019-10-29 16:37:36 +00:00
baldurk a8baf4fa49 Fix compile error 2019-10-28 19:25:02 +00:00
baldurk 6a39e4d6f8 Fix deletion of image viewer's IReplayDriver 2019-10-28 18:57:52 +00:00
baldurk 3674e5a494 Add guidance on filing good issues, and update issue template
* Issues not following the template will be closed. It is too much of a drain on
  project resources to deal with bug reports that are not well formatted and
  unclear. The template is easy to fill out and does not ask much.
2019-10-28 18:00:25 +00:00
baldurk 038028f4ba Use integer copy for MSAA<->array when texture is typeless
* Copying as floats may not be safe as subnormal values will get flushed.
2019-10-28 16:16:28 +00:00
baldurk b9fbdc0ff0 Add explicit error for legacy CxV8U8 texture format 2019-10-28 12:04:05 +00:00
baldurk 0fe6be3ac6 Support YUY2/UYVY formats in DDS files
* These can only be supported if the proxy texture can be created
2019-10-28 12:03:50 +00:00
baldurk ec29e92abf Add support for old D32F_LOCKABLE format 2019-10-28 11:27:55 +00:00
baldurk 15c0244fd4 Add support for DXT2 / DXT4 aliases of DXT3 (BC2) and DXT5 (BC3)
* The only difference in these is whether or not pre-multiplied alpha is assumed
  to be used, and that doesn't change the actual data - only the interpretation.
2019-10-28 11:23:37 +00:00
baldurk b6c9b6298f Only read pImmutableSamplers pointer for sampler descriptors 2019-10-28 11:17:54 +00:00
baldurk 938d8f63f5 Add missing check for DXGI_FORMAT_B8G8R8X8_UNORM 2019-10-25 18:29:30 +01:00
baldurk 273a87e606 Fix calculation of array byte stride for structs with padding in DXBC
* Instead of summing the members offsets, we set it to the offset of the last
  member plus the last member's size.
2019-10-25 18:29:30 +01:00
baldurk a452c7f4c8 If sync primitive queries are called in a loop don't serialise each call 2019-10-25 18:29:30 +01:00
baldurk c40c97558a Add helper to set wide-string name on objects 2019-10-25 18:29:30 +01:00
baldurk 85b7f88737 Don't throw an error when specifying unused view parameters 2019-10-25 18:29:30 +01:00
baldurk 6aec6b76a7 Fix fetching of view parameters for MSAA array textures on D3D11 2019-10-25 18:29:30 +01:00
baldurk ee2a491f20 Fix status bar display of A8 textures 2019-10-25 18:29:30 +01:00
Piotr Szpetkowski 343fbed90a Update Vulkan features with VK_EXT_debug_utils 2019-10-25 16:53:29 +01:00
baldurk e53b8d82d0 In SPDB processing, try normalising filenames if we don't get a match
* Sometimes it seems like the filenames will differ between if \ is used or /,
  so try again with normalising everything to /
2019-10-24 20:16:39 +01:00
baldurk 43432a4650 Add D3D11 test helper for setting rasterizer state 2019-10-24 18:02:54 +01:00
baldurk cc0a539364 Set window title from test name 2019-10-24 18:02:54 +01:00
baldurk 3a2a89d10a Add test of D3D12's WriteToSubresource 2019-10-24 18:02:54 +01:00
baldurk 1530bc6499 Let tests know if they're being run in debug mode
* This will let us do extra logging or dumping data we don't want to do on a
  real run
2019-10-24 18:02:54 +01:00
baldurk 0559bfffd4 Test cbuffers with huge spaces on D3D12 2019-10-24 18:02:54 +01:00
baldurk 1eae20cad3 Add test of exporting/importing capture with a large number of buffers 2019-10-24 18:02:54 +01:00
baldurk 2492ebf26d Don't register debug callback on GL when structured-exporting 2019-10-24 18:02:54 +01:00
baldurk e00d2e28c5 Enforce that all tests are unique (to avoid copy-paste problems) 2019-10-24 18:02:53 +01:00
baldurk fef94ef012 Add more tests of raw/structured buffer debugging 2019-10-24 18:02:53 +01:00
baldurk 4aa3c967ac Fix byte-addressed 4-component loads in shader debugging 2019-10-24 18:02:53 +01:00
tabi.katalin 4037927834 Fix histogram shader compilation for GLES
These are not supported in GLES and causes shader compile errors when replaying a capture: 
- OpenGL does not allow swizzles on scalar expressions
- implicit cast from "int" to "float"
- implicit cast from "int" to "uint"
Scalar swizzling can be replaced by vec4 and constant types can be explicitly specified.
2019-10-24 18:02:10 +01:00
baldurk 875e27d844 Don't bounds check bindset against spaces in D3D12
* In D3D12 bindset != space because spaces can be incredibly sparse and are
  arbitrary. So we can't check that the bindset is in 0...#spaces.
2019-10-23 19:42:07 +01:00
baldurk b8302beac1 Fix error when loading validation layers in vulkan replay 2019-10-23 17:10:26 +01:00
baldurk a3af488927 Don't recursively call IsSupported from GetFriendlyName (and vice-versa) 2019-10-23 17:09:26 +01:00
baldurk a08455c4fb Don't crash if vertex buffer stride is 0 when picking vertices 2019-10-23 11:23:32 +01:00
baldurk bb8c8294e5 Ensure we always create a reflection object, even if it's empty
* Fixes crashes with DXBC objects that only contain input/output signatures
2019-10-22 20:34:20 +01:00
baldurk 92e2899ca3 Add support for DXGI desktop duplication API
* We treat it the same as OpenSharedResource/Handle, an opaque resource fetched
  from elsewhere and wrapped, instantly treated as dirty.
2019-10-22 13:13:36 +01:00
Alexandros Frantzis ba3df46052 Fall back to EGL for GL replay
We want to try to use the EGL platform as a fallback when the GL
platform can't create a GL context, since EGL_DEFAULT_DISPLAY might
still provide a workable EGLDisplay. This, for example, allows us to
replay traces when on-screen display is not required, by using the Mesa
surfaceless platform (by setting the "EGL_PLATFORM=surfaceless" Mesa
environment variable).
2019-10-22 11:07:47 +01:00