baldurk
c06aeebd3a
Crash fix for non-indexed meshes
2016-02-07 18:48:00 +01:00
baldurk
48a03ae21f
Only fetch the PostVS data needed for this draw, not the whole buffer
...
* For instanced draws where there are many instance and each instance is
a lot, this saves fetching a *ton* of redundant data.
2016-02-07 18:47:45 +01:00
baldurk
793d2690c4
Be more aggressive with null'ing/disposing old data, to garbage collect
2016-02-07 18:47:44 +01:00
baldurk
0992c05ab9
Fix leaking memory in byte[] marshalling case
2016-02-07 18:47:41 +01:00
baldurk
4f784b07d5
Handle array outputs in SPIR-V, add array index to signature parameter
2016-02-07 18:47:36 +01:00
baldurk
0b61607cc7
When loading a log, default back to buffer view showing VSIn
2016-02-07 18:47:35 +01:00
baldurk
bd5a6752e2
Use viewport for guessing aspect ratio, not dimensions of depth/colour
2016-02-07 18:47:33 +01:00
baldurk
101d780956
Handle post-vs data being padded/aligned instead of tightly packed
2016-02-07 18:47:33 +01:00
baldurk
8818de4524
Use vertex stride from PostVS data if we're reading it
2016-02-07 18:47:32 +01:00
baldurk
03a2497c6b
Don't display semantic index if it's not needed
2016-02-07 18:47:09 +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
ebb9f05c75
Pass through base mip/level for vulkan resources (also for GL textures)
2016-02-07 18:46:37 +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
a012652049
Handle arrays of objects in shaders
2016-02-07 18:46:32 +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
ba8114936e
Render mesh displays as 4x MSAA to make the line rendering a bit nicer
2016-02-07 18:46:23 +01:00
baldurk
879df25850
Implement mesh rendering (wireframe and solid)
2016-02-07 18:46:10 +01:00
baldurk
c71191906b
Don't do any shader viewer work if the log is closed
2016-02-07 18:45:25 +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
36d2ffd988
Handle super small buffers in buffer viewer without displaying nothing
2016-02-07 18:45:14 +01:00
baldurk
484d70ddbd
Display buffers properly in resource list
2016-02-07 18:45:13 +01:00
baldurk
4ece1ed5b3
Handle vtx binds referencing unset vbuffers (valid if binds are unused)
2016-02-07 18:45:12 +01:00
baldurk
4fe74824b1
Switch buffer offsets and lengths to 64-bit, downcast only where needed
2016-02-07 18:45:06 +01:00
baldurk
b569932a71
Update pipeline stage names to Vulkan nomenclature
2016-02-07 18:45:05 +01:00
baldurk
7769e1d672
Change API events view to show { } sections in sub-nodes
2016-02-07 18:44:57 +01:00
baldurk
70b1d241b0
Finish the vulkan pipeline display
2016-02-07 18:43:49 +01:00
baldurk
9d3202ae5f
Don't conflict between C# UI and replay output flipping pixel context
2016-02-07 18:43:46 +01:00
baldurk
963986b9e9
Do swapchain resizing properly and re-enable thumbnails (working now?!)
2016-02-07 18:43:36 +01:00
baldurk
4336722e34
Tidy up FetchTexture data for vulkan, fill out all fields properly
2016-02-07 18:43:35 +01:00
baldurk
313f53a820
Remove stored fake backbuffer data, display backbuffer on present calls
2016-02-07 18:43:34 +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
448df65773
Protect against framebuffer being unset when not in valid pipeline state
2016-02-07 18:42:29 +01:00
baldurk
238efe31f1
List resources for texture viewer to pick up
2016-02-07 18:42:11 +01:00
baldurk
33fd37282b
Clear resource previews to black while thumbnails are still disabled
2016-02-07 18:42:10 +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
0a0e948e40
Add shader word highlighting for SPIR-V
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
4e113a08c7
Hack out handling of vulkan pipeline type in texture viewer
2016-02-07 18:41:30 +01:00
baldurk
edac1f0bfd
Pass vulkan pipeline state along to UI
2016-02-07 18:41:29 +01:00