13898 Commits

Author SHA1 Message Date
baldurk 35b13a8e8f Remove UAV flag from BCn textures for calling GetCopyableFootprints
* This can happen when using the new format casting functionality, if the base
  type is BCn but UAV is allowed for an RGBA32_UINT cast.
v1.27
2023-06-01 13:00:03 +01:00
baldurk 00dc732f10 Ensure we create a sufficient heap for oversized resources
* This heap will only have one resource, but the code handles that and bumps the
  next resource to a new heap.
2023-05-26 18:59:53 +01:00
baldurk d132b57582 Disable fpsmon vulkan layer 2023-05-26 13:08:40 +01:00
baldurk 780ea478b1 Implement support for new barriers & resource creation functions 2023-05-22 16:24:34 +01:00
baldurk 2777a25345 Refactor resource creation functions to use common path
* This does require some awkward dispatching as the functions are almost but not
  entirely the same.
2023-05-22 16:24:34 +01:00
baldurk 14bd9f8182 Convert state tracking to handle new barrier resource layouts 2023-05-22 16:24:34 +01:00
baldurk 7de3fb54ee Implement new D3D12 state & state setting commands 2023-05-19 14:54:39 +01:00
baldurk 28dcc80892 Implement D3D12's CreateSampler2 and new sampler parameters 2023-05-19 14:54:39 +01:00
baldurk d3edbc5dd1 Stub out new D3D12 device and command buffer interfaces
* These are currently non-functional but will be implemented in follow-up
  commits so they're not committed disabled (inaccessible via QueryInterface
  etc).
2023-05-19 13:28:05 +01:00
baldurk 81ac9f9117 Support small added features in new D3D12 headers
* Triangle fans
* 16-bit types in shader declarations
* Trivial/non-wrapped new interface versions
* New mostly-ignorable enums: D3D12_COMMAND_LIST_TYPE_NONE,
  D3D12_COMPARISON_FUNC_NONE
* Alpha constant blend factors
* New sampler filtering with anisotropic min/mag and point mip
* New ABGR4 format
* MSAA UAVs
* Allow SM6.7
2023-05-19 13:28:05 +01:00
baldurk 91b084a2df Update D3D12 headers to verison 1.610.1 2023-05-19 13:28:04 +01:00
baldurk 771aa8e769 Fix incorrect return type 2023-05-19 10:58:29 +01:00
baldurk 203fc8382a Don't open symlinks when opening logfile 2023-05-19 10:47:12 +01:00
baldurk 1f72a09e3b Sanitise strings printed when received from target control/remote server
* Given socket corruption or network errors these strings could contain
  unprintable characters so we sanitise them reasonably. This also ameliorates a
  potential security concern with arbitrary strings being written to a log, but
  these connections are still considered trusted and users should not be
  exposing RenderDoc ports to the internet.
2023-05-19 10:28:58 +01:00
baldurk e0464fea4f Don't call ReadLargeBuffer for socket reads
* In ReadLargeBuffer we read directly into an external buffer with ReadExternal,
  but for sockets when reading externally we want to read ahead of the current
  spot (non-blocking) as much as possible to batch small reads together. Rather
  than making ReadExternal handle or detect reads to external buffers, we
  instead avoid ReadLargeBuffer as it is an optimisation for direct I/O to avoid
  unnecessary memcpy's and is not relevant for sockets.
2023-05-19 09:58:49 +01:00
baldurk 601ed56111 Verify array sizes when serialising for strings
* We also limit the array size to 1GB for 32-bit. The 4GB/1GB limit is far
  larger than reasonable for strings but can be handled the same way regardless.
2023-05-19 09:57:03 +01:00
baldurk e33629cac8 Add GPU syncs between potential moves across different queues 2023-05-18 17:27:18 +01:00
baldurk d57a7c9979 Fix error message in D3D12 compute test 2023-05-18 17:04:39 +01:00
baldurk 978ac93fb0 Remove fatal errors in XML codec 2023-05-18 14:32:17 +01:00
baldurk 1d199ead7e Fix a potential crash if a map fails during replay 2023-05-17 11:18:22 +01:00
baldurk 1a2db41fa8 Work around further broken Intel occlusion queries. Closes #2925 2023-05-16 17:53:16 +01:00
baldurk f621e5e083 Fix reversed uint/int bindings in glsl custom shader templates 2023-05-16 17:53:16 +01:00
baldurk e7f3f571d9 Fix QPointer not being properly initialised 2023-05-16 17:53:16 +01:00
nikplu d57c1068bd Fix mapping GL_INT_2_10_10_10_REV and GL_UNSIGNED_INT_2_10_10_10_REV 2023-05-15 14:12:20 +01:00
baldurk 6817d07d5e Increase LZ4 block size to 1MB 2023-05-08 15:51:14 +01:00
baldurk 1f4e83986e Potential fix for Android thread race condition
* Synchronous commands are on the stack, so incrementing the done flag should be
  the last thing we do to interact with them. That includes checking for self-
  deletion afterwards
2023-05-08 14:23:03 +01:00
baldurk 9a21a66f7c Fix potential race when destroying windows while command is in flight 2023-05-08 14:23:03 +01:00
baldurk 5b81eff759 Try to avoid timeouts on draws with huge number of instances with GS 2023-05-08 14:23:03 +01:00
Jake Turner 3f72d8fe75 Support launching .app files without NSBundle
Downgrade the Error to a Warning and return the .app file path as the executable path
2023-05-06 11:56:44 +01:00
baldurk 279a827c73 Add a function to reset memory blocks without freeing them
* This can be used only when all resources are safely freed, but means the
  memory can be re-used.
2023-05-05 12:28:35 +01:00
baldurk 3e21a26f84 Delete frame capture chunks once capture has been written 2023-05-05 12:28:35 +01:00
baldurk 1a9f49776a Use placed resources and batched heaps for D3D12 initial contents 2023-05-05 12:28:35 +01:00
baldurk d891a31c90 Make android timeouts even more ludicrously generous 2023-05-05 12:28:35 +01:00
baldurk f413d4d084 Defer memory frees onto a thread 2023-05-05 12:28:35 +01:00
baldurk 6d765b1cc6 Batch padding bytes above 1k 2023-05-05 12:28:35 +01:00
baldurk ea5240be2e Try to handle processes on linux that fork without exec
* This is common since bash does it, so running a bash script will likely hit
  it.
2023-05-05 12:28:35 +01:00
baldurk eb3fa8dddd Use strerror over strerror_r which is not consistent 2023-05-05 12:28:35 +01:00
thisisjimmyfb 8f23e3c8f2 fix gles pixelhistory crash 2023-05-05 11:25:00 +01:00
baldurk 8b8067b224 Flush mapped non-coherent memory. Closes #2931 2023-05-04 18:08:48 +01:00
baldurk 8fe6c209f8 Fix infinite recursion on android getting environment variables
* We changed all uses of getenv to our Process::GetEnvironmentVariable in
  a1422df, but on android this causes an infinite recursion because its
  implementation of GetEnvironmentVariable uses LaunchProcess to query for the
  variable, which then tries to look up the PATH variable (which does not exist
  on android).
2023-05-04 17:28:01 +01:00
baldurk 9e93154383 Fix sphinx rtd theme for new sphinx version 2023-05-01 17:43:49 +01:00
baldurk b115a6750b Pass instance to GetInstanceProcAddr fetching vkCreateDevice 2023-05-01 16:28:42 +01:00
leo-paul.couturier eb643dd76f add windows.storage.dll to the list of ignored libraries 2023-04-27 10:51:39 +01:00
baldurk a1422df961 Force use of getenv/setenv directly from libc to avoid bash override
* Bash overrides getenv/setenv to look up its own variable set, but breaks since
  we need to modify the environment before main() when it initialises its
  variable set. Instead what happens is the first setenv initialises that
  variable in a blank set and so all subsequent environment variables are NULL.
  Then in main() the variable set gets initialised from environ, removing any
  changes that were made.
2023-04-26 14:01:54 +01:00
baldurk 9998714b50 Unwrap vulkan fences in present fence information struct 2023-04-26 13:09:30 +01:00
baldurk 0e55a9c0e5 Detect structures with all-NULL members, and display as NULL
* This is an implicit transformation that llvm makes normally at constant load
  time, we do it only for disassembly.
2023-04-25 17:14:57 +01:00
baldurk 644157be56 0 is not a forward reference in DXIL phi nodes 2023-04-25 17:14:57 +01:00
baldurk 527caea7a8 Handle pointer types being missing from DXIL shaders
* Pointer types implicitly referenced by objects but not directly (like global
  variable or alloc/gep pointers) are not guaranteed to be present, so we need
  to add them ourselves to parse correctly and identically to LLVM.
2023-04-25 17:14:57 +01:00
baldurk 12a963056e Fix wrong operand being used to look up resources in gather4 opcodes 2023-04-25 17:14:57 +01:00
Jake Turner e11130580a Update comments about RDMTL structs
Wrong name in comment:
MTLVertexBufferLayoutDescriptor is now MTLVertexDescriptor

Added comments for
FunctionGroup
MTLRenderPassDescriptor
2023-04-25 14:09:01 +01:00