Commit Graph

9651 Commits

Author SHA1 Message Date
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 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
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 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 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
Jake Turner 6dbb7a3a86 Serialisation for MTL::IndexType 2023-04-25 14:09:01 +01:00
eclazi 3a03625651 Update comment 2023-04-25 14:07:38 +01:00
eclazi e140b6c68d Add path to DIA SDK dlls for VS 2022 installations 2023-04-25 14:07:38 +01:00
baldurk 894e20c470 Disallow querying for internal D3D interface. Closes #2923
* This interface does some undocumented things and then creates unwrapped
  resources, which can't be wrapped and hooked. Since the interface is not
  public it can't be wrapped safely, and must be blocked.
2023-04-25 11:36:24 +01:00
Henry Rose ae718049f6 correct dynamic rendering stencilAttachmentFormat 2023-04-21 10:32:14 +01:00
baldurk ba81d81c3a Fix compile error 2023-04-20 13:56:01 +01:00
baldurk 90950d9a84 Don't try to render 0x0 thumbnails 2023-04-20 11:24:26 +01:00
baldurk f129b5c745 Use access chain for looking up builtins from struct. Refs #2911 2023-04-20 11:12:25 +01:00
baldurk 86b575b0e5 Respect drawbuffers when they aren't simple direct 1:1 with attachments 2023-04-17 15:01:20 +01:00