Commit Graph

8694 Commits

Author SHA1 Message Date
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
baldurk 793ea24f9d Clear dlerror for code that's aggressive with error checks. Close #1279 2019-02-25 21:04:09 +00:00
baldurk 8ae9ccdd7f Check descriptor writes for validity before updating in PostVS fetch
* This can happen for push descriptors that are declared but never used.
2019-02-25 15:31:43 +00:00
baldurk 2dc37ac232 Handle creating backbuffer views with non-NULL non-typed descriptor
* We already handle the case where e.g. D3D12_RENDER_TARGET_VIEW_DESC is NULL
  and we need to substitute in a typed descriptor for backbuffers. We didn't
  handle the case where
2019-02-25 15:31:43 +00:00
tabi.katalin 2507532623 Fix GLES shader compile errors
Detected two shader compile errors while replaying GLES apps:
1. „#extension directive must occur before any non-preprocessor token” -  Fix the order of precisions and extensions in the shader code.
2. „extension 'GL_OES_texture_cube_map_array' is not supported”  - Do not add extensions if they are actually not supported. TEXTURE_CUBE_MAP_ARRAY was added to GLES 3.2 so   GL_OES_texture_cube_map_array and GL_EXT_texture_cube_map_array are no longer used.
2019-02-25 11:30:25 +00:00
baldurk e9e1d91b34 linux compile fix 2019-02-22 22:40:33 +00:00
baldurk ec58308207 With GL we can have binding aliasing. Keep searching for a used binding
* If we have multiple bindings aliasing the same slot, we want to keep going if
  the first one we find is unused to see if the slot is aliased with one that
  *is* used. We'll still use the last unused one if we don't find any used at
  all (and with aliasing any one we pick is as valid as another).
2019-02-22 14:10:25 +00:00
baldurk a1d1ccea62 Update glslang to a51d3d9f223361165127ded3cd2e59d81e22d91f 2019-02-22 13:56:37 +00:00
baldurk 73d51637c4 Handle querying for ID3D11Texture2D1 and ID3D12Resource1. Closes #1276 2019-02-22 13:49:58 +00:00
baldurk 95570e5a28 Don't allocate empty memory if no index buffer is bound 2019-02-22 13:49:58 +00:00
Tobias Kunicke f42a774966 fixed file open dialog 2019-02-22 08:31:09 +00:00
Benson Joeris 47b351c566 Refactor GetByteSize and GetPlaneByteSize using GetBlockShape
This eliminates a substantial amount duplicate code between `GetByteSize` and
`GetBlockShape`.

Also added explicit tests of `GetPlateByteSize` independent of `GetByteSize`.
2019-02-21 21:58:26 +00:00
baldurk 0f1e1faf48 Erase elements that should not be serialised to avoid crashes 2019-02-20 13:53:41 +00:00
baldurk 98b8ff1dd7 Don't use GPUCounter directly in public interface for python
* Python throws an error when enums don't have a pre-existing value, which can
  happen for GPUCounter due to hardware specific counters. Instead just declare
  as int and allow casting back and forth for values that are pre-existing.
2019-02-20 13:53:20 +00:00
baldurk e01bc4c734 Implement untested support for D3D12.3/D3D12.4 interfaces. Closes #1268
* Most of the interfaces are not supported - protected sessions, raytracing,
  etc.
* We also split apart the 1/2/3/4 wrapped implementations to avoid uber files.
2019-02-19 17:54:53 +00:00
baldurk 24abd885ab Fix UUID check for ID3D12Fence1 2019-02-19 17:54:53 +00:00
baldurk b14e3f2ef9 Fix valgrind issues found running unit tests
* GLContextTLSData default constructor should be initialised.
* Add some missing deletes in shader reflection
* Call freeaddrinfo after getaddrinfo
* Don't leak if we're reserving 0 bytes in rdcstr over the top of an already
  empty rdcstr
2019-02-19 17:54:53 +00:00
Benson Joeris cb26815570 Fix bug in Intervals<T>::update()
When the interval being updated went all the way to the end of the last
interval (UINT64_MAX), `update` would call `mergeLeft` on the `end()` interval.
This would cause `mergeLeft` to dereference an invalid iterator.

Also added a quick return for updating empty intervals, and unit tests to verify
correct handling of empty intervals, which were run both with and without this
optimization.

Also removed some unnecessary asserts that likely called many times. These
asserts could only fail if there was a bug in the `Intervals<T>` implementation,
which should be caught by the unit tests.
2019-02-19 17:54:41 +00:00