Commit Graph

8711 Commits

Author SHA1 Message Date
baldurk 3d94de9923 Prepare macOS dependencies in deploy step 2019-03-05 14:03:14 +00:00
baldurk 1a153e9c13 Add macOS release build on travis, for deployment 2019-03-05 14:01:37 +00:00
baldurk 095251cc59 Use qtconf.qrc on macOS qrenderdoc builds as well to locate qtplugins 2019-03-05 14:00:52 +00:00
baldurk a1ef9663e4 Add script to copy & patch macOS frameworks into application bundle 2019-03-05 13:58:29 +00:00
baldurk e25ea7dc52 Strip optimus layer in case it was explicitly enabled 2019-03-04 16:41:00 +00:00
baldurk c72a9f18c3 Change branch used for macOS travis deployments 2019-03-04 13:51:41 +00:00
baldurk 1433e6e01f Completely skip VCRT install if it's already installed
* We don't really need to update the version, any VC 2015 version would do, and
  it causes the installer to try to trigger a reboot if the CRT is in use, which
  is quite likely.
2019-03-04 12:55:32 +00:00
baldurk 62d644acfa Fix Release32/Release64 typo in x64 installer script 2019-03-04 12:55:32 +00:00
baldurk d5a9b15927 Look for new android getClassLoader function signature. Refs #1294 2019-03-04 12:55:32 +00:00
baldurk 4f4645d437 Upload macOS builds from mainline branch for nightly builds 2019-03-04 12:55:31 +00:00
Benson Joeris cc8aa679e9 Optimize Apply_InitialState for VkDeviceMemory resources
This change reduces the amount of data copied into VkDeviceMemory resources in
`Apply_InitialState`; this uses the new (interval-based) reference tracking.

On a large capture from a recent game, this change reduces the amount of copied
data from 2.2GB to 720MB (plus 100MB cleared to 0). This reduces the time spent
in `ApplyInitialContents` from 1800ms to 1500ms.

Ranges of memory are initialized/reset by either clearing to 0, or copying in
the initial state data, according to the `FrameRefType`, as follows:
- Read-only (`eFrameRef_Read`) regions of memory are initialized by copying
  once, before the first replay.
- Read-before-write (`eFrameRef_ReadBeforeWrite`) regions of memory are reset by
  copying before each replay.
- Write-only (`eFrameRef_PartialWrite` and `eFrameRef_CompleteWrite`) regions of
  memory are cleared to 0 before each replay. This is intended to avoid possible
  user confusion when inspecting these regions of memory, as they might
  otherwise show data written later in the frame.
- Unused (`eFrameRef_None`) regions of memory are cleared to 0 once, before the
  first replay.
2019-03-02 08:24:12 +00:00
Benson Joeris 3abab3bbb9 Fix Attachment FrameRefType
Attachments might be read and/or written. Pessimistically assume attachments are
read and then overwritten. Further analysis should be able to refine this access
type in some cases.
2019-03-02 08:24:12 +00:00
Benson Joeris f39ae770e4 Fix Descriptor FrameRefType.
Storage resources can be read and/or written by the shader. We must
pessimistically assume that the shade reads, and then modifies these resources.
2019-03-02 08:24:12 +00:00
baldurk 8903c8c1fa Search for Android SDK in common locations on macOS
* Environment variables still take priority, but it can be common for them not
  to be set so we need to look here.
2019-03-01 17:47:23 +00:00
baldurk c73f045241 Add packaging/buildscript support for macOS
* Add realpath.sh for emulating readlink -f on macOS
  MIT licensed from https://github.com/mkropat/sh-realpath
2019-03-01 17:47:10 +00:00
baldurk 8dae3437c5 Make sure to stop looking once we find the python library 2019-03-01 16:59:42 +00:00
baldurk 4327f32667 Deserialise arrays of complex structures 2019-03-01 15:46:49 +00:00
baldurk db4cb2d1ea Fully initialise members in PhysicalDeviceData 2019-03-01 15:46:37 +00:00
baldurk be36556c0c Delete images array used for calling vkGetSwapchainImagesKHR 2019-03-01 13:53:50 +00:00
baldurk 3f7d5b7882 Delete VkSubmitInfo::pWaitDstStageMask in Deserialise 2019-03-01 13:53:27 +00:00
baldurk 807d44ec42 Update valgrind suppressions for running qrenderdoc 2019-03-01 13:26:34 +00:00
baldurk ac91a7e8b4 Delete FindResults scintilla 2019-03-01 13:26:23 +00:00
baldurk ed6d0523cd Delete pbuffers allocated in glx_platform for offscreen contexts 2019-03-01 13:26:12 +00:00
baldurk 41a1358bb2 Remove allocated initial state blobs that are no longer used 2019-03-01 12:47:43 +00:00
baldurk 95f07ab6df Add missing deref of buffer data in mesh view 2019-03-01 12:47:29 +00:00
baldurk 2a0a663367 Delete TLS objects on GL driver shutdown 2019-03-01 12:44:02 +00:00
baldurk 301ef89aac Only calculate bounding box data on mesh views 2019-03-01 11:34:15 +00:00
baldurk 9fc8c0bd66 Delete dangling GUIInvoke object 2019-03-01 11:34:04 +00:00
baldurk e23974e2bf Initialise variables that might not be set otherwise before first use 2019-03-01 11:33:05 +00:00
baldurk a53dbe40b6 Remove no longer used UBO 2019-03-01 11:31:32 +00:00
baldurk 72d3c0ee3e Set 'pyrenderdoc' global after extension registration. Closes #1291 2019-03-01 08:32:35 +00:00
baldurk ac37a592cc Refactor BufferViewer to avoid race conditions
* We now push everything mutable about the draw data configuration into a single
  struct which we copy around (the actual buffer data remains refcounted and not
  copied). This means that we don't have one thread still trying to do things on
  a model which is being updated on another thread.
2019-02-28 17:48:30 +00:00
baldurk 7541dc6bc7 Add cmake compile options for enabling address/thread sanitizer
* Currently tsan doesn't work well in Qt because it doesn't recognise QMutex
2019-02-28 17:48:30 +00:00
baldurk bbdf2c1f80 Remove redundant self-assignment 2019-02-28 17:48:30 +00:00
Julian Meder bf17650ace Keep DX12 descriptor heaps alive until deferred copy/write flush. 2019-02-28 16:45:33 +00:00
tuxerr c6edcf9a38 add support for VK_EXT_fragment_density_map 2019-02-28 00:10:03 +00:00
baldurk d80c5973dd Only print nvapi disabled warnings a few times before silencing 2019-02-27 20:49:20 +00:00
baldurk 2cda7f8af0 Fix access to Qt containers that need int indexes 2019-02-27 14:50:27 +00:00
Denis Rutkov 8d8538a068 Fix another issue with MSAA depth buffer copying during D3D12 replay 2019-02-27 14:39:57 +00:00
baldurk 45a9fc97ae Fix int32_t/size_t type matching in rdcarray functions 2019-02-27 14:38:34 +00:00
Denis Rutkov 5fb59defcb Fix reading initial state for upload heap buffers. 2019-02-27 13:51:27 +00:00
dendron2000 4846221794 Fix copying depth data from depth stencil with MSAA in DX12. 2019-02-27 13:51:27 +00:00
dendron2000 0c1b6439c4 Fix reading back initial buffer/texture states in D3D12. 2019-02-27 13:51:27 +00:00
dendron2000 9bf50e124a Fix compiling without global optimization. 2019-02-27 13:51:27 +00:00
baldurk f70de276e6 Use size_t in rdcarray
* This means that allocating >2GB in a bytebuf doesn't crash. There was no good
  reason for the int32_t - that dates back to the earliest interop structs
  defined for communication with .NET
2019-02-27 13:50:05 +00:00
baldurk 64062ec2c6 Apply luminance/alpha emulation to glTextureView 2019-02-27 13:50:05 +00:00
baldurk f3593c970f Don't crash or bind invalid vertex buffers in GL mesh render
* This can happen after clearing the PostVS cache, when editing a shader
2019-02-27 13:50:05 +00:00
baldurk 308474091a Follow-up to previous fix, for WrappedID3D12Device::CreateHeap1 2019-02-27 13:50:05 +00:00
baldurk 829e494e5e Silently skip out of bounds declared vertex buffers. Closes #1287
* We assume that these vertex buffers are unused in any actual declared inputs
  so they can safely be treated as empty.
2019-02-27 13:50:05 +00:00
Julian Meder 5878787daf Fix WrappedID3D12Device::CreateHeap worngly returning E_NOINTERFACE. 2019-02-26 17:00:15 +00:00