Commit Graph

14777 Commits

Author SHA1 Message Date
Jake Turner a711d219d1 Serialise ShaderDebugInfo::entrySourceName Closes #3353
Required to get the correct entry point when working with remote captures
2024-06-12 15:22:56 +01:00
Jake Turner d031ec4195 Set baseResourceMem for buffer and image resources Closes #3346 2024-06-11 12:05:27 +01:00
Jake Turner 141354a2a4 Extended VK_KHR_Buffer_Address test to cover #3346
One extra draw from GPU memory which doesn't change and is unmapped during the draw loop
2024-06-11 12:05:27 +01:00
Kanglai Qian 27867cc456 extend StoreCompressedTexData for update & subupdate 2024-06-11 11:02:29 +01:00
Joshua Ashton 1a90eed007 Fix segfault with EXT_acquire_drm_display
This needs to be added to HookInitVulkanInstanceExts, like the other KHR_display functions.

Fixes a segfault when Renderdoc'ing SteamVR.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-06-11 10:35:13 +01:00
Jake Turner e99e18e0d6 DXIL Disassembly always show the Buffer index for Store operations
i.e.

bufOut[0] = {_18};
*(&bufOut[0] + 8 bytes) = {_35};
2024-06-07 13:25:58 +01:00
baldurk 9741bacc7b Fix wrong number of shader stages in fixed array 2024-06-07 10:40:41 +01:00
baldurk 9aa57e5aaa Handle root signatures not being specified on pipeline create
* If the root signature is embedded in a shader somewhere we need to pull it out
  for access.
2024-06-06 15:49:06 +01:00
baldurk 80f49ea8e4 On D3D11 destroy swapchain-related resources immediately. Closes #3343
* During capture if ResizeBuffers is called we can't defer destruction to the
  end of the capture as it will cause the function to fail due to refcounting
  rules.
2024-06-06 14:55:25 +01:00
baldurk 1bdffb18a6 Fix access to incorrect GPU address tracker 2024-06-06 14:55:24 +01:00
Jake Turner d6c94b20bc DXIL Debugger preparation changes
Add DXILDebug::[Debugger,ThreadState] as friends to DXIL::Program
Expose DXIL::isUndef(const DXIL::Value* v); for use in the DXIL Debugger
Add more stubs to DXILDebug::[DebugAPIWrapper, ThreadState, GlobalState]
2024-06-06 12:15:03 +01:00
Jake Turner 5d4d3e0c0d Fix incorrect parameter argument to DXIL::Program::ArgToString 2024-06-06 12:09:29 +01:00
Jake Turner 6749ad1770 Remove static DXIL::dxcStyleFormatting and DXIL::dxilIdentifier
Pass in bool dxcStyleFormatting parameter to helper functions
Derive dxilIdentifier from dxcStyleFormatting i.e. '%' or '_'
DXIL Debugger and RD Disassembly specific helper methods choose to use "dxcStyleFormatting = false"
2024-06-05 15:09:01 +01:00
baldurk ad35a251b0 Add PR/Push specific commit message handling in CI
* The previous ignoring of the top commit was to avoid badly-written merge
  commits added by github, we want to continue doing that for PRs but check all
  commits on push as a safety measure.
2024-06-05 13:47:18 +01:00
baldurk 1b81c02919 Add GLES clip control extension equivalence. Refs #3336 2024-06-05 13:11:44 +01:00
Jake Turner e64bf288b0 Tweak Mac CI workflow to fix github CI warnings 2024-06-04 13:32:02 +01:00
baldurk 6134e05525 Update checkout actions on CI 2024-06-04 11:10:21 +01:00
baldurk 9b62337a13 Compile fixes 2024-06-04 10:40:00 +01:00
baldurk a7e9a60280 When patching mesh shaders only consider globals for its entry point
* For shaders with multiple entry points we can't process outputs for other
  entry points that may not be arrayed.
2024-06-04 10:08:08 +01:00
baldurk af67b951de Ensure descriptor sizes are properly initialised in default pipe state 2024-06-04 10:08:08 +01:00
baldurk aecaa7e208 Calculate texture byte sizes as 64-bit on GL and Vulkan. Closes #3338 2024-06-04 10:08:08 +01:00
baldurk 44f9f24ace Add correct support for GL_EXT_clip_control on GLES. Closes #3336 2024-06-04 10:08:08 +01:00
Jake Turner 70d93f14db DXIL Disassembly small tweaks
Change some RDCASSERT(a == b); to RDCASSERTEQUAL(a,b); now that the stringise exists for the data types
2024-06-03 17:31:08 +01:00
Jake Turner f4e361eba8 Fix spelling mistake "preceeded" in DXIL Disassembly output 2024-06-03 13:55:38 +01:00
Jake Turner dcaba505cd DXIL Disassembly Refactoring to use GetArgId instead of ArgToString 2024-06-03 13:48:12 +01:00
Jake Turner 38340e3cb1 DXIL Debugger foundation refactoring
Removed "rdcstr Program::GetResourceReferenceName(ResourceClass resClass, const BindingSlot &slot) const"
Moved "DXIL::BindingSlot" to "DXILDebug::BindingSlot"
2024-06-03 13:06:54 +01:00
Jake Turner ccde0a261f DXIL Disassembly use switch...case for handling DXOp Opcodes
Simplifies code compared to the previous if...else if's
2024-06-03 13:01:09 +01:00
Jake Turner ce3477d7ab Added stringise for DXIL::Type::TypeKind 2024-06-03 12:48:13 +01:00
Jake Turner 133a1d6a40 Added DXIL::Program helper methods
static void MakeResultId(const Instruction &inst, rdcstr &resultId);
Id GetArgId(const Instruction &inst, uint32_t arg) const;

Used const reference on ResourceReference constructor
2024-06-03 12:39:44 +01:00
Jake Turner c731589bd0 Added DXIL support to DXBCContainer::FillTraceLineInfo
The DXBC container adds output to the disassembly view, need to include that output when computing the per instruction lineInfo "disassemblyLine" value

Removed "void Program::ProcessFunctions(std::function<bool(const Function *)> callback) const;"
2024-06-03 12:32:21 +01:00
Jake Turner 701220cc63 RD DXIL Disassembly fix getival to work with Literal
Inlined getival to get around template instantiation outside of the compilation unit
2024-06-03 12:26:09 +01:00
Jake Turner a6b018b44b Added size_t DXIL::Program:::GetInstructionCount() const; 2024-06-03 12:24:32 +01:00
Jake Turner 8c23b861d8 Change DXBC::BasicDemangle() to pass by reference instead of value 2024-06-03 12:21:57 +01:00
Jake Turner ebbea348bc Added dxil_stringise.cpp
Moved DoStringise() methods from dxil_reflect.cpp and dxil_disassemble.cpp to dxil_stringise.cpp
2024-06-03 12:12:44 +01:00
Jasmine Hansen 71b8a7d600 Update postvs and overlay helpers for shader object 2024-06-03 09:58:41 +01:00
baldurk 205b627dd4 Bump version to v1.34 2024-05-31 20:23:54 +01:00
baldurk cae2893238 Fix CI checking commit messages not checking latest
* Also ignore (temporarily?) a commit that fails the check
v1.33
2024-05-31 18:39:06 +01:00
baldurk 341f9a689b Fix shader viewer bookmarks to work with editing and viewing shaders
* Previously it was only applied for debugging shaders.
2024-05-31 15:26:07 +01:00
baldurk 56976ff4a5 Make missing postvs outputs non-fatal 2024-05-31 15:25:47 +01:00
Jake Turner 76f917621b Ignore static bindings which are not present in the descriptor set layout 2024-05-31 11:38:33 +01:00
Jake Turner 171278bfca For descriptor copies don't try to mark the AS as frame referenced 2024-05-31 11:13:40 +01:00
baldurk be905c031d Only apply contrasting foreground colour if there is a background colour 2024-05-30 12:31:51 +01:00
baldurk 62e7ccda1c Update shader fetch example for new APIs 2024-05-29 10:57:37 +01:00
Jake Turner 886d7f6eda RD DXIL Disassembly simplify the getelementr ptr demangle code
Similar to DXBC::BasicDemangle() which can't be used because the pointer string is an escaped string
2024-05-29 07:29:05 +01:00
Jake Turner 44fdde8b3e DXIL Disassembly tweaks to getelementptr, RawBufferLoad, RawBufferStore
Fixed getelementptr showing raw type and converted type
Improved RawBufferLoad, RawBufferStore display when displaying byteOffset
2024-05-29 07:28:33 +01:00
Jake Turner 1a36875bc0 Do not include immutable sampler-only descriptors in initial state 2024-05-29 06:01:28 +01:00
baldurk 45db4fef33 Handle getting descriptor access at EIDs where root params are unbound 2024-05-28 15:09:11 +01:00
baldurk 11463be8a7 Update stale mentions of Vulkan 1.2 2024-05-28 15:09:11 +01:00
Jake Turner 666c248b3a RD DXIL Disassembly : don't show "unknown" cbuffer member data
Fallback to show the cbuffer load i.e.

_dx.types.CBufRet.i32 _50 = cbuffer1.Load(byte_offset = 80);
2024-05-28 11:49:59 +01:00
Jake Turner 322722feba RD DXIL Disassembly handle non 32-bit cbuffer loads
Use the byte size of the return struct to determine how to iterate over the cbuffer members and choose which ones to display.
Cbuffer members which don't fit into the return struct element size are displayed as "<padding>"
2024-05-27 18:09:05 +01:00