Commit Graph

2695 Commits

Author SHA1 Message Date
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
baldurk 666c9c078b Don't accept size==0 on vkMapMemory, check for VK_WHOLE_SIZE 2016-02-07 18:51:04 +01:00
baldurk 73ad2e7b1d Remove references to $(ProgramFiles)\Windows Kits in search paths 2016-02-07 18:51:03 +01:00