Commit Graph

7577 Commits

Author SHA1 Message Date
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
baldurk 55c1ace6ef Fix incorrect serialisation of ProgramUniformValue. Closes #1019 2018-06-22 19:28:30 +01:00
Remi Palandri 0d7dd0aaa7 disable eglSwapBuffers if VR markers are being used 2018-06-21 19:32:50 +01:00
baldurk 56d22706a8 Fix incorrectly sized ColorMask array. 2018-06-21 19:31:37 +01:00
baldurk 809e5f6c2f Make sure proxy textures have minimum dimensions in case of 0x0 size 2018-06-21 17:46:15 +01:00
baldurk 0d329b213f Add remap for RGBA4 2018-06-21 17:46:15 +01:00
baldurk 24adf08a75 Remove references to deleted CommonPipelineState 2018-06-21 17:46:15 +01:00
baldurk 83a0066f00 Add support for VK_KHR_image_format_list 2018-06-21 17:46:15 +01:00
baldurk 7958107bdc Clear GL array texture data cache in ReplayLog
* Otherwise the array data could be stale if we request the same array's data
  over again.
2018-06-21 17:46:15 +01:00
baldurk f1318b0961 Don't use LastCaptureFilePath for import file browser 2018-06-21 17:46:15 +01:00
baldurk 427f1fe0ac If a buffer is somehow 0 bytes, create it as at least 4 bytes
* This is harmless padding and will avoid some errors on creation.
2018-06-21 17:46:15 +01:00
baldurk 91ec7f6c81 On GLES in emulated glGetTexImage, do manual blit from ALPHA to R8
* We emulate the readback by creating an FBO, binding the texture, and reading
  it back. Unfortunately a texture with type GL_ALPHA can't be bound to an FBO,
  so the readback fails.
* As a fix, we do a manual draw to a temporary R8 texture with the same
  dimensions, then read it back the conventional way. This is wasteful but the
  only way.
* In future there may be other formats that can't be bound to an FBO but aren't
  compressed.
2018-06-21 17:46:17 +01:00
baldurk 6b9837e358 Make GL text rendering state pusher/popper available to code generally
* We also push/pop a couple more bits of state - ARRAY_BUFFER binding,
  RASTERIZER_DISCARD enable bit, and color mask
2018-06-21 11:32:23 +01:00
baldurk 5235b2e4b2 Check if RASTERIZER_DISCARD state is available 2018-06-21 11:32:14 +01:00
baldurk d8af674bcb Fix indexed color mask handling in renderstate 2018-06-21 11:32:14 +01:00