146 Commits

Author SHA1 Message Date
baldurk 0c009cd578 Fix a crash in vulkan pipeline state export to html 2016-09-12 14:28:46 +02:00
baldurk b6c4e3c612 Don't trash view from tag, to avoid aliasing multiple views of same buf 2016-08-30 17:05:16 +02:00
baldurk 6a7ccb9670 Check if views have the raw flag first before checking struct size 2016-08-30 16:58:39 +02:00
baldurk fb418f883e Add a button to pipeline state view to save shader raw contents to file
* The exact contents depend on the API - on D3D11 this is the bytecode
  blob, on Vulkan it's the SPIR-V. On OpenGL it is just a concatenation
  of all the source files passed in sequence.
2016-08-30 16:43:52 +02:00
baldurk 96e0444183 Hook up SO stream elements to open buffer viewers properly. 2016-08-25 21:07:40 +02:00
baldurk e8e3d50c86 Expose the different local and remote renderers to the UI 2016-08-24 15:53:58 +02:00
baldurk 59bc8254bd Fix potential crash if drawcall is null when showing empty ibuffer 2016-08-05 12:54:13 +02:00
baldurk 610b22f600 Fix a lot of high-contrast inconsistencies or brokenness. Refs #315
* In a couple of places I had to resort to if(IsHighContrast) but mostly
  this is just using system brushes consistently or not assuming black
  text.
* The default DockPanel theme doesn't work well, so make a minimal high-
  contrast theme for it and assign it everywhere.
* The pipeline flow was using fixed colours, use system brushes for the
  different elements and switch based on high-contrast to ensure active
  and inactive stages are visible (using ActiveCaption looks bad on
  normal themes because it's a big block of colour).
* For some reason the flat toolstrip renderer doesn't handle white-on-
  black themes, but the system one does. It's a little clunkier but it
  shows up correctly without writing tons of custom painting code.
* Range histogram uses a properly contrasting colour for the border.
* Treelist views use a better system colour for selected rows when
  inactive and hovered rows (when high contrast).
* Mesh view grids have a system background instead of white
* Various things (pipeline state, mesh viewe) set text colour when
  colourising backgrounds of things instead of assuming black.
2016-08-05 12:46:56 +02:00
baldurk 33ed86a45b Print stencil refs and masks as hex in OpenGL. Refs #303 2016-07-22 21:50:44 +02:00
baldurk fcca358d0c Handle casting view types for swapchains (non-typeless resource) 2016-07-22 19:18:36 +02:00
baldurk 28c1768397 Add menu item to jump from pixel history modifications to each primitive 2016-07-22 14:40:40 +02:00
baldurk 6b32d6a4a2 Fix check for unknown DXGI format 2016-07-21 09:56:53 +02:00
baldurk 4268d8f58f Remove structure size and redundant 32-bit length field from FetchBuffer 2016-07-10 18:10:02 +02:00
baldurk 3f4ec852ba Pass through image layouts for vulkan and display in tooltips. Refs #199
* Semi experimental for now - I'm not convinced that having a tooltip
  for every image element is the best UI. It will need some iteration.
2016-06-24 17:54:41 +02:00
baldurk 307cee89fe Adjust columns in vulkan shader resource UI to make a bit more space 2016-06-24 16:55:24 +02:00
baldurk 377e07374b Add (semi-experimental) highlight & info for non-trivial resource views
* For D3D11 and Vulkan, any views which don't just map to the whole
  buffer or image will be highlighted in a colour, and when mousing over
  that row a small tooltip will be displayed with the view parameters
  that differ.
2016-06-24 16:32:32 +02:00
baldurk 005a9ee226 Display swizzles on image views in vulkan pipeline view 2016-06-24 13:09:06 +02:00
baldurk f35a4c6b6b Use view format instead of resource format for Vulkan
* Since the Vulkan views are tighter and more strictly specified, we can
  always safely use the view format (in the non-mutable case it must
  exactly match the underlying resource's format).
2016-06-24 12:34:11 +02:00
baldurk d4ff92755a Display multisample count for MSAA textures in states 2016-06-24 12:14:22 +02:00
baldurk 9826ba6848 For D3D11 use the view's format not the resource's, for typeless formats 2016-06-24 12:11:22 +02:00
baldurk a8457b56f6 Display required bytes of constant buffer if it differs from buffer size 2016-06-23 16:20:37 +02:00
baldurk 0c3a7200fd Always view raw buffers as xint 2016-06-23 12:17:59 +02:00
baldurk f00049bed3 Fixup display&export of byte address and structured (with/no counter) 2016-06-23 12:17:58 +02:00
baldurk 5864c11fa2 Add support for D3D11.3 and D3D11.4 (minor). Refs #235. Refs #145
* Only one major piece of functionality is unimplemented and stubbed out
  - WriteToSubresource and ReadFromSubresource in concert with passing
  a NULL D3D11_MAPPED_SUBRESOURCE parameter to ID3D11DeviceContext::Map.
2016-06-21 21:08:26 +02:00
baldurk 6403b5a6d6 Use full pathnames for files, so we don't have duplicate keys in dict 2016-06-21 13:35:21 +02:00
baldurk 7884b0e825 Add HTML pipeline export for GL, and minor tweaks on Vulkan/D3D11 2016-06-09 17:37:16 -07:00
baldurk ed018f23e8 Add shader edit & replace for vulkan (without source for now)
* Currently at least glslang doesn't emit OpSource with source data
  embedded, so we don't pull it out and for the moment we just pre-fill
  the shader editor with the disassembly text (which is sort of but not
  really GLSL) as a better-than-nothing default.
2016-06-09 15:30:31 -07:00
baldurk d41c9538de Add support for SPIR-V specialization constants 2016-06-07 11:35:44 -07:00
baldurk 56c8fbc595 Handle purely typed texel buffers with no members 2016-06-01 16:48:22 +02:00
baldurk 6c39971374 Add proper support for immutable samplers. Refs #260 2016-06-01 16:39:18 +02:00
baldurk 054a01c3b0 Check for drawcall potentially being NULL 2016-06-01 11:57:55 +02:00
baldurk 1914a8a029 For APIs with proper separate sampler objects use debug names. Refs #273 2016-05-26 23:51:09 +02:00
baldurk 3d69ece39a Display custom glObjectLabel for shaders, programs and pipeline 2016-04-27 23:18:56 +02:00
baldurk 5867d7ada1 Pass through resource view element size in D3D11 pipeline state
* This lets us calculate the offset and visible length when opening a
  buffer view from a resource binding.
2016-04-23 13:03:41 +02:00
baldurk 0ed364bf77 Protect against crash if copy-pasting with no tree nodes selected 2016-04-17 18:00:21 +02:00
baldurk 14781e4287 Handle invalid vulkan vertex input setup, and display better in pipeview 2016-04-17 17:50:45 +02:00
baldurk 171fbcfabd Fix crashes when loading 'image' logs 2016-04-14 21:05:40 +02:00
baldurk 70b99a4412 Remove antiquated 'multiple frames in one capture' support.
* Cleans up the code a bunch, this support is unlikely to ever return
  and if it does it will need a rethink anyway.
2016-04-13 00:28:09 +02:00
baldurk d62ce264b6 Display custom names for input layouts 2016-04-12 22:46:25 +02:00
baldurk e24f93970d Add empty marked rows for descriptor sets required by shader but unbound 2016-04-11 20:57:24 +02:00
baldurk 009bfb2c74 Where possible apply offs/len knowledge when viewing buffers. Refs #224 2016-04-02 15:39:27 +02:00
baldurk 74c1d16b2b Index FB attachments properly with renderpass indices. Refs #200 2016-03-01 19:44:10 +01:00
baldurk 1a05f4fc4a Forcibly refresh UI state after editing a shader or removing an edit 2016-02-21 16:10:46 +01:00
baldurk 2a4f5c5ac8 Reduce minsize on panels in vulkan pipeline state viewer 2016-02-07 18:52:06 +01:00
baldurk 420f1e7000 Fix display of push constants in the UI 2016-02-07 18:52:05 +01:00
baldurk f2090b40a7 Rename constant buffers to uniform buffers on VK pipeline display 2016-02-07 18:51:59 +01:00
baldurk 2e0ffa7813 Batch update copyright years everywhere 2016-02-07 18:50:45 +01:00
baldurk e22d62dabd Add formatting of complex buffers when opening viewer 2016-02-07 18:50:12 +01:00
baldurk d98a9ef4ae SPIR-V should fill out read only and read write resources separately 2016-02-07 18:50:10 +01:00
baldurk 85858da14d Use the right slot number for opening constant buffers 2016-02-07 18:50:09 +01:00