Commit Graph

192 Commits

Author SHA1 Message Date
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
baldurk e51a14f18a Fix display of RTVs and DSVs in D3D12 pipeline state viewer 2018-04-13 16:43:44 +01:00
baldurk 3129a44495 Actually comment out skipped fixed-size members. Closes #948 2018-04-06 14:11:52 +01:00
baldurk 0ecc8ed0e5 Fix a reported NULL pointer dereference when exporting GL state to HTML 2018-04-04 17:53:28 +01:00
baldurk 0cbcba2413 Fix issues with displaying UAVs in D3D12 pipeline state. Closes #926 2018-04-03 17:10:16 +01:00
baldurk 2d8981faf5 Fix backwards logic enabled/blend enabled columns in D3D11 pipe state 2018-04-03 17:10:08 +01:00
baldurk 71992c3967 Fix incorrect view details tooltip formatter 2018-03-05 12:40:41 +00:00
baldurk 9548f74f16 Only set ShaderEditing analytic bit when saving, not first editing
* This means if someone just clicks to edit but doesn't actually edit,
  won't register as having used the feature.
2018-03-02 14:31:01 +00:00
baldurk d1df4bdcc1 Append shader entry point and filename to existing resource IDs
* This way even if shader debug info is present there are still resource
  links.
2018-03-01 18:45:33 +00:00
baldurk c445395967 Use sampler resourceId for sampler resource rows 2018-03-01 18:45:33 +00:00
baldurk e060c1b410 Format stencil references as 8-bit integers, not 32-bit 2018-03-01 18:45:32 +00:00
baldurk 04034c334b Gather pixel history panels together instead of making new dock for each 2018-02-19 00:52:13 +00:00
baldurk ccffa7656a Specify byte range for cbuffers in D3D12 pipeline state 2018-02-06 00:21:10 +00:00
baldurk ec68f9ec0e Only print real bools as True/False, not anything that can convert 2018-02-02 16:09:25 +00:00
baldurk 65ef82466c Re-organise Analytics structures a bit to be more processing friendly 2018-01-19 13:57:02 +00:00
baldurk b5d9034698 When opening raw index buffer view, multiply offset by index width 2018-01-11 13:48:33 +00:00
baldurk e305029ddd Update copyright years to 2018 2018-01-01 17:55:29 +00:00
baldurk 203dca8434 Split out invocation of SPIRVDisassembler into member function 2017-12-22 17:03:08 +00:00
baldurk ebaefc82a9 Normalise and make python/public interface more consistent
* We enforce a naming scheme more strongly - types, member functions,
  and enum values must be UpperCaseCamel, and member variables must be
  lowerCaseCamel. No underscores allowed.
* eventId not eventID or EID, and Id preferred to ID in general. Also
  for resourceId.
* Removed some lingering hungarian m_Foo naming.
* Some pipeline state structs that are almost identical between the
  different APIs are pulled out into common structs. Where something
  doesn't make sense (e.g. viewport enable for vulkan) it will just be
  set to a sensible default (in that case always true).
* Changed scissors to be x/y & width/height instead of sometimes
  left/top/right/bottom
* Abbreviations are discouraged, e.g. operation not op, function not
  func.
2017-12-22 13:02:36 +00:00