210 Commits

Author SHA1 Message Date
baldurk 953652b398 Replace . with _ when creating buffer viewer format from input attrs 2018-11-14 18:32:35 +00:00
baldurk a7be02bd0b Add empty nodes to VBNodes tracking, to keep indices == vb slots
* This fixes VB highlighting when the bindings are sparse
2018-11-14 18:32:35 +00:00
baldurk bfb64300e4 Fix expansion of stream-out buffers in D3D pipeline state viewers 2018-11-01 12:23:13 +00:00
baldurk 4e48bd09c9 Make it more explicit when only depth is bound (not depth-stencil) in GL 2018-11-01 12:23:12 +00:00
baldurk 8c3cc36e9c Fix check for undefined view format type 2018-11-01 12:23:11 +00:00
baldurk bc274b5b51 Only consider stream-out active on D3D if there are buffers bound 2018-10-25 10:49:56 +01:00
baldurk 8447e43e78 Fix panel menus 2018-10-23 15:15:39 +01:00
baldurk 94dfb9890b Allow registering window, panel and context menu items with callbacks 2018-10-23 14:23:12 +01:00
baldurk b5854f0fec Implement VK_EXT_transform_feedback, and use it for mesh output
* For pipelines using tessellation or containing a geometry shader we use
  transform feedback to fetch the output of the vertex pipeline after these
  stages.
2018-10-16 16:53:03 +01:00
baldurk 4dd74c9290 Fix display of stream-out in D3D pipeline state viewers 2018-10-16 16:26:23 +01:00
baldurk a9f814513b Set groups to Expanding instead of MinimumExpanding 2018-10-16 16:26:23 +01:00
baldurk eec6efc692 Add default case to switch statement 2018-10-11 12:19:06 +01:00
baldurk d7b4609cbe When formatting storage buffers in vulkan there's no root struct to skip 2018-10-11 11:09:37 +01:00
baldurk 0282c9a685 Fix pipeline state highlighting of disabled input attributes
* Using the row index is not accurate when some input attributes are disabled,
  because they won't match up to the original index in the attributes list.
2018-10-11 11:09:36 +01:00
baldurk b91d19e316 Generate better buffer format strings when opening VB or IB buffer views 2018-10-11 11:09:36 +01:00
baldurk 5472319025 When opening buffer textures, auto-generate a reasonable buffer format. 2018-10-11 11:09:36 +01:00
baldurk c132142723 Remove unused lambda capture variable 2018-10-08 19:30:56 +01:00
baldurk 615b743b8e Make shader debugging soft-blocking, pop up progress bar while working
* This prevents the user from accidentally triggering some other process while
  the debug is still on-going, if it's taking a while.
2018-10-08 17:24:00 +01:00
baldurk ad5cfcd290 Pass through and display VAO object in GL pipeline state 2018-10-01 18:27:44 +01:00
baldurk cd1d87daa1 Disable IA bytecode button when no capture is open 2018-09-25 18:39:59 +01:00
baldurk d0b650778b Handle D3D12 register spaces with high values without full array size
* Technically register space values are arbitrary so the array should not be
  resized to account for all space indices, in case one is very large.
2018-09-25 17:24:01 +01:00
baldurk 76d9ddd584 Improve highlighting of unbound vertex/index buffers in pipeline state 2018-08-28 18:23:57 +01:00
baldurk babe36bf7e Preserve stdout/stderr from external shader tools and display to user 2018-08-15 13:40:21 +01:00
baldurk e2c6dc0317 Remove unused function 2018-08-10 18:12:29 +01:00
baldurk 3c7b420e59 Expand SPIR-V disassemblers to general shader processing tools
* Instead of just configuring SPIR-V disassemblers and picking only the first
  one when we need to edit SPIR-V, we allow setting up any shader processor that
  goes between two shader encodings.
* When editing, the default will still be to use embedded source, and then after
  that the first tool that goes from the native shader format to a text format,
  but the drop-down allows you to pick any of them.
* Similarly in the shader viewer you can configure the compilation options and
  method, to choose the compiler you want to use. Embedded command line
  parameters in the shader are automatically appended.
2018-08-09 16:56:53 +01:00
baldurk a81e4a2b45 Pass through and allow different source shader encodings when editing
* This means e.g. the D3D11 back-end can accept DXBC directly if the UI can
  provide it, or compile from HLSL as before.
* More importantly, the Vulkan back-end can take SPIR-V compiled from any
  source, or compile from GLSL as before as a fall-back.
2018-08-09 16:56:52 +01:00
baldurk 24a5375133 Disable shader buttons when no shader is bound 2018-08-09 16:56:52 +01:00
baldurk de59556c3b Don't allow HTML pipeline export with no capture loaded 2018-08-09 16:56:49 +01:00
baldurk d7e4060698 Make sure we don't open a shader viewer with an unbound shader 2018-08-07 12:42:52 +01:00
baldurk c4c4c4b67d Display multiview state in vulkan pipeline state viewer 2018-06-19 20:48:30 +01:00
baldurk e87eacb2a0 Fix switching between pipeline state viewers 2018-06-19 12:38:18 +01:00
baldurk 0dda96a045 Change previous/next/parent IDs in DrawcallDescription to pointers
* This is a legacy holdover from the C# interop not being able to preserve
  pointers easily.
2018-06-18 18:39:06 +01:00
baldurk 14e3a3d360 Move API-agnostic pipeline state wrapper into core interface
* There's no need for this to be in the UI, and moving it allows it to be used
  from script which is very useful.
2018-06-18 18:39:06 +01:00
baldurk 45c3c27923 Rename DrawFlags::UseIBuffer to DrawFlags::Indexed 2018-06-15 19:40:54 +01:00
baldurk 2c8674790c Add spacers in pipeline view for if all groups are collapsed 2018-06-13 09:17:03 +01:00
baldurk 72b40769b5 Add support for D3D12 up to D3D12.3. Closes #966 2018-06-07 14:49:07 +01:00
baldurk c2c0433999 Fix logic/blend enabled being wrong way around on D3D12 too 2018-06-05 21:08:06 +01:00
baldurk b213d54c1d Account for added Divisor column when setting up vulkan pipeline state 2018-05-14 16:41:25 +01:00
baldurk a45c222941 [Coverity] Remove redundant if() comparisons 2018-05-08 12:10:19 +01:00
baldurk 082ab4d75d GUIInvoke takes a QObject* to avoid callbacks after object lifetime
* The GUIInvoke object takes a QObject, and uses QPointer to check that
  it hasn't been deleted when the callback fires. This prevents delayed
  callbacks from executing after the object has been deleted and
  crashing.
* In most cases the pointer is just 'this'.
2018-05-08 11:54:34 +01:00
baldurk 3380379aac Fix copy-pasted tooltips mistakenly saying "Save Shader SPIR-V" 2018-05-04 13:36:43 +01:00
baldurk b1008ceb82 Add index buffer binding offset to byte offset when opening buffer view 2018-05-03 14:25:37 +01:00
baldurk 9b2e515be5 Fix UBO state display wrt/ GL reflection re-sorting. Closes #965 2018-04-30 11:42:41 +01:00
baldurk 5698c46277 Use collapsing group boxes on pipeline state viewer 2018-04-26 13:37:57 +01:00
baldurk f87338dc0e Add support for VK_EXT_vertex_attribute_divisor 2018-04-25 19:11:04 +01:00
baldurk bbc0581e7e Implement support VK_EXT_conservative_rasterization. Closes #898 2018-04-24 19:23:51 +01:00
baldurk 94548886eb Implement VK_KHR_push_descriptor extension. Closes #905 2018-04-24 14:41:57 +01:00
baldurk 550f4f4424 Add extra column of empty data for unbound sampler row 2018-04-20 16:37:00 +01:00
baldurk 172e937206 Pass through and display format for texel buffer views. Closes #957 2018-04-20 15:40:21 +01:00
baldurk 701fd0282a Only append comparison/min/max status to filter, don't replace 2018-04-20 15:40:20 +01:00