Commit Graph

7591 Commits

Author SHA1 Message Date
baldurk 56c55da9f5 Bypass wrapper for a couple of buffer operations
* This prevents our wrapper from serialising internal operations in the capture.
2018-06-28 18:25:20 +01:00
baldurk bcafe108f6 Make it clear that GL 3.2 and up are supported 2018-06-28 18:25:20 +01:00
baldurk 66946f1b3b Fix handling of sample_info/sample_pos for non-MSAA rasterizer
* Refs #1025 but is not a complete fix as sample evaluation is still not
  working.
2018-06-28 18:25:20 +01:00
baldurk e08f1a4d2e Set proper loader dispatch table while allocating external queue cmd buf 2018-06-28 18:25:20 +01:00
baldurk e16d06960c Thread ID should be read from XML as uint64_t 2018-06-27 20:24:07 +01:00
baldurk 6785272944 Copy stored compressed data on GLES in glCopyImageSubData
* Could be a common pattern with texture streaming to copy a smaller texture's
  mips into the mip-tail of a larger texture, then only provide data for higher
  mips.
2018-06-27 20:24:07 +01:00
baldurk 001c07e079 Serialise glFlush and glFinish 2018-06-27 20:24:07 +01:00
baldurk 2a2ac0624d Handle unsized depth/stencil formats correctly 2018-06-27 20:24:06 +01:00
baldurk 7338316a40 Remove vrapi hooks. Closes #1011
* Unfortunately even with recent fixes, some devices still break when vrapi is
  hooked.
2018-06-26 18:54:29 +01:00
baldurk 34d689b809 Include fetch_counters example in index 2018-06-25 21:58:02 +01:00
baldurk 5e81319424 When replaying a single multidraw draw, ensure the draw index is correct
* We accomplish this by doing a 'multidraw' for even the single draw case, but
  set the parameters for all prior draws to 0 so nothing happens.
2018-06-25 18:14:05 +01:00
baldurk faacec5e96 Read indirect draw count from parameter buffer, not draw indirect buffer 2018-06-25 18:14:05 +01:00
baldurk 43d9a35c45 Specialise stringifaction of glClear bitfield mask 2018-06-25 18:14:05 +01:00
baldurk 87ff61169f Take IDs of input variables from SPIR-V patch data
* If we try and match up input variables by location, and the shader has
  multiple variables mapped to a single location, we end up leaving one variable
  unmapped. We already have the information so we don't have to do this
  inaccurate lookup.
2018-06-25 18:14:05 +01:00
baldurk 0604d037e6 Fix incorrect allocation not allowing space for pathname 2018-06-25 18:14:05 +01:00
baldurk 34e174179a Fix FindDiffRange() check of final non-vector-sized bytes 2018-06-25 18:14:05 +01:00
baldurk 2476474ca9 Add python sample for fetching counters 2018-06-25 18:14:04 +01:00
MagicPoncho 1bd83cca23 Add buffer barriers to "Usage in frame" view
This is very helpful to debug missing barriers by matching the workflow offered for images.
2018-06-23 10:10:49 +01:00
baldurk f0c8efe24d Change colors on timeline bar pips to be color blind friendly. 2018-06-23 10:10:49 +01:00
baldurk 89637d8b35 32-bit compile fix 2018-06-22 21:36:06 +01:00
baldurk 286446b008 Fix threading memory corruption with remote host probe 2018-06-22 19:28:35 +01:00
baldurk ec2806df06 Add context menu for manipulating watch panel 2018-06-22 19:28:34 +01:00
baldurk fc3e527181 If D3DCOMPILE_SKIP_OPTIMIZATION is set, prefer source-level debugging 2018-06-22 19:28:34 +01:00
baldurk 04f214c768 Add toolbar button to switch between HLSL and assembly debugging
* This hopefully makes the HLSL debug mode more obvious to people.
2018-06-22 19:28:34 +01:00
baldurk c5689827a9 Allow clicking anywhere in rX.xyzw to highlight register 2018-06-22 19:28:34 +01:00
baldurk c0317855f8 Show tooltips for known local variables and constants 2018-06-22 19:28:34 +01:00
baldurk 2a6a0f0f95 Support local variables in watch expressions 2018-06-22 19:28:34 +01:00
baldurk 1761f5ab36 Highlight variables/registers that have changed 2018-06-22 19:28:33 +01:00
baldurk 5b3a12cd0c Save and restore tree expansion state when repopulating locals widget 2018-06-22 19:28:33 +01:00
baldurk cb0df2c844 Combine together structs/arrays in HLSL locals panel 2018-06-22 19:28:33 +01:00
baldurk 880f529fda Change mapping representation to be gather-based per variable
* Instead of having an N:N mapping of parts of variables to parts of registers,
  instead we gather everything together under each variable and it has a list of
  registers that comprise it.
* Any gaps are represented as undefined register mappings, for components that
  aren't available in any register.
2018-06-22 19:28:33 +01:00
baldurk 7f117c6356 Support builtin input variables in debugging 2018-06-22 19:28:33 +01:00
baldurk 7751a5749a Limit the section of code we search for inline sites 2018-06-22 19:28:33 +01:00
baldurk 8b5ab06da7 Rename variables panel to registers 2018-06-22 19:28:32 +01:00
baldurk f7b5cca1ab Handle geometry shader register types 2018-06-22 19:28:32 +01:00
baldurk 06b7e39c26 Don't crash if stepping back from last instruction 2018-06-22 19:28:32 +01:00
baldurk 8381a1955e Fix some processing of inline site encoded function annotations 2018-06-22 19:28:32 +01:00
baldurk 377715a61f Don't create tabs for completely empty files in shader viewer 2018-06-22 19:28:32 +01:00
baldurk 568cac2b65 Handle register mapping to special non-indexed builtin output variables 2018-06-22 19:28:32 +01:00
baldurk 77ee70c2d2 Perform #line pre-processing earlier, so it's picked up when reflecting
* If we only do this preprocessing when generating a disassembly string, it's
  not done when the files in the shader reflection are fetched.
2018-06-22 19:28:31 +01:00
baldurk 9b9451971a Match builtin outputs by semantic instead of by name
* Fixes a spurious error which was actually correctly handled.
2018-06-22 19:28:31 +01:00
baldurk 199a1f6de5 Add stencil reference as a supported shader builtin 2018-06-22 19:28:31 +01:00
baldurk 233fbedf35 Store more type information to resolve struct members in reg mapping
* Also adds support for arrays in the type info
* We allow register mapping aliasing since it can happen during function calls
  if the same local is declared in two places - the PDB doesn't seem to add a
  gap for the 'parent' variable unfortunately.
2018-06-22 19:28:31 +01:00
baldurk 38acb9175a Indexable temp registers always start at component 0 2018-06-22 19:28:31 +01:00
baldurk c0200b66c8 Check for presence of debug info before fetching line mapping 2018-06-22 19:28:31 +01:00
baldurk 2b7d9aea38 Create a line-to-instruction map to allow breakpoints/cursor-run in HLSL 2018-06-22 19:28:30 +01:00
baldurk 52e9a6c01d Pass through line-mapping information for each instruction to UI
* This lets the UI highlight the source line as stepping happens, as well as
  allowing stepping purely in HLSL.
2018-06-22 19:28:30 +01:00
baldurk ff9f5675e9 Display high-level language locals corresponding to registers 2018-06-22 19:28:30 +01:00
baldurk e2dcd902cd Gather and display callstack information during shader debugging 2018-06-22 19:28:30 +01:00
baldurk 165434a1f0 For completely unknown GL functions, return the original function
* CheckUnsupported handles all known compatibility GL functions and extension
  functions, so this would only be true for an unpublished or completely new
  extension. It might break, but if it's an internal function call it's better
  to pass it through.
2018-06-22 19:28:30 +01:00