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
Jake Turner
e84eed56ff
RD DXIL Disassembly support for "CreateHandleFromBinding"
2024-05-27 17:01:41 +01:00
baldurk
10be601839
Disassemble empty struct definitions as {} to match dxc
2024-05-27 16:21:32 +01:00
baldurk
c0b992f643
Don't try to disassemble textures that are declared as struct members
...
* These are dummy members are not really contained in cbuffers or other structs,
but dxc emits them anyway.
2024-05-27 16:21:32 +01:00
baldurk
b93f23e2fc
Process snorm/unorm input or output variables from shaders
2024-05-27 16:21:32 +01:00
baldurk
0df08e20b4
Handle mesh payloads not coming from global variables
2024-05-27 16:21:32 +01:00
Jake Turner
7362f51b58
RD DXIL Disassembly improvements
...
Handle internal functions which are not in the entry point interfaces i.e. hull shader patch constant helper function
Hand decode SM 6.6 resource handle DX OpCodes: CreateHandleFromHeap, AnnotateHandle
2024-05-27 15:01:28 +01:00
baldurk
12fc6a9835
Use dxc-faithful intrinsic signatures for dxc disassembly
2024-05-27 13:51:56 +01:00
baldurk
170ba62bcf
Handle calling GetDevice for a dxgi device on a swapchain
2024-05-27 10:13:58 +01:00