Commit Graph

9365 Commits

Author SHA1 Message Date
baldurk 20be9f3d52 Add ReplayOptions struct to contain replay-time configuration
* Not currently exposed to the UI or used by the drivers, we just pass the
  default object through
2019-08-27 18:51:56 +01:00
baldurk 878acd4ad9 Add a function to enumerate which GPUs are available at replay time 2019-08-27 18:51:56 +01:00
baldurk d81331918e Save info about the used GPU on D3D11, D3D12 and GL
* On GL this is purely informational, but on D3D11 and D3D12 we use this to
  select the closest available adapter on replay, as we already do on Vulkan.
2019-08-27 18:51:56 +01:00
baldurk 8c6fc67acd Make it extra clear that RenderDoc needs to find the Android SDK 2019-08-27 18:51:56 +01:00
baldurk 04a221226d Identify Google Swiftshader and Microsoft WARP PCI vendor IDs 2019-08-27 18:51:55 +01:00
baldurk f46ec7c21e Fix leaking resource when creating dummy/proxy vulkan driver 2019-08-27 18:51:55 +01:00
baldurk f53f52b172 Fix loads of subsequent D3D12On7 captures 2019-08-27 18:51:55 +01:00
baldurk c579c6f264 Be a bit more explicit about the GL disassembly being SPIR-V if it fails 2019-08-27 18:51:55 +01:00
Connor Abbott 09e6d7ca58 Only copy existing bindings in PatchReservedDescriptors()
* Fixes a crash when looking at certain draws in No Man's Sky, which
apparently sometimes binds a descriptor set with fewer bindings than the
layout specified.
2019-08-26 17:08:34 +01:00
baldurk 6971a585aa Fix compilation on 32-bit windows 2019-08-26 16:52:09 +01:00
baldurk af3c242b35 Fix signed/unsigned comparison 2019-08-26 14:52:58 +01:00
baldurk d6289b93d0 Fix check for whether LastCaptureFilePath should be updated 2019-08-26 13:49:58 +01:00
baldurk 2ed4547fe8 Implement support for VK_IMG_filter_cubic / VK_EXT_filter_cubic 2019-08-26 13:33:43 +01:00
baldurk 3b524ea7f1 Fix reflection of arrays-of-binds - textures and buffers 2019-08-26 13:22:26 +01:00
baldurk d38109d047 Fix bindless feedback SPIR-V modification 2019-08-26 13:10:18 +01:00
baldurk b2d8f12fa6 Fix replay of single-int uniforms 2019-08-24 15:49:49 +01:00
baldurk 2a8d7eddec Set sampler name for combined image/samplers in pipeline HTML export 2019-08-23 23:41:19 +01:00
baldurk cf6a021db9 Ignore descriptor writes with descriptorCount == 0 2019-08-23 19:27:52 +01:00
baldurk c2fe16b44a Add support for D3D12On7 2019-08-22 18:43:48 +01:00
baldurk 346ee91f70 Store location not byte offset for loose globals in SPIR-V 2019-08-22 10:16:18 +01:00
baldurk 4c9fec4cb4 Fix calling convention on vulkan layer function. Closes #1500 2019-08-22 10:14:39 +01:00
baldurk c077e8f992 DXC does not have command line parameters in OpModuleProcessed 2019-08-20 15:33:12 +01:00
baldurk a0bc429bef Handle a source line corresponding to multiple instructions
* This can happen with inlined functions
2019-08-20 15:33:12 +01:00
baldurk 4f37a3b15a Handle typed UAV load/store from other formats than 32-bit DWORDs
* DX11 in feature level 11 didn't support these, but newer feature levels add
  additional support that requires decode/encode and truncation to the right
  width
2019-08-20 15:33:12 +01:00
baldurk 07158ad24c Fix support for triangle fans on GL/Vulkan 2019-08-20 15:33:12 +01:00
baldurk 27dcb72b93 Update vulkan headers to 1.1.120 2019-08-20 15:33:12 +01:00
baldurk 0a48833e12 Only make text overlay resources visible in necessary shader stages 2019-08-20 15:33:11 +01:00
Aliya Pazylbekova 5ce8fc7f4a Update name for compute pipelines to Compute Pipeline
From "Graphics Pipeline"
2019-08-16 19:43:42 +01:00
baldurk d60f3020c8 Fix uninitialised variable 2019-08-16 19:08:05 +01:00
baldurk 9e68cbe59b Fix typo in unit tests 2019-08-16 19:00:40 +01:00
baldurk ee43d4377c Account for pipeline specialisation constants when reflecting shaders 2019-08-16 17:38:35 +01:00
baldurk e71f986f84 Set warning level on SPIR-V files in VS project 2019-08-16 17:38:35 +01:00
baldurk 759d034def Update external code to use new SPIR-V reflector, remove old one 2019-08-16 17:38:35 +01:00
baldurk dba34759b4 Add disassembly to new reflector 2019-08-16 17:38:35 +01:00
baldurk 2c815ab93e Add new refactored & simplified SPIR-V reflector 2019-08-16 17:38:35 +01:00
baldurk 556cc5b4ae Refactor spec constants to be stored as uint64_t
* A single spec constant can only contain one scalar (vectors are created with
  composites). We can always store a scalar in uint64_t.
2019-08-16 17:38:35 +01:00
baldurk 0c3b827b35 Test specialization constant IDs and default values properly 2019-08-16 17:38:35 +01:00
baldurk dc660aa26c Allow building SPIR-V with debug info and check debug info in reflection 2019-08-16 17:38:35 +01:00
baldurk 47e10a5c2d Split some parts of SPIRVEditor into SPIRVProcessor
* This will then be shared by a read-only Reflector, with common processing
  to both happening in SPIRVProcessor with extra work happening in each child
  depending on whether it's reflecting/disassembling or editing.
2019-08-16 17:38:35 +01:00
baldurk 936876234c Move SPIR-V utility/parsing/editing code into rdcspv namespace
* Everything except the reflection code which will be replaced
2019-08-16 17:38:35 +01:00
baldurk f32298a4d8 Remove unused values from SPIRVEditor 2019-08-16 17:38:34 +01:00
baldurk e2b8085d78 Use generated helpers for SPIRVEditor 2019-08-16 17:38:34 +01:00
baldurk 9cc8ce6c3b Add generated code based on SPIR-V json grammar
* This includes both our own enums and per-opcode helper structs for decoding
2019-08-16 17:38:34 +01:00
baldurk e03f0c08e4 Add ConstIter for read-only SPIR-V processing 2019-08-16 16:12:01 +01:00
baldurk 3b00566ace Move GLSL reflection tests to common place for SPIR-V to use 2019-08-16 16:12:01 +01:00
baldurk 98c8178c11 Don't ignore output arrays from geometry shaders 2019-08-16 16:12:01 +01:00
baldurk 45b4159648 Set invalid input attribute mappings to -1 in SPIR-V reflection 2019-08-16 16:12:01 +01:00
baldurk 0122448091 Sort cbuffer variables by offset when reflecting SPIR-V
* Struct member declarations don't have to be in offset order, so we need to re-
  sort ourselves
2019-08-16 16:12:01 +01:00
baldurk 3ae359e3d0 Handle reflecting atomic counters in SPIR-V, for GL's SPIR-V 2019-08-16 16:12:01 +01:00
baldurk ee590dc09c For array input/outputs from geometry shader, don't reflect all elements 2019-08-16 16:12:01 +01:00