baldurk
bb2394183c
Add ability to re-record all cmd buffers (for whole-frame timing)
2016-02-07 18:49:50 +01:00
baldurk
db22eb64fb
Implement quad overdraw display modes (not quite 100% yet)
2016-02-07 18:49:42 +01:00
baldurk
290b695a6b
Linux compile fixes
2016-02-07 18:49:33 +01:00
baldurk
46ed34b599
Implement caching of SPIR-V compiled shaders
2016-02-07 18:48:58 +01:00
baldurk
4a2fe2d563
Update debug code to compile, and remove on-disk compiled SPIR-V blobs
...
* We'll compile in-memory now (and implement a user-side caching system
like we have with D3D).
2016-02-07 18:48:34 +01:00
baldurk
3649fc4134
Fix core compiling
2016-02-07 18:48:30 +01:00
baldurk
75a31f9f09
Rename VkCmdBuffer -> VkCommandBuffer
2016-02-07 18:48:15 +01:00
baldurk
f417cf91ac
Draw highlight box with rect clears, remove pipeline, strip VBO, etc
2016-02-07 18:48:06 +01:00
baldurk
0b17197d79
Do buffer readbacks in vulkan replay with multiple copies
...
* We allocate a single fixed-sized buffer up front, and then whenever we
need to readback we copy chunks into it and read them back one at a
time. This trades off doing single copies (and so fewer GPU syncs)
against having massive GPU buffer allocations.
2016-02-07 18:47:43 +01:00
baldurk
ac575d355d
Avoid unnecessary copies/temporaries when returning buffer data
2016-02-07 18:47:42 +01:00
baldurk
ca2efadf67
Move GetBufferData into debug manager
2016-02-07 18:47:25 +01:00
baldurk
a5be2b4f48
Add post-vertex mesh data fetching. Not complete, but proof-of-concept
2016-02-07 18:47:19 +01:00
baldurk
344a4a4d2d
Add initial part of injecting code to SPIR-V to dump outputs to buffer
...
* At the moment it adds the necessary types and decorations etc to
declare the buffer, but doesn't add any code to write the outputs yet.
2016-02-07 18:47:05 +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
d77dcf680a
Implement viewport/scissor overlay
2016-02-07 18:46:21 +01:00
baldurk
d5aa1da377
Implement histogram and min/max fetching via compute
2016-02-07 18:46:17 +01:00
baldurk
7441a3dc1e
Don't have two overloads that are ambiguous on pointer param
2016-02-07 18:46:16 +01:00
baldurk
1f762f51d0
Implement vertex highlighting and helpers for mesh view
2016-02-07 18:46:11 +01:00
baldurk
879df25850
Implement mesh rendering (wireframe and solid)
2016-02-07 18:46:10 +01:00
baldurk
2d912ebe6a
Keep mesh shaders/modules around for creating pipelines on the fly
2016-02-07 18:46:03 +01:00
baldurk
63e0cc3f39
Use correct uniform buffer alignment instead of hardcoded 256
2016-02-07 18:44:42 +01:00
baldurk
c1959102c8
Rename GenericPipeline to HighlightBoxPipeline as it uses line lists
2016-02-07 18:44:38 +01:00
baldurk
24aa8b3daf
Remove singleton from VulkanResourceManager, pass it where needed
2016-02-07 18:44:30 +01:00
baldurk
944bad84b9
Set a compatible renderpass on graphics pipeline creation
2016-02-07 18:44:17 +01:00
baldurk
6ec36d6695
Implement drawcall highlight and wireframe texture overlays
2016-02-07 18:44:15 +01:00
baldurk
fb65217a10
Do overlay render (for now just fixed colour)
2016-02-07 18:44:10 +01:00
baldurk
4b33e0957d
Ring buffer tex display descriptor sets, so multiple images can be drawn
...
* Otherwise the UpdateDescriptorSet for the second render overwrites the
descriptor for the first render without a sync&flush in between.
2016-02-07 18:44:09 +01:00
baldurk
11ce77e8cd
Ring buffer UBO updates to avoid needing to flush after each use
...
* Make each UBO N times larger, and map subsets of them in ring-buffer
fashion. Use dynamic offsets to specify the right subset.
2016-02-07 18:44:08 +01:00
baldurk
ff26fabc7f
Batch up internal queue submits with multiple cmd buffers
...
* Also avoids a couple of unnecessary QueueWaitIdle CPU-GPU syncs
2016-02-07 18:43:53 +01:00
baldurk
e841bd9969
Implement proper pixel picking via RenderTexture & F32 readback
2016-02-07 18:43:32 +01:00
baldurk
d48fb6ece4
Update WSI to new extension. Also misc structs, functions and enums
2016-02-07 18:42:45 +01:00
baldurk
a214e9bdec
Remove dynamic state objects
2016-02-07 18:42:43 +01:00
baldurk
ac44765bd7
Implement highlight box rendering
2016-02-07 18:42:37 +01:00
baldurk
db74a097dd
Remove hardcoded display of backbuffer, instead display specified tex
...
* Currently will only work for 2D textures though
2016-02-07 18:41:20 +01:00
baldurk
45fc32614a
Remove pipeline cache as it is optional and causes duplicate wrappers
...
* The same ICD in the SDK just returns '1' as the handle for all caches.
* This could be valid behaviour (not for caches but for other objects)
so need to check where this could happen and handle it. We already do
for queues, physical devices, and a couple of others.
2016-02-07 18:40:50 +01:00
baldurk
442386b84a
Add text-rendering support for in-application renderdoc overlay
2016-02-07 18:39:48 +01:00
baldurk
ad185a4042
A couple of runtime fixes, and create renderpass & framebuffers in-app
2016-02-07 18:39:47 +01:00
baldurk
332a281291
spin off 'debug data' into separate class so it can be used in-app
2016-02-07 18:39:47 +01:00