Commit Graph

7597 Commits

Author SHA1 Message Date
baldurk 5477b289ac Only warn if glBindFragDataLocation is not supported
* This becomes very spammy and there's not much that can be done - we just have
  to hope the program bindings are not variable and end up the same on replay as
  they were on capture.
2018-07-06 20:44:30 +01:00
baldurk db551cd23d Fix missing apply of blend state when indexed blending is not available 2018-07-06 20:44:30 +01:00
baldurk dcfe93d5c6 EXT_draw_buffers2 equivalent isn't available until GLES 3.2 2018-07-06 20:44:30 +01:00
Dzmitry Malyshau 9c9e61a95e Remove unused this in lambdas of ShaderViewer 2018-07-03 22:08:28 +01:00
baldurk 6e8218d0e0 When applying render state, don't assume UAVStartSlot == NumRTVs
* On D3D11.1 the UAV slots can be greater than 8 which is the maximum value for
  NumRTVs.
2018-06-28 18:25:20 +01:00
baldurk 08e7eecd3b Cache EvaluateAttribute* per-sample data for debugging. Closes #1025 2018-06-28 18:25:20 +01:00
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