Commit Graph

7728 Commits

Author SHA1 Message Date
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
baldurk 8d5081abc4 Remap generic compressed formats to uncompressed on GL
* This is legal according to the spec, as the implementation is allowed to not
  compress if there is no appropriate compressed format.
2018-07-25 18:32:20 +01:00
baldurk 01f51f2948 Fix handling of shader model CheckFeatureSupport queries. Closes #1051 2018-07-25 17:59:57 +01:00
baldurk 5f2de9df05 Use sigaction to create Qt-compatible handler to reap zombie processes 2018-07-25 17:36:31 +01:00
baldurk 6b6127d965 Update zstd to v1.3.5. Closes #1046 2018-07-25 17:36:30 +01:00
baldurk 0b31bded74 Bump version to v1.2 2018-07-25 16:55:57 +01:00
baldurk c7d5aa863e Don't modify list of environment modifications when launching process v1.1 2018-07-25 15:45:49 +01:00
baldurk 94694e0923 Fix processing of --updatedone
* Mark update as not available before starting up and creating main window.
2018-07-24 17:49:32 +01:00
baldurk bf29896f96 Fix buffer readback on vulkan not advancing source offset for copies
* This would affect anything that displayed more than 16MB of buffer data in the
  UI, as well as replay proxying with the remote server displaying more than
  16MB of buffer data.
2018-07-24 15:51:32 +01:00
baldurk df4458e6d0 Fix bad loop count when inserting data into rdcarray 2018-07-24 15:51:31 +01:00
baldurk b08e9c76c0 Fix incorrectly reversed check for progress of capture transfers 2018-07-24 15:51:30 +01:00
baldurk a434097f85 Add missing initialisation of GLWindowingData members 2018-07-24 15:51:30 +01:00
baldurk 146283fdde Fix using OpenGL as local proxy for remote replay. Closes #1047 2018-07-24 15:51:29 +01:00
baldurk a65903938a Clear GL dispatch table when using EGL on linux too. Closes #1040
* We can't call functions in libGL.so when using GLES, since it might be
  incompatible.
2018-07-24 15:51:28 +01:00
baldurk 63ff47499d Fix fake vulkan hooks to use specific library if available. Refs #1040
* RTLD_NEXT won't work if the library is loaded via RTLD_LOCAL (which the vulkan
  loader does). So instead we should keep the actual handle via a registered
  library hook and use that.
2018-07-24 15:51:28 +01:00
baldurk 5e911bb7c8 Don't rely on linux GL library exporting all symbols. Closes #1048 2018-07-24 15:51:27 +01:00
baldurk 8410cfd5ab Update documentation for latest code changes and features. 2018-07-18 16:23:11 +01:00
baldurk 090c9b6b4f Handle a NULL vertex buffer in vulkan state
* It's perfectly valid to have a vertex buffer in slots 0 and 4 with nothing in
  between, so we should be sure to skip any invalid vertex buffer bindings.
2018-07-18 16:23:10 +01:00
baldurk c753cbf238 Fix incorrect assert 2018-07-18 16:23:10 +01:00
James Rumble c9f3905a8e Pass unwrapped device handle down dispatch chain in debug extensions 2018-07-18 15:25:40 +01:00
baldurk 6774312e77 Fix handling of addr2line output in linux callstacks 2018-07-17 20:16:29 +01:00
baldurk bf773cd1de Restore mistakenly deleted implementation of ResolveQueryData 2018-07-17 20:16:28 +01:00
baldurk b334361e05 Inherit original FrontCounterClockwise for D3D12 backface cull overlay 2018-07-17 20:16:28 +01:00
baldurk 8d520cd1fb Use non-shader visible descriptor for temp descriptors
* Although not documented or mentioned in the debug layers, when getting a temp
  descriptor for a UAV clear, it must be from a non-shader visible heap.
2018-07-17 20:16:27 +01:00
baldurk d77fac4c6a Fix backwards compatible serialise of RTsSingleHandleToDescriptorRange 2018-07-17 20:16:27 +01:00
baldurk 810a3e77a5 Reset command allocators each frame, after syncing GPU 2018-07-16 23:38:07 +01:00
baldurk 5ff58a0941 Fix 32-bit index decode in GL vertex picking 2018-07-16 23:38:06 +01:00
baldurk e2d228d5f2 Handle broken GetDeviceProcAddr behaviour ourselves
* This might be handled by the ICD using app-profiles, but we replace the app-
  profile with our own for safety so we need to handle this one.
2018-07-16 23:38:06 +01:00
baldurk 6418efb7e8 Handle unsized SRGB formats 2018-07-13 20:06:58 +01:00
baldurk b470141322 Denote updates to prevent wasteful repeated work adding usage entries 2018-07-13 20:06:57 +01:00
baldurk 201dd1c9b4 Don't sort while inserting data into performance counter viewer table 2018-07-13 20:06:57 +01:00
baldurk 2bb263102b Set gl_CurChunk in release as well as development builds.
* Yes I know - shocking, but release builds also need to know which function was
  called!
2018-07-13 15:43:57 +01:00
baldurk 7b8380cba7 Print out GL chunk value if it's unexpected 2018-07-13 15:43:57 +01:00
baldurk 10b82e6255 Fix possible race condition with capture loading
* The event browser called SetEventID from OnCaptureLoaded, which would then
  call OnEventChanged on all viewers, which if they kicked off work could happen
  at the same time as the later call to OpCaptureLoaded for them.
* In the mesh viewer this seemed to lead to a race condition and had a chance to
  corrupt memory.
2018-07-13 15:43:55 +01:00
baldurk 71c104761a Fix sRGB handling on GLES
* Check for EXT_sRGB_write_control extension before enabling. The equivalent
  extension EXT_framebuffer_sRGB on desktop GL has been core since 3.1.
* Look for EGL_KHR_gl_colorspace extension and request an sRGB surface when
  creating window surfaces.
2018-07-13 15:43:55 +01:00
baldurk e8e7aea693 Fix off-by-one character error in immediate mode GL text rendering 2018-07-12 15:33:54 +01:00
baldurk b0378e9858 Don't try and fetch fbconfig for NULL context in glXMakeCurrent 2018-07-12 15:33:54 +01:00
baldurk 64006a856c Register library hook even if callback is NULL. Refs #1040 2018-07-12 15:33:53 +01:00