Commit Graph

9544 Commits

Author SHA1 Message Date
baldurk 0908588481 Don't delete capture unless it's still temporary, even if we own it 2019-10-11 13:07:36 +01:00
Alexandros Frantzis 090cd03185 Introduce GLPlatform::CanCreateGLContext()
Introduce a method to check if a platform supports desktop GL.
Most platforms support desktop GL by default, so for them the
implementation of this method is trivial. For EGL, though, we
have to implement a proper check, since EGL support for non
GLES APIs is optional.
2019-10-11 12:39:05 +01:00
Alexandros Frantzis e8b696cbbf Use EGL directly for Wayland GL support
For Wayland support on GL we currently fall back to the GLES code path
just to get EGL. This commit uses the EGL platform directly for Wayland,
also removing the dependency on GLES.
2019-10-11 12:39:05 +01:00
Alexandros Frantzis 616a355a63 Make EGL support independent of GLES support
EGL (>= 1.4) supports desktop GL, in addition to GLES. This commit makes
EGL support independently configurable at build time, to allow GL to use
it even if GLES is not needed or available.
2019-10-11 12:39:05 +01:00
baldurk 8259348707 Remap pipeline ID to live ID before calling driver 2019-10-10 19:00:16 +01:00
baldurk 2afd8fd887 Update to latest vulkan and SPIR-V spec files
* Add support for VK_KHR_shader_clock
2019-10-10 16:48:43 +01:00
baldurk 9b9b747e1e Set all drawcall parameters inside ExecuteIndirect from current state 2019-10-10 16:48:42 +01:00
baldurk ae0c745656 Don't clear important data when using StructuredSerialiser 2019-10-10 16:48:42 +01:00
baldurk 8ce2ea2202 Improve calculation of histogram
* The histogram shouldn't be calculated as channel-wise averages, but instead by
  'stacking' the channels (each channel contributes 1 to the appropriate
  bucket).
* Degenerate channels (where min==max) are excluded and listed only as a single
  spike, to avoid blowing out the automatic y-axis.
2019-10-10 16:48:42 +01:00
baldurk 4e6af7a47a Don't crash if the event browser isn't open when opening a capture 2019-10-10 16:48:42 +01:00
baldurk 0d658156b3 Add a finishing dialog when recompressing a capture 2019-10-10 16:48:42 +01:00
baldurk e9dda8343f When deleting temp files, remove from the recent file list. Closes #1540
* If the UI was launched with a filename as a parameter to open the capture, it
  will be added to the recent capture file list. Only later (relatively
  speaking) if we make a capture connection will we realise that it is temporary
  and potentially delete the file. If we do so, remove the capture from the
  recent file list.
2019-10-10 16:48:42 +01:00
Benson Joeris 4a6235d9b7 Add Img/MemRefs for resources with initial contents
This ensures that ImgRefs/MemRefs exist for images/memory with initial
contents. Previously if the resource was never accessed, then no
information was saved about the resource references; this lack of
reference info is pesimistically interpreted at replay as requiring
complete reset.

This change now explicitly inserts empty ImgRefs/MemRefs for each
resource when preparing the initial contents.

Change-Id: I51930640cd22bc59b3436c920e29d9b670bd35cc
2019-10-09 18:03:30 +01:00
Charlie Birks e303b8372e Only use this + 4 slot if there is no slot 4 2019-10-09 17:47:33 +01:00
Charlie Birks 3fc89b3717 Replace GetLocalVariable with GetLocalVariables 2019-10-09 17:47:33 +01:00
Charlie Birks c4363e615c Fix injecting on Android 9
Names aren't returned in GetLocalVariable and slots don't start at 0.
2019-10-09 17:47:33 +01:00
baldurk ec236b4ff3 Bump version to 1.6 2019-10-09 17:38:34 +01:00
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