114 Commits

Author SHA1 Message Date
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
baldurk 8e089a8768 Mark dispatches as drawcalls and fixes for CS pipeline state 2016-02-07 18:50:08 +01:00
baldurk 599a378d9c Display descriptors by iterating the sets and looking up reflection
* This lets disabled/empty sets be displayed more correctly
2016-02-07 18:49:31 +01:00
baldurk f63dfcfc1f depthclip != depthclamp 2016-02-07 18:48:38 +01:00
baldurk 795fbcaf8d Fix some misc bugs 2016-02-07 18:48:35 +01:00
baldurk 521ec84b8b Add pipeline export to HTML for vulkan 2016-02-07 18:48:08 +01:00
baldurk b4ebc13c9d Support push constants display in UI 2016-02-07 18:46:59 +01:00
baldurk 5c309d9d34 Refactor handling of resources/binding to be much more flexible
* This will handle the new vulkan binding model with multiple descriptor
  sets and arrays of objects in each binding. It also makes a few tidy
  ups and improvements to other APIs in presentation - will e.g. now
  show thumbnails for vertex and other stages.
2016-02-07 18:46:40 +01:00
baldurk 6051f0c500 Split 'Resources' shader array into readonly/readwrite arrays
* This is preparation for a following commit, might not work on its own
  (mostly untested - just compiling).
2016-02-07 18:46:39 +01:00
baldurk e51cf27321 Get abbreviations from common pipeline state (as they're API specific)
* Also the PipelineStateViewer will set its current 'sticky' API type
  to the common pipeline state, so that when a log isn't loaded we can
  still get API-specific properties that match the last API used.
2016-02-07 18:46:38 +01:00
baldurk 534f9943f9 Handle arrays of shader resources in pipeline state 2016-02-07 18:46:36 +01:00
baldurk 8a6d2ebf30 Handle arrays of uniform buffers in descriptor slots 2016-02-07 18:46:35 +01:00
baldurk 7dd5760420 Try to handle unbound resources a bit better 2016-02-07 18:46:31 +01:00
baldurk 1503e7f881 Add mousemove/mouseleave handlers for non-PS resources 2016-02-07 18:46:30 +01:00
baldurk e6807ec3a7 Proper display for descriptor sets in pipeline state view 2016-02-07 18:46:29 +01:00
baldurk af8addf20e Display if blend is enabled properly 2016-02-07 18:45:18 +01:00
baldurk b363dc1fb5 Vulkan scissor regions are x,y,width,height 2016-02-07 18:45:16 +01:00
baldurk 484d70ddbd Display buffers properly in resource list 2016-02-07 18:45:13 +01:00
baldurk b569932a71 Update pipeline stage names to Vulkan nomenclature 2016-02-07 18:45:05 +01:00
baldurk 70b1d241b0 Finish the vulkan pipeline display 2016-02-07 18:43:49 +01:00
baldurk b28428cdf1 Don't try and index into a descriptor set or binding that doesn't exist
* This can happen with unused binds - I think it's valid for a bind in a
  shader to index outside of the descriptor set as long as it's never
  used.
2016-02-07 18:43:15 +01:00
baldurk ee1460dcaa Update C# vulkan pipeline state structs to match 2016-02-07 18:43:00 +01:00
baldurk f660bdd807 For now, blat resources out into a list by string
* This will do until I figure out how to layout the pipeline viewer
  for resources.
2016-02-07 18:42:08 +01:00
baldurk a25d07cf59 Display cbuffer contents within vulkan pipe viewer
* For now, we just assume that cbuffers are tightly packed according to
  D3D11 rules (matrices, structs, float3/4 are all float4 aligned), and
  once final SPIR-V is generated everything should have explicit
  offsets, strides, and sizes
2016-02-07 18:42:06 +01:00
baldurk 0007b9d63f Use shader reflection variable names if no custom image names are set 2016-02-07 18:41:47 +01:00
baldurk 8832573dbb Expose SPIR-V reflection data to UI 2016-02-07 18:41:45 +01:00
baldurk 8eddd387d7 Add vulkan pipeline state viewer based on D3D11 viewer 2016-02-07 18:41:35 +01:00
baldurk 8b7a025853 Refactor BGRA formats to not be special (so allow any BGRA format)
* Also add ASTC and D16S8 types while in the neighbourhood
2015-11-29 22:05:26 +01:00
baldurk ad805e8117 Allow excess VS sig system value elements versus IA bytecode. Refs #167
* The VS can consume system value semantics at the end of the signature
  that weren't present in the IA layout's bytecode. Note that if the
  order changes (ie. the system value element is first) then that's not
  OK. Only trailing elements are allowed.
2015-10-26 19:13:08 +01:00
baldurk dda2160225 Don't mark vertex buffers used if the input layout slot isn't used 2015-10-25 23:34:38 +01:00
baldurk d58d5b76b3 Use shader variable name for CS UAV slots, if available 2015-08-23 13:15:09 +02:00
baldurk 9333228fc5 Highlight empty viewports that are still enabled in the UI. Refs #144 2015-08-23 11:49:00 +02:00
baldurk 8ca621a649 Handle invalid characters in shader filename paths everywhere 2015-07-25 10:33:52 +02:00