9527 Commits

Author SHA1 Message Date
baldurk a94f238e37 Ensure PersistantConfig member functions are documented v1.5 2019-10-09 10:25:49 +01:00
Aliya Pazylbekova 3587ec2e77 VK pixel history: re-write shaders to remove side effects
So that we can replay a draw multiple times.
Added m_EventResourceUsage that keeps track of resource usage
for an event, allows quickly figuring out if an event had any
shader RW resources, and only then doing an expensive part of
analyzing/rewriting a shader.
2019-10-01 21:48:29 +01:00
baldurk 16dace3d48 Fix tests running on 32-bit 2019-10-01 17:59:01 +01:00
Benson Joeris 87a172167f Reset images when backing memory is Reset
There are some situations that cause us to reset the memory backing an
image, but not the image itself--this puts the image in a corrupted
state.

This fix updates the image initialization logic to check the bound
memory. If the memory is written by any captured command, or if the
memory is reset, then the entire is image is assumed to be
uninitialized.

Change-Id: Ifb1ec6bfd83f93def0818dbabcb0ea57f0febe54
2019-10-01 16:47:28 +01:00
baldurk 8ca714382b Don't grab backbuffer screenshot in D3D12 while holding transition lock
* Prevents a deadlock between the cap transition lock and the queue's lock.
2019-09-30 17:42:14 +01:00
baldurk fa4c7c0faa Fix D3D12's GetTextureData() to work properly for 3D textures. 2019-09-30 16:30:40 +01:00
baldurk e3d902e686 Don't try to set find icons if no capture is loaded 2019-09-30 16:30:40 +01:00
baldurk aed3d5fe4f Add naming overload for VkSampler in tests 2019-09-30 16:30:40 +01:00
baldurk ca6c6faf27 Highlight combined image/samplers to clarify sampler use. Closes #1533
* When the same sampler is used in multiple combined image/sampler descriptors
  we only list the sampler once to avoid really verbose unnecessary rows. Use
  row highlighting to indicate which sampler is used with which image, and add
  it to the view details tooltip with the image layout
2019-09-30 16:30:40 +01:00
baldurk ca9e43fd6e Add hoverItemChanged event to RDTreeWidget 2019-09-30 13:41:14 +01:00
baldurk b88e9bf9d9 Split DOCUMENT that got too long, to fix visual assist 2019-09-30 12:08:31 +01:00
Florian Bagar d84136fe29 added D3D11Device5 checks + fixed QueryInterface calls 2019-09-30 11:34:37 +01:00
baldurk 76622f65aa Update index buffer binding when VAO changes 2019-09-23 20:48:07 +01:00
baldurk 812e601a88 Ignore sampler updates when descset has immutable samplers. Closes #1528 2019-09-23 16:48:04 +01:00
baldurk 2d473c39e7 Keep format in GL shaders for R/W images 2019-09-23 13:45:29 +01:00
baldurk 94f469b361 Open capture with options should not be a top-level window 2019-09-23 13:14:28 +01:00
baldurk 7a436e1463 Ensure logging locks aren't destroyed too early
* If these static locks are destroyed before other things at shutdown, logging
  may crash. We can just leak them since they should survive until process
  shutdown (where it's fine to leak)
2019-09-23 12:02:46 +01:00
baldurk 38415c2296 D3D error messages should be high severity
* Corruption error messages are rare and often fatal, don't demote error
  messages to make room for them.
2019-09-23 10:31:36 +01:00
Aliya Pazylbekova f0329ebace Add implicit resolve usage for renderpasses
According to vulkan spec moving to the next subpass automatically
performs any multisample resolve operations in the subpass being
ended.
2019-09-21 01:22:27 +01:00
baldurk e0c397a343 Don't add source files if they don't have source code 2019-09-20 12:53:00 +01:00
baldurk aa57240d9c Don't show individual enabled scissors if global toggle is off 2019-09-20 12:45:00 +01:00
baldurk 6c4299017a Trim package path when pulling APK for patching 2019-09-20 12:32:14 +01:00
baldurk 21bfddf2af Don't crash on reading an unexpected amount of padding
* The connection is likely lost/corrupted, but we shouldn't crash
2019-09-20 12:30:44 +01:00
baldurk c67995b85a Make it easier to run tests from within UI 2019-09-20 11:20:45 +01:00
baldurk 2828f194e1 Soften errors if D3D12 fails to load 2019-09-20 11:04:10 +01:00
baldurk 0bcf9a4e2d Update DX headers to 10.0.18362.0, add new interfaces
* ID3D12GraphicsCommandList5 and ID3D12Device6
2019-09-19 20:09:38 +01:00
baldurk ea5515b1da Fix queries for IDXGIOutput4-6 2019-09-19 18:36:22 +01:00
baldurk ee3e4bf150 Fix DXGI implicit backbuffer index tracking
* When DXGI_PRESENT_TEST flag is present, the backbuffer index doesn't
  increment.
* Resizing the buffers resets the index back to 0.
2019-09-19 18:01:40 +01:00
baldurk 1f67022280 Free swapchain RTV before allocating new one 2019-09-19 16:47:57 +01:00
baldurk 3f9e3e3c94 Add stringise for DXGI_ERROR_ACCESS_DENIED HRESULT 2019-09-19 16:45:57 +01:00
baldurk 0e1c20342e Try to handle invalid callstack sizes in serialisation without crashing 2019-09-19 11:47:11 +01:00
baldurk 78fba8ec57 Fix linux build 2019-09-18 19:33:37 +01:00
Dominic Filion Guay 57c60cdfb8 Fixed issue with MSAA textures on Oculus Quest. 2019-09-18 19:28:42 +01:00
baldurk af97e50b3a Implement ConvertToR11G11B10(), add conversion tests 2019-09-18 19:25:11 +01:00
baldurk 2d8b048a97 Return view format stride in bytes not in bits 2019-09-18 17:04:23 +01:00
baldurk 8cacf6927d Handle unormten correctly 2019-09-18 17:04:10 +01:00
baldurk 40375a6d6e Ensure all values are used and unstripped in GL_Vertex_Attr_Zoo 2019-09-18 15:28:12 +01:00
baldurk 612963bb11 Fix GL shader editing shader to not use uninitialised data 2019-09-18 14:16:28 +01:00
baldurk f8221d858d Ensure we don't hide an invalid buffer value that truncates to green 2019-09-18 13:55:27 +01:00
baldurk f415ba00bf Add missing binding for cbuffer 2019-09-18 13:55:11 +01:00
baldurk 65cc331b10 Ensure we can always map for read even for non-persistent buffers 2019-09-18 13:55:04 +01:00
baldurk 35fec3f29e Fix shutdown order for GL test context & window 2019-09-18 13:30:58 +01:00
baldurk 9a99696593 Explicitly request alpha channel for GL test backbuffer 2019-09-18 13:15:38 +01:00
baldurk ba16bd9bfe Pass PSO when decoding cbuffer variables in python example 2019-09-18 13:04:50 +01:00
baldurk 702c7cf093 Add use of ReplayOptions to python API examples 2019-09-18 13:04:38 +01:00
baldurk 7831a42ccc Fix vulkan handling of ETC2_EAC_RGBA8 to properly encode ResourceFormat
* We consider ETC2 to be the base RGB profile, optionally with punch-through
  alpha, so compCount and type gives those formats. EAC covers R11, RG11, and
  then the RGB8 + A8 mode, which is again disambiguated with compCount and type.
2019-09-18 12:41:44 +01:00
baldurk a237200cef Fix NULL being included in marker in D3D12 test 2019-09-18 11:18:38 +01:00
baldurk 62b9245215 Calculate basename by hand, for windows paths on linux 2019-09-18 11:18:28 +01:00
baldurk 52e4c6db70 If we hit EINTR in a blocking recv/send, retry instead of failing
* blocking send/recv will not be resumed after a signal handler no matter what,
  so we need to retry ourselves. This does mean extending the timeout but that's
  fine since it would be pathological to have EINTR continually arrive and
  extend the timeout to an unreasonable duration.
2019-09-18 11:01:40 +01:00
baldurk 8060693188 Fix byte address buffer access in shader debugging 2019-09-17 14:08:48 +01:00