Commit Graph

7765 Commits

Author SHA1 Message Date
baldurk 7d55ecbc48 Add 'capture frame immediately' button
* This should be more obvious especially on e.g. android where there's no
  overlay and key shortcut.
2018-08-06 16:23:02 +01:00
baldurk 889904e155 Make message about closing android studio even more explicit 2018-08-06 16:23:02 +01:00
baldurk 10029d4b1d Don't bypass wglDX functions used for interop 2018-08-06 11:22:00 +01:00
baldurk 03c2507a25 Linux compile fix 2018-08-03 17:35:57 +01:00
baldurk cbcfe85d97 Use natural human sort for resources in resource inspector. Refs #1034 2018-08-03 16:52:13 +01:00
baldurk f36701779c Display <empty> as custom name if an empty string is set.
* In cases where the API doesn't consider an empty string to be ignored.
2018-08-03 16:52:13 +01:00
baldurk 9f7304c780 Add sleep to posix library startup to avoid race. Closes #857
* On win32 we can get the target control port instantly and immediately connect
  before program startup, on posix systems we must wait until afterwards and
  poll for open sockets.
* This means there's a small window of opportunity where the program may have
  started running but we haven't connected yet to send any initial commands.
  Adding a sleep should give target control time to connect.
2018-08-03 16:52:13 +01:00
baldurk 104072debe Only mark resources as dirty if they are still alive
* We can have dangling references to resources due to descriptor binding
  references, so ignore any IDs that are no longer valid.
2018-08-03 14:47:16 +01:00
baldurk cbbce5b033 Do index buffer remapping in vulkan
* This allows vulkan to handle index buffers with huge differences between
  minimum and maximum indices without over-allocating.
* It does mean we can no longer use the original index buffer as-is without
  changes, but this is a fair trade-off.
2018-08-03 14:47:16 +01:00
baldurk d79ead308f Make a little more room in VTX/IDX columns in buffer viewer 2018-08-03 14:47:15 +01:00
baldurk 84a90bfdaf Update RenderDoc API version to 1.2.0, add new function. Closes #1037
* The new function SetCaptureFileComments allows users to add comments to a
  capture after creating it at any time.
* We also use anonymous union to remove the need to duplicate API structs for
  backwards compatibility.
2018-08-03 11:16:24 +01:00
baldurk 27de5beb76 Remove dos newline characters from comments edited in UI 2018-08-03 11:16:23 +01:00
baldurk 9774c9be9b Use remapped set of physical devices to create device. Closes #1062
* m_ReplayPhysicalDevices contains the physical devices enumerated on replay,
  which could be arbitrary and not matching etc.
* m_PhysicalDevices contains the physical devices remapped in order to produce
  the closets match to the capture's PD in each slot, using the PDs available.
2018-08-03 11:16:23 +01:00
baldurk 7061830f52 Mark resources as clean immediately when they are released 2018-08-03 11:16:22 +01:00
baldurk a1dca66f76 Add sleep to RGP worker thread loop 2018-08-03 11:16:22 +01:00
baldurk 04dc71ce32 Fix compilation of depth MSAA <-> Array shaders on Vulkan
* glslang doesn't like the GL_ARB_sample_shading extension
2018-08-02 18:44:31 +01:00
baldurk 1ab163d1d5 Add ignore of gdi32full.dll
* We don't want to hook gdi32full.dll for the same reason as gdi32.dll - we just
  catch function calls going in, not coming out at a 'system' level.
2018-08-02 18:44:30 +01:00
baldurk 948274189c Don't register live resources during capture
* Otherwise we try and delete these resources on shutdown, which we shouldn't.
2018-08-02 11:32:43 +01:00
baldurk e636b610f9 Get DataType from internal format if there's no hint
* dataType would never have been eGL_NONE previously, since it's either set to
  the hint or eGL_UNSIGNED_BYTE.
2018-08-02 11:32:43 +01:00
baldurk fa7fab9eb4 Speed up application of upload heaps on D3D12 captures
* If we keep the data in CPU memory since we're going to need to CPU upload
  anyway, the copy goes significantly faster.
2018-08-02 01:18:01 +01:00
baldurk 39258daff7 Ensure GetProcAddress is populated first
* This makes sure that we have glXGetProcAddress / eglGetProcAddress available
  first so that we can then bootstrap and fetch other functions.
2018-08-01 23:55:33 +01:00
baldurk 1443422cf7 Use libGL.so.1 instead of libGL.so for dynamic access 2018-08-01 23:55:30 +01:00
Oliver Fallows 13375dc722 Use free stack for wrapped pools 2018-08-01 18:58:16 +01:00
baldurk 955f41a074 Don't allow registered x86 layer to hide a non-registered x64 layer 2018-08-01 18:41:59 +01:00
baldurk 59529d4f42 Don't infinite loop if encountering invalid characters in hlslDefines 2018-08-01 18:09:32 +01:00
baldurk 13bff84c8e Serialise thumb separately in XML/ZIP import
* That means that if the thumb is missing we don't try and use the last buffer
  as a thumb when it's not.
2018-08-01 17:29:40 +01:00
baldurk 05dd4e1946 Fix serialisation of number of subresource in D3D11 initial state
* The serialised value changes the number of serialised buffers later, so it
  must be saved exactly right and not post-multiplied with data that won't be
  available during structured import.
2018-08-01 17:29:40 +01:00
baldurk 34b1d0ecf9 Fetch all samples when caching MSAA textures for replay proxy 2018-08-01 17:29:39 +01:00
baldurk a82c7a10d3 Implement proxied MSAA texture contents on OpenGL 2018-08-01 17:29:39 +01:00
baldurk 05a9318dc9 Don't query sampler params from MSAA textures 2018-08-01 17:29:38 +01:00
baldurk 602b5db72b Re-swizzle D24S8 textures on GL into the order expected for texture data 2018-08-01 17:29:38 +01:00
baldurk 92d414780f Only do early channelExtract splatting for regular formatted textures 2018-08-01 17:29:37 +01:00
baldurk d93ad942f2 Fix component type/count values for depth/stencil GL types 2018-08-01 17:29:37 +01:00
baldurk 9c1b7f1d79 Implement proxied MSAA texture contents on D3D11 2018-08-01 17:29:36 +01:00
baldurk 0b6f735ad2 Tidy up vertex-fragment structures in HLSL shaders
* Fix a few mismatches and delete wireframeV2F which is not needed in any other
  shaders but the mesh rendering path. Others just need SV_Position.
2018-08-01 17:29:36 +01:00
baldurk 196daacfb4 Don't clear selection when clicking on an item. Closes #1061 2018-08-01 17:29:35 +01:00
baldurk 92a9024127 Fix data-size calculation for UpdateSubResource. Closes #1059 2018-07-31 14:37:41 +01:00
baldurk baa46cd2cb Mark resources in UpdateSubresource as frame-referenced 2018-07-31 14:37:40 +01:00
baldurk 085b320ac2 Make sure even if we're not reading from adb that we hide its window 2018-07-31 14:37:40 +01:00
baldurk 3d519698e6 Ensure we handle filename == NULL in dlopen correctly. Closes #1058 2018-07-31 14:37:38 +01:00
baldurk df1a494fa7 Add friendlier error if trying to use Android < 6.0 device. Closes #1060 2018-07-31 14:37:38 +01:00
baldurk 5293a2c991 If creating EGL GLES3 context fails, try without debug bit. Refs #1052 2018-07-30 13:02:11 +01:00
baldurk d060eb354e don't wait for adb start-server as it may never exit 2018-07-26 17:37:12 +01:00
baldurk 9cbfad59b9 Fix typo'd check in previous commit 2018-07-26 17:27:48 +01:00
baldurk 6c10eb8efd Fix serialisation of passing NULL to 'multi-bind' GL funcs. Closes #1041
* This is treated as if it was an array of all 0s.
2018-07-26 17:24:30 +01:00
baldurk 26ce9fcc0f Don't serialise size_t directly in VkDescriptorUpdateTemplateEntry
* This caused an incompatibility between 32-bit and 64-bit capture and replay.
2018-07-26 17:24:30 +01:00
baldurk 8704b555a6 Fix missing calling convention declared on EGL function pointers 2018-07-26 17:24:29 +01:00
baldurk 6e9d8cb1a8 Initialise adb on another thread
* Otherwise the first adb access will stall heavily starting the daemon.
2018-07-26 17:24:29 +01:00
baldurk 12e43443ab Shut down adb when closing qrenderdoc if it's our adb
* This has some possible problems - e.g. if one copy of qrenderdoc is closed and
  kills the server used by another copy. However it seems impossible to reliably
  manage adb and we need to ensure we don't leave the process lingering around.
* At the moment 95% of users don't use android, so it's most important that they
  have a smooth experience.
* This was the cause of problems around updating versions because adb.exe would
  hang around and then be 'in use' and not able to be overwritten.
2018-07-26 17:24:27 +01:00
baldurk bd97664681 Fix incorrect copy-pasted title on docs page 2018-07-26 17:24:24 +01:00