Commit Graph

7864 Commits

Author SHA1 Message Date
baldurk e113af8fe9 Fix serialisation of glFramebuffer*OVR where there are no DSA variants 2018-09-03 14:12:21 +01:00
baldurk bcee891ad2 Handle app bundles on macOS by finding the actual executable to fork to
* Ideally this would be in a separate file but we don't want to duplicate a lot
  of this code just for some extra handling
2018-09-03 14:12:21 +01:00
baldurk 514bf8096f Fix apple GetTickFrequency not calculating ratio for seconds 2018-09-03 14:12:21 +01:00
baldurk 878c0c9ff1 Use immutable samplers when checking for validity
* Fortunately the sampler element in the write is ignored when doing the actual
  update so it's safe to write these in before the validity check.
2018-09-03 14:12:20 +01:00
baldurk 6df1edaa10 Remove unused lambda capture variable 2018-09-03 14:12:20 +01:00
baldurk 7f8a0d35d9 Handle not being able to load vulkan library at runtime
* We try to call vkEnumerateInstanceExtensionProperties to figure out instance
  extensions we might want to add, and we can only do this at the moment by
  loading the vulkan dynamic library and calling into it.
2018-09-03 14:12:20 +01:00
baldurk e81ba58456 Don't call QFile::exists() with empty filename 2018-09-03 14:12:20 +01:00
baldurk 35aa60218a Add DoStringise overloads for strings, needed for asserts 2018-09-03 14:12:19 +01:00
baldurk 5152ad0307 Fix GLX fetching backbuffer samplecount wrongly 2018-09-03 14:12:19 +01:00
baldurk c40c6d35f4 Don't add in zombie collection handler on android - it explodes badly 2018-09-03 14:12:19 +01:00
baldurk cb23249b26 Fix mac compilation 2018-09-01 01:11:26 +01:00
baldurk b0fb23ef89 Don't try to read uninitialised memory serialising strings during replay 2018-08-31 22:14:12 +01:00
baldurk 5406227152 Call CreateWindowingData on the main UI thread
* This allows mac to patch-up the widget to be renderable, and has to happen on
  the UI thread.
2018-08-31 22:14:12 +01:00
baldurk 01fb937e28 Only run manual dialog event loop on win32, it can break other platforms 2018-08-31 22:14:12 +01:00
Benson Joeris 2c0b612c6f Fix order that InitialContents are applied for Vulkan.
This fixes a bug where the memory backing an image could be initialized
after the image itself, causing corruptions. ApplyInitialContents was
processing the resources in order of resource id. It is possible that a
VkImage and the VkDeviceMemory it is bound to both have InitialContent
(e.g. because the VkDeviceMemory also backs a buffer), and it is also
possible that the VkImage has a lower resource id than the
VkDeviceMemory. In this case, the VkImage's InitialContent is loaded,
and then the VkDeviceMemory's InitialContent is loaded. This direct
write of the backing memory causes the VkImage content to become
undefined and, at least on my AMD card, causes image corruption.

This is fixed by sorting the resource ids by type, which works because
eResDeviceMemory < eResImage. This sorting is applied only for
VulkanResourceManager.
2018-08-31 10:38:37 +02:00
baldurk 4cf423bfaa Revert pull request #1087. Closes #1096 2018-08-29 20:53:13 +01:00
baldurk 909b465eb1 Disable MSAA when creating PSO for mesh output fetch on D3D12
* This doesn't change anything as we're not rasterizing, but it keeps the D3D
  runtime happy.
2018-08-29 20:50:14 +01:00
baldurk f12a1a66f6 Don't record layout barriers for resources that have been omitted 2018-08-29 20:50:14 +01:00
baldurk 94b4bd5f56 Initialise program variables to 0 in case they're not created 2018-08-29 20:50:14 +01:00
baldurk f1d052fc86 Add a bit more logging around GLES context creation 2018-08-29 20:50:14 +01:00
baldurk 416646d027 Fix example python scripts to work in the UI as well
* In the UI program we can't import renderdoc (it's already imported) so we just
  alias it to rd.
2018-08-29 20:50:14 +01:00
baldurk 94fcff1616 Force installer to always overwrite all files regardless of version/date
* The AMD plugins e.g. don't have consistent incrementing versions, and in
  general we don't care too much about version numbers or creation/modified
  dates. We want the installer to always install the files it should.
2018-08-29 20:50:13 +01:00
Gary Sweet 4ab781ec8c Add more missing Vulkan cache flushes
Missed these the first time around
2018-08-29 11:59:15 +02:00
isurmin 79579b85b3 fix x86 build 2018-08-29 11:58:17 +02:00
isurmin adb7df57d4 fix issues and remarks 2018-08-29 11:58:17 +02:00
isurmin 02b3cdad94 Implement support for Intel performance counters 2018-08-29 11:58:17 +02:00
baldurk 76d9ddd584 Improve highlighting of unbound vertex/index buffers in pipeline state 2018-08-28 18:23:57 +01:00
baldurk 5024f80ee9 Make code more robust if indexed draw has unbound ibuffer. Closes #1085 2018-08-28 18:23:57 +01:00
baldurk d24c53c7e0 Handle callstack resolution if DIA isn't registered
* We can load up the msdia140.dll manually and initialise it that way even if
  it's not registered properly. That does mean we need to locate the DLL on our
  own though - we try in PATH and in a few default paths, and otherwise prompt
  the user for it (and save the path in our config).
2018-08-28 18:23:57 +01:00
baldurk a05d63852e Fix label for shader processing tools in disassembly dropdown 2018-08-28 18:23:57 +01:00
baldurk f70a86042d Pass {glsl_stage4} parameter when calling for disassembly as well 2018-08-28 18:23:57 +01:00
baldurk 52aafd6331 Update to RGA 2.0.1 backend, support gfx900/gfx902
* This requires an updated set of plugins for the RGA binary files.
2018-08-28 18:23:57 +01:00
Gary Sweet 9721150aa9 Add missing Vulkan cache flushes and invalidates
Without these flushes and invalidates, I see missing
data on readback and bad text in the overlay.
2018-08-28 14:24:13 +02:00
baldurk a8f35f1bf8 Linux compile fix 2018-08-27 17:31:41 +01:00
baldurk 0352e50fe5 Lock inside FetchOrdinalNames just in case
* It's possible for two threads to hit GetProcAddress on the same module at
  once, try to late-fetch the ordinals, and clash. If we lock then only one
  thread will perform the fetch, the other thread can wait and bail out once it
  finds the ordinals already filled out.
2018-08-27 17:09:16 +01:00
baldurk 8ebd0c5d9b Reconfigure callstack capture on GL when context is created
* The WrappedOpenGL constructor may run too early, before capture options are
  properly processed. So we re-process them when and if the API is properly
  initialised.
2018-08-27 17:09:16 +01:00
baldurk 5907524012 Trim trailing NULL character from returned GCN ISA string 2018-08-27 17:09:16 +01:00
baldurk 63be6d261c Make mesh output buffer resizing a little more conservative
* Instead of calculating the mesh output size exponentially by continuously
  doubling, we instead double up to a reasonable size (256MB) and then just
  allocate only enough to cover what we need after that point. This avoids
  getting into the situation where a mesh needs 1.04GB of data and we allocate a
  2GB buffer - which may then fail.
2018-08-27 17:09:16 +01:00
baldurk 5287a44e80 Handle 0 byte resource updates (possible with empty UpdateSubResource) 2018-08-27 17:09:16 +01:00
Benjamin Thaut ccdd7acd0b Avoid rare deadlock inside SHCreateDirectoyExW.
Replace call to SHCreateDirectoyExW on the win32 platform with multiple
calls to CreateDirectoryW to avoid deadlock within CoUninitialize which
is called from SHCreateDirectoyExW. MSDN states that calling
CoInitialize during DllMain is prohibited. SHCreateDirectoyExW
internally calls CoInitialize, thus calling SHCreateDirectoyExW inside
the DllMain is prohibited as well.
2018-08-27 16:53:54 +02:00
baldurk adb3bb8cc6 Ensure RENDERDOC_VERSION env var passed to WiX on Windows 10 WSL 2018-08-20 11:57:05 +01:00
baldurk bd7a3c966e Don't copy .lib files as we don't need them 2018-08-20 11:57:04 +01:00
baldurk c599ab96e6 Make android compile friendly for Windows 10 WSL 2018-08-20 11:57:04 +01:00
baldurk 3f2862bcd3 Put MSBuild.log in build tree rather than /tmp to work on Windows 10 WSL 2018-08-20 11:57:04 +01:00
baldurk 5b89ababd5 Prefer make.sh for building docs as htmlhelp is removed from Makefile
* Also it's more flexible in locating necessary tools like sphinx-build or
  python
2018-08-20 11:57:03 +01:00
baldurk 92f593f38c Use windows 10 SDK as well as 8.1 SDK to find d3dcompiler_47.dll 2018-08-20 11:57:03 +01:00
baldurk 69cedf0732 Locate windows root as it is /mnt/c by default on Windows 10 WSL 2018-08-20 11:57:02 +01:00
baldurk 35d23582c1 Use MSYS2_ARG_CONV_EXCL to handle /parameters to windows executables 2018-08-20 11:57:02 +01:00
baldurk a12b62f0c6 Detect Windows 10 WSL with uname in main build script 2018-08-20 11:57:01 +01:00
baldurk bfd575306c Improve docs build script to work on Windows 10 WSL 2018-08-20 11:57:01 +01:00