baldurk
016aadfdcc
Make sure to unwrap pWaitSemaphores in VkPresentInfoKHR
2016-02-07 18:51:48 +01:00
baldurk
6bd2a457b3
Fix overly-conservative buffer data fetch
...
* This could be a big win in the case where a large object is instanced
many times, we only fetch the data for the relevant instance output
data, not ALL the output data.
2016-02-07 18:51:47 +01:00
baldurk
03488c2fa2
Don't reference iterator after it may have been deleted.
2016-02-07 18:51:46 +01:00
baldurk
6655d525d1
Don't enforce max row count for mesh viewer
2016-02-07 18:51:45 +01:00
baldurk
174dd4e0dd
Ignore any non-builtins in a builtin structure from output signature
...
* Works around a bug encountered where the 'gl_PerVertex' struct had
some legacy members like gl_FrontColor and such.
2016-02-07 18:51:44 +01:00
baldurk
6b88e6226f
Handle more inputs than just 16, just in case
2016-02-07 18:51:44 +01:00
baldurk
d0016b91b0
Image Write doesn't have a return value/type
2016-02-07 18:51:43 +01:00
baldurk
cf0bd455c2
EmitVertex/EndPrimitive opcodes have no return type or ID
2016-02-07 18:51:42 +01:00
baldurk
2b89393e55
Proper fix for 32-bit compilation, no cast needed on debug callback
2016-02-07 18:51:41 +01:00
baldurk
f0a060443b
Fix for shader disassembly error - pop all loop stacks
2016-02-07 18:51:40 +01:00
baldurk
52160d66a5
Fix win32 build with explicit cast
2016-02-07 18:51:39 +01:00
baldurk
8d5de74784
Disassemble OpSwitch correctly
2016-02-07 18:51:38 +01:00
baldurk
6a3cb34027
Bring together several more 'function'-like operations
2016-02-07 18:51:37 +01:00
baldurk
4825b67e62
Change naming for "dd?" functions
2016-02-07 18:51:37 +01:00
baldurk
cc75e660ed
Reverse-Z detection on output for vulkan
2016-02-07 18:51:36 +01:00
baldurk
a9ed1c8c02
Explicit lod image sample instructions can also just have a grad value
2016-02-07 18:51:35 +01:00
baldurk
8bc3768ec0
Handle wordcount varying between DRef and other image sample ops
2016-02-07 18:51:34 +01:00
baldurk
c5e32d47c4
Declare variables after processing func if they aren't declared inline
2016-02-07 18:51:33 +01:00
baldurk
21fc9f69d4
Add missing opcode ToStr case
2016-02-07 18:51:32 +01:00
baldurk
55c6eaf7d6
Fix 64-bit constant handling
2016-02-07 18:51:31 +01:00
baldurk
5e61958a1f
Handle infinite while loops (no condition on the exitflow condition)
2016-02-07 18:51:30 +01:00
baldurk
90c12de53a
Hide struct packing decorations as it's just noise
2016-02-07 18:51:30 +01:00
baldurk
23ed430f8b
Don't merge function calls together, since it makes side-effects unclear
2016-02-07 18:51:29 +01:00
baldurk
4065d4d3e3
Handle OpInBoundsAccessChain the same as OpAccessChain
2016-02-07 18:51:28 +01:00
baldurk
1741762543
Add a bunch of similar math/unary operations
2016-02-07 18:51:27 +01:00
baldurk
b1ce9de562
OpLine handling needs to be reworked
2016-02-07 18:51:26 +01:00
baldurk
8e633c2e46
Fix some indenting
2016-02-07 18:51:25 +01:00
baldurk
93dac6d4d0
Disassemble image sample operations better
2016-02-07 18:51:24 +01:00
baldurk
1dc1f071ff
Add support for a couple of misc opcodes
2016-02-07 18:51:23 +01:00
baldurk
254321fcd1
Quick hacks to show SPIR-V disassembly with hlsl highlighting
2016-02-07 18:51:23 +01:00
baldurk
1d15a4b2ca
Bump up maximum image attachments on framebuffer by 1 (8 colour + depth)
2016-02-07 18:51:22 +01:00
baldurk
b4a9e58a87
Don't add extra memory heap if not fiddling with memory types
2016-02-07 18:51:21 +01:00
baldurk
54a9c8bfd5
Use atomic operations to modify resource record refcount
...
* Scary that this has been broken for so long!
2016-02-07 18:51:20 +01:00
baldurk
c94e2e60b7
Don't add cache as parent if it's set to NULL
2016-02-07 18:51:19 +01:00
baldurk
c7269afff2
Add missing lock around m_ImageLayouts access
2016-02-07 18:51:18 +01:00
baldurk
e3b306d861
Fix temp memory size calculation
2016-02-07 18:51:17 +01:00
baldurk
1826c166b5
Avoid allocating/deleting array during capture when it's not needed
2016-02-07 18:51:16 +01:00
baldurk
a98a5fe923
Make sure to unwrap parameters to vkInvalidateMappedMemoryRanges
2016-02-07 18:51:15 +01:00
baldurk
3f869e55c1
Handle Queue not being created (usually if device is destroyed quickly)
2016-02-07 18:51:15 +01:00
baldurk
d3c52bbe90
Handle immutable samplers correctly on writing, they are wrapped already
2016-02-07 18:51:14 +01:00
baldurk
3eca6b5783
Use InstanceIndex and VertexIndex instead of InstanceID and VertexID
...
* These are the only supported indices in vulkan, and need careful
rebasing to obtain 0-based indices from them.
2016-02-07 18:51:13 +01:00
baldurk
ee7e050756
Set specialization constants properly when creating pipelines
2016-02-07 18:51:12 +01:00
baldurk
61dae8648f
Make disassembly resiliant to missing children
...
* For now this is lack of handling of spec constant IDs, but remember
this could happen any time in future due to unknown SPIR-V extensions.
2016-02-07 18:51:11 +01:00
baldurk
fa3043e5c1
Set specialization constant size
2016-02-07 18:51:10 +01:00
baldurk
c686dd2220
Make sure to only assign string without any trailing chars
2016-02-07 18:51:09 +01:00
baldurk
51cffd3bb7
Serialise specialization info correctly
2016-02-07 18:51:08 +01:00
baldurk
1f69ebdfe5
Skip push constant constant blocks when adding resource usage
2016-02-07 18:51:08 +01:00
baldurk
0b47a7f9ad
Don't use pipeline caches on replay
2016-02-07 18:51:07 +01:00
baldurk
79ea895e78
Check for fences being live (a bit pointless, but consistent)
2016-02-07 18:51:06 +01:00
baldurk
6dd4381669
Handle sub-elements of VkGraphicsPipelineCreateInfo validly being NULL
2016-02-07 18:51:05 +01:00