Commit Graph

11021 Commits

Author SHA1 Message Date
baldurk 08cd7ae0e0 Handle explicit debug info
* Some locations are given as metadata even though most appear through
  DEBUG_LOC, so ensure we handle these.
2020-06-18 17:22:41 +01:00
baldurk 8b57989b3f Disassemble global variables with initialisers properly 2020-06-18 17:22:41 +01:00
baldurk c8742a1456 Handle extract/insert/shuffle vector and aggregate operations
* DXIL supposedly won't use these, but handle them just in case
2020-06-18 17:22:41 +01:00
baldurk a6c8949335 Handle compare and select operations 2020-06-18 17:22:41 +01:00
baldurk d99a8536ca Decode alloca/gep/load/store 2020-06-18 17:22:41 +01:00
baldurk 591e02b565 Handled attached metadata 2020-06-18 17:22:40 +01:00
baldurk 10da3b73ae Add support for DISubrange 2020-06-18 17:22:40 +01:00
baldurk 9697bc294d Add helper to find and cache void type 2020-06-18 17:22:40 +01:00
baldurk 0000916e75 Expose svbr rotated encoding as static member of LLVM bit reader 2020-06-18 17:22:40 +01:00
baldurk bfea4427aa Stub out exception handling instructions we don't expect to appear 2020-06-18 17:22:40 +01:00
baldurk 657a5a0c39 Handle binops in functions 2020-06-18 17:22:40 +01:00
baldurk 6f950afea7 Fix display of double values 2020-06-18 17:22:40 +01:00
baldurk 84da098a00 Only pad exponential float printing of exponent to 2 decimal digits 2020-06-18 17:22:40 +01:00
baldurk 41cf02aa53 Use %e for printing floats 2020-06-18 17:22:40 +01:00
baldurk ef076f962a Disassemble all bitcasts the same way 2020-06-18 17:22:40 +01:00
baldurk 4c4cdae5a9 Remove extra space in type declarations 2020-06-18 17:22:40 +01:00
baldurk 80205a887c Add special zeroinitializer disassembly 2020-06-18 17:22:40 +01:00
baldurk c94b157165 Remove bitcode dump functions 2020-06-18 17:22:40 +01:00
baldurk 39eb8da8f2 Move disassembly to separate file 2020-06-18 17:22:39 +01:00
baldurk 3dfb9a069d Parse and disassemble function blocks 2020-06-18 17:22:39 +01:00
baldurk 297ba38e94 Remove unused GetDisassemblyLine function 2020-06-18 17:22:39 +01:00
baldurk 0869f338bc Handle local debug information metadata 2020-06-18 17:22:39 +01:00
baldurk c29fce8366 Count line numbers for disassembly 2020-06-18 17:22:39 +01:00
baldurk 25321e741f Decode metadata for global debug information 2020-06-18 17:22:39 +01:00
baldurk d28bab8c79 Handle (but skip) STAT DXIL chunk 2020-06-18 17:22:39 +01:00
baldurk 8727b2aa88 Implement constant block parsing 2020-06-18 17:22:39 +01:00
baldurk 395e8325c2 Implement handling for function types and declarations 2020-06-18 17:22:39 +01:00
baldurk 143181d829 Process types record 2020-06-18 17:22:39 +01:00
baldurk 144e8057c1 Improve LLVM record dumping a bit 2020-06-18 17:22:39 +01:00
baldurk 0c54db28aa Stub types and constants blocks 2020-06-18 17:22:39 +01:00
baldurk 99aa195e40 Handle attributes 2020-06-18 17:22:38 +01:00
baldurk 327d82e8ad Stub parsing of global symbol types 2020-06-18 17:22:38 +01:00
baldurk fb7bb9cd28 Handle new location for shader hashes 2020-06-18 17:22:38 +01:00
baldurk 4c8c16d95f Fall back to device preferred ABI if package has none. Closes #1944 2020-06-18 17:22:02 +01:00
baldurk 71e749aba5 Add missing handling for extension struct 2020-06-16 19:04:57 +01:00
baldurk f85f74b0f2 Only process non-data actions on android. Closes #1943 2020-06-16 15:27:40 +01:00
baldurk a6d06642b5 Ensure we don't trash state while debugging 2020-06-16 15:27:40 +01:00
baldurk 36f5c90757 Add missing references not being tracked in background on vulkan 2020-06-16 15:27:40 +01:00
baldurk 6915f07184 Fix image states being removed too early on image destruction
* This causes problems if we're doing a last-second initial state prepare on
  destruction.
2020-06-16 15:27:40 +01:00
baldurk dc98283de6 Avoid potential crashes trying to compile 0-byte shaders 2020-06-16 15:27:39 +01:00
alex 9414beaed2 Support multiple custom shaders directories for Texture Viewer 2020-06-16 11:47:52 +01:00
alex c1612f5d46 Add Texture Viewer custom shaders directory setting 2020-06-16 11:47:52 +01:00
sindney 34b3484baa Update decode_mesh.py 2020-06-16 11:01:28 +01:00
sindney 689f6960c0 fix unpackData max negative 2020-06-16 11:01:28 +01:00
sindney 8e267c01ba fix unpackData bug when unpacking UNorm and SNorm data 2020-06-16 11:01:28 +01:00
baldurk df575a17b4 Ensure all texture parameter set & get happens with active texture 0
* It's unclear exactly what happens when a different active texture is set, the
  spec seems to suggest that the active texture unit is ignored for most queries
  that aren't about texture-slot bindings but then it doesn't say explicitly
  whether that means glBindTexture() with a non-zero active slot will then bind
  the texture for querying or not.
* For safety and simplicity we always work on texture unit 0. On replay this is
  most simply accomplished by pushing and popping the active slot at the same
  time that we push and pop the binding for our EXT_direct_state_access
  emulation.
* For the couple of cases that happen during capture when we might not be
  emulating EXT_direct_state_access, we push and pop by hand.
2020-06-15 15:44:09 +01:00
baldurk 43eaca0266 Don't fetch mip/layer for renderbuffers
* Renderbuffers are a legacy concept that some programs still use, but they
  don't have array layers or mips
2020-06-15 15:44:09 +01:00
baldurk 9805c9d662 Fix calculation of index buffer offset. Closes #1948 2020-06-15 15:44:09 +01:00
thisisjimmyfb 52967ad291 Eliminated MarkDirtyWithWriteReference
because it is interfering with the reference
tracking for skipping cleared or don't care
renderpasses
2020-06-15 15:43:52 +01:00
thisisjimmyfb 58a6d7eb76 skip initial states for cleared renderpass
also refactored the postpone logic
2020-06-15 15:43:52 +01:00