Commit Graph

12300 Commits

Author SHA1 Message Date
baldurk 4aab637f3f Copy libasan library and wrapper script on android when asan is enabled 2021-06-25 20:17:53 +01:00
baldurk 91db918362 Try to link with ASAN on android when enabled (doesn't seem to work) 2021-06-25 18:28:03 +01:00
baldurk 9547de7405 Batch together initial state application into fewer command buffers
* Some drivers struggle with one command buffer per resource and that's
  certainly inefficient, so batching work together (without going too far) keeps
  things working better.
2021-06-25 16:46:24 +01:00
baldurk b8d7cd17ec When serialising an SDObject with lazy children, populate on-the-fly
* If an object has enoug children, the lazy generator can take multiple seconds
  on e.g. android to fully populate. This is a long enough stall to cause the
  host side to timeout while waiting for the next piece of data. Instead of
  populating everything up front before starting serialising, we now populate as
  we go for each child, so that there's a steadier stream of data and avoid any
  timeouts.
2021-06-25 15:51:43 +01:00
baldurk 6212e9876e Fix documentation being missing on ResourceFormat.type 2021-06-24 16:58:34 +01:00
baldurk 8f0e1de669 Don't write to pNext pointers in SerialiseNext() when writing
* These pNext pointers might be in read-only memory so it would cause an
  exception, and nothing has changed so there's no need.
2021-06-24 16:55:02 +01:00
baldurk c3d19f87f0 Disable buffer_device_address on older windows Intel drivers 2021-06-22 15:03:26 +01:00
baldurk 44431cd536 Explicitly mark depth states as 'disabled'. Closes #2296
* On all APIs when depth is disabled the writes are skipped as well. Explicitly
  set the function and write state to say that they are disabled.
* This also papers over a weirdness on D3D11 which has confused a couple of
  people, where the retrieved desc with GetDesc() on a state object can be
  different to the one it was created with when you set ignored parameters -
  like the depth function with depth disabled.
2021-06-22 10:37:49 +01:00
baldurk 0bc42d8cd1 Fill out D3D12 depth-stencil read-only flag states 2021-06-22 10:06:10 +01:00
baldurk c73d8c41a2 Don't replay when creating outputs
* This is only necessary if the overlay refresh will actually do work, but when
  an output is created it can't.
2021-06-17 15:10:42 +01:00
baldurk 16937f160e Fix a crash when push constants are provided insufficient data 2021-06-17 14:30:23 +01:00
baldurk e15906fddb Polygon offset clamp is core now 2021-06-17 13:22:16 +01:00
baldurk 71b6e2b321 Speculative crash fix, protect against invalid indices in cbuffer tag 2021-06-15 16:24:25 +01:00
baldurk 9db41e0a5e Update IRC details to point to OFTC 2021-06-15 11:26:58 +01:00
baldurk 47d4f4efe0 Tweak some of the status message strings to be clearer 2021-06-10 10:33:51 +01:00
baldurk 6c503e7d34 Prioritise glTextureViewOES over glTextureViewEXT 2021-06-09 00:15:30 +01:00
baldurk 51699a57b7 Fix python checks not properly running on enums, and fix new errors
* We whitelist a couple of cases where the naming scheme should be broken.
2021-06-08 16:34:52 +01:00
baldurk fe63f8b16d Set uniformRowHeights on Vulkan/D3D12 pipeline state tree widgets
* This prevents Qt from doing O(n) work to calculate row sizes in some cases
  when we know they're all going to be identical.
2021-06-08 14:23:56 +01:00
baldurk 8a2cd4b9fc Disable use of buffer_device_address on qualcomm 2021-06-08 14:23:56 +01:00
baldurk 17cc3002cc Fix config push to android for new android versions
* The config folder changed in some android version, so we need to use the right
  one.
2021-06-08 14:23:56 +01:00
Jake Turner cf4ce8fc41 Apple Xcode added qrenderdoc sources and headers
Hardcoded to Code, Styles, Widgets, Windows *.h*, *.c*, *.m*
These files are not built by Xcode.
They are in the Xcode project to support browsing qrenderdoc source code.
2021-06-08 09:22:31 +01:00
Jake Turner 340a533715 Make OSX_ICONFILE Apple specific
Wrap it with if (APPLE) and APPEND to the config file
2021-06-08 09:22:31 +01:00
Jake Turner 7bfe758f57 Apple Xcode specify PATH for custom commands
Capture the PATH variable at cmake invoke time and store in the cache.
Use the captured PATH variable for the make based build targets custom_swig and QRenderDoc.
This fixes the problem on Apple Silicon that the Xcode PATH does not include the default homebrew paths (/opt/homebrew/bin /opt/homebrew/sbin)
2021-06-08 09:22:31 +01:00
Jake Turner 71243f505d Xcode generator setup for Apple
Restrict the schemes to match the configuration on the cmake command line
Disable Debug Document Versioning
Specify the executable path for build-qrenderdoc target
2021-06-08 09:22:31 +01:00
Jake Turner a71914c03d Apple qrenderdoc cmake remove extra space in RPATH 2021-06-08 09:22:31 +01:00
Jake Turner 4ea889c7c9 Make QMAKE_OSX_DEPLOYMENT_TARGET Apple specific
Wrap it with if (APPLE) and APPEND to the config file
2021-06-08 09:22:31 +01:00
Jake Turner 077c07f06f Use MAKE generator for qrenderdoc custom_commands
Use MAKE generator for any non-make cmake program not just ninja build system ie. Xcode generator
2021-06-08 09:22:31 +01:00
Jake Turner c81f46c83a Apple Xcode project build fixes for renderdoccmd
Building via Xcode does not include "stdc++" by default (probably a difference between cland and clang++).
Building via Xcode puts the static library "renderdoc_libentry" into a different folder than the shared library "renderdoc"
Pass the full path to the static library "renderdoc_libentry" on the link line.
2021-06-08 09:22:31 +01:00
Jake Turner 99568927a2 Specify the Apple Xcode cmake output directories
For Xcode set the output directory to be the same for all configurations
By default Xcode puts binary and library outputs in a different folder per configuration
2021-06-08 09:22:31 +01:00
Jake Turner d158ed2a6b Renamed vk_apple.mm -> vk_apple_helpers.mm
Support for Xcode project generation.
Distinguish object file between .cpp & .mm versions.
Xcode project build did not work when had the same source file with .cpp and .mm extensions ie. vk_apple.cpp & vk_apple.mm
The makefile generator explicitly distinguishes the targets ie. vk_apple.cpp.o & vk_apple.mm.o
2021-06-08 09:22:31 +01:00
Jake Turner 5907182f95 Renamed cgl_platform.mm -> cgl_platform_helpers.mm
Support for Xcode project generation.
Distinguish object file between .cpp & .mm versions.
Xcode project build did not work when had the same source file with .cpp and .mm extensions ie. cgl_platform.cpp & cgl_platform.mm
The makefile generator explicitly distinguishes the targets ie. cgl_platform.cpp.o & cgl_platform.mm.o
2021-06-08 09:22:31 +01:00
baldurk 003ab7469c Fix crash in postvs on vulkan with NULL vertex buffers bound 2021-06-07 11:02:50 +01:00
Peter Lohrmann 81ebf46cad Update to GPUPerfAPI 3.8
This includes updated header files, which needed minor local tweaking to
remove an intermediate directory from the include path, and to disable
the <vulkan/vulkan.h> header from being included in gpu_perf_api_vk.h.

All entrypoints and some datatypes were renamed in the latest version,
but functionality remains the same.

Includes support for new AMD Radeon RX 6000 Series graphics cards.
2021-06-03 11:48:58 +01:00
baldurk 21598b5d0c Fix missing override on function 2021-06-01 21:35:10 +01:00
baldurk ea16d31aa3 Invalidate cached hover index in tree view when model changes 2021-06-01 18:17:55 +01:00
baldurk 03c12d6e94 Set API inspector events list to uniform row heights
* This is a significant optimisation, otherwise Qt will iterate over every event
  and get its size, which can be expensive with the events being rich text
  strings.
2021-06-01 18:17:10 +01:00
baldurk fb95285ca1 Put all annotation docs into the same 'how do I' page. Refs #2285
* This page now documents both how to annotate things from code in the
  application, as well as at runtime in the UI.
2021-06-01 13:29:09 +01:00
baldurk 6ce0b9a087 Fix problems with capturing frame 0 of opengl programs
* Until a context is activated we can't know if it's modern or not.
2021-05-31 10:12:10 +01:00
baldurk 0f686ee71c Bump version to 1.15 2021-05-28 17:14:41 +01:00
baldurk 50b2cecc50 Add documentation for shader messages window v1.14 2021-05-28 12:19:12 +01:00
baldurk 16a0ebc421 Always add add printf location inputs to entry point globals
* Even in older SPIR-V versions, Input class globals should be listed in the
  entry point interface list.
2021-05-28 12:01:21 +01:00
baldurk 778d91e42c When setting up printf location only patch it into entry point function 2021-05-28 11:57:46 +01:00
baldurk 4d189b7f90 Add bigger warning in documentation about process injection 2021-05-28 11:46:13 +01:00
baldurk 1ed4b561e6 Fix discard patterns to work correctly with multisampled UINT textures 2021-05-27 14:18:05 +01:00
baldurk c41a6b3740 Don't call output displays while closing a capture 2021-05-27 14:16:23 +01:00
baldurk 0e7ee12030 Only pause and restart renderpasses in pixel history if one is active
* Secondary command buffers don't have to be executed within a renderpass, so we
  can't assume that one is active.
2021-05-27 11:59:24 +01:00
baldurk ffa33cfda2 Fix handling of pass events when selecting a non-draw 2021-05-27 11:45:01 +01:00
baldurk d8d99f49d6 Tweak naming of SPIR-V IDs to match between shader reflection and debug
* This helps for the automated tests to match up debugged values against output
  signatures for vertex shaders
2021-05-26 20:38:23 +01:00
baldurk 2ddf567fec Require explicit opt-in to enable process injection on windows
* This option (in spite of large warnings) continues to be a pitfall for new and
  experienced users alike, trying to use process injection without good reason
  and getting into trouble when it breaks.
2021-05-24 16:51:43 +01:00
baldurk 399f1c59e0 Remove trailing line referring to old removed section of docs 2021-05-20 10:12:52 +01:00