baldurk
7441a3dc1e
Don't have two overloads that are ambiguous on pointer param
2016-02-07 18:46:16 +01:00
baldurk
f659346399
Don't fetch pipeline cache record from handle that can be NULL
2016-02-07 18:46:15 +01:00
baldurk
d539ada699
Add easy code to add validation layers on replay
2016-02-07 18:46:14 +01:00
baldurk
d4aa8d4b94
Fix debug callback - should have a return value of VkBool32
2016-02-07 18:46:13 +01:00
baldurk
5c97b1b802
Creating geometry shaders works better if you pass the right SPIR-V...
2016-02-07 18:46:13 +01:00
baldurk
15ec34d3fd
Update release notes - mesh preview works
2016-02-07 18:46:12 +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
5fdc74d34b
Fix for replaying Begin/EndRenderPass draws
2016-02-07 18:46:09 +01:00
baldurk
b93b8eb662
Tweak debug callback print
2016-02-07 18:46:08 +01:00
baldurk
c1f87201bb
Fix some debug validation layer errors
2016-02-07 18:46:07 +01:00
baldurk
b09bc089ef
Make sure DisplayMesh() at least does some kind of render
2016-02-07 18:46:06 +01:00
baldurk
743438d5bd
Initialise resource pointer to NULL
2016-02-07 18:46:05 +01:00
baldurk
b985c5c67b
Add MakeVkFormat and MakeVkPrimitiveTopology functions
2016-02-07 18:46:04 +01:00
baldurk
24bd8db521
Add a max count to SolidShadeMode enum
2016-02-07 18:46:04 +01:00
baldurk
2d912ebe6a
Keep mesh shaders/modules around for creating pipelines on the fly
2016-02-07 18:46:03 +01:00
baldurk
b51b50329f
Add mesh shaders to project
2016-02-07 18:46:02 +01:00
baldurk
bebcf1b781
Remove unneeded members
2016-02-07 18:46:01 +01:00
baldurk
b0cb49369a
Implement creating and clearing depth buffer on output windows
...
* Not really tested, need to implement mesh rendering first
2016-02-07 18:46:00 +01:00
baldurk
be73ee1262
Tweak release notes
2016-02-07 18:45:59 +01:00
baldurk
0f0ade44ae
Implement descriptor set copies
2016-02-07 18:45:58 +01:00
baldurk
0b38e895e7
Fix error identifying NULL resource for frame record
2016-02-07 18:45:57 +01:00
baldurk
c510a55bfa
Do some tidy up with initial state buffer serialisation
...
* Remove redundant buffer allocation and copy, deserialise straight into
the mapped memory that we allocate.
* Get memory allocation size from buffer correctly rather than assuming
the buffer size will be identical (it probably will be, but still).
2016-02-07 18:45:57 +01:00
baldurk
e2c7f7469f
Remove VKTODO noise from initial state temporary buffers/flushing
2016-02-07 18:45:56 +01:00
baldurk
9059ef2dc1
Create a buffer bound to the whole of each devicememory
...
* This is used in initial state application for buffer copies without
needing to create temporary buffers bound to the memory.
2016-02-07 18:45:55 +01:00
baldurk
a27d67d49d
Remove VKTODOs for tasks being post-poned to after 1.0
...
* Multiple device handling
* Stepping into vkCmdExecuteCommands
2016-02-07 18:45:54 +01:00
baldurk
2decca5f27
Reorganise VkResourceRecord to reduce wasted space
...
* This reduces the total size from 448 bytes -> 232 bytes, but does mean
some extra pointer chasing. I'm not sure what the best balance is so
this will do for now and I'll wait and see if profiling turns up any
issues.
2016-02-07 18:45:53 +01:00
baldurk
773c1e48e5
Move Subresources into D3D11ResourceRecord, not needed in other APIs
2016-02-07 18:45:52 +01:00
baldurk
cb0ee82c67
Image initial states are supported now :)
2016-02-07 18:45:51 +01:00
baldurk
4847a2e876
Move stepping into vkCmdExecuteCommands to post-1.0
...
* The solution I have in mind for this will just be too much churn and
large changes like that should be avoided at this point.
2016-02-07 18:45:50 +01:00
baldurk
4966e4c41e
Don't need to serialise vkResetCommandBuffer, just a driver hint
...
* vkBeginCommandBuffer does an implicit reset if you begin an already
recorded command buffer, so we can just do our work there.
2016-02-07 18:45:49 +01:00
Greg Fischer
4fbad3d6b5
fix capture when other layers are active.
2016-02-07 18:45:49 +01:00
baldurk
fa18e4b291
Serialise out physical device properties in enumerate, for clarity
2016-02-07 18:45:48 +01:00
baldurk
c41e317eb4
Silently drop any removals of bind framerefs of stale IDs
2016-02-07 18:45:47 +01:00
baldurk
5b7f60ebe1
Handle CmdWaitEvents by creating an event to set immediately before
2016-02-07 18:45:46 +01:00
baldurk
a9bc609e48
Rejig & compact release notes with current status
2016-02-07 18:45:45 +01:00
baldurk
1702172e7e
Remove sparse resources from unsupported features
2016-02-07 18:45:44 +01:00
baldurk
6e6a855a33
[Sparse #7 ] Serialise out the memory for any bound to sparse resources
2016-02-07 18:45:43 +01:00
baldurk
2765de1467
Add drawcall entries for a few copy and clear functions
2016-02-07 18:45:42 +01:00
baldurk
9be607255e
[Sparse #6 ] Implement sparse initial state stubs - page tables only
2016-02-07 18:45:41 +01:00
baldurk
fe8440363b
[Sparse #5 ] Implement stubs for updating page tables (opaque or image)
...
* Not supporting images with arrays or mips for now as that becomes
more complicated. In theory a page table each, but then need to handle
mip tail and stuff.
2016-02-07 18:45:41 +01:00
baldurk
28f448ea6f
[Sparse #4 ] Serialise out sparse binding changes that happen mid-frame
...
* Also add stub calls to update in-memory tracked pages
2016-02-07 18:45:40 +01:00
baldurk
803e626e8d
[Sparse #3 ] Create sparse info structs on resource creation
2016-02-07 18:45:39 +01:00
baldurk
8f3b2c5b00
[Sparse #2 ] Redirect sparse resources to different initial state stubs
2016-02-07 18:45:38 +01:00
baldurk
702f487170
[Sparse #1 ] Track memory referencing of sparse resources into queues
...
* Normal resources have a single memory bind that can be added to frame
references when the resource is. Sparse resources don't have that easy
single mapping.
* Calls to MarkResourceFrameReferenced with a 0 ResourceId aren't a
real problem, but we have to be careful when dirtying resources.
* We don't have to dirty memory that's sparsely bound as we'll dirty it
as soon as its sparsely bound. We do have to worry about making sure
that memory is correctly frame referenced.
* To do this command buffers track the sparsemapping structures (will be
created for all sparse resources) that are referenced underneath them.
Then at queue submit time the current sparse mapping is iterated and
all bound memory marked frame referenced.
* For most cases where a buffer is bound or similar, we can directly add
the sparsemapping from the resource record. For descriptor sets we
must do this indirectly - by marking any bindframerefs in the descset
record with a bit indicating that the associated resource is sparse,
then at submit time when iterating the bindframerefs, taking any with
the bit set and looking up its record to find the sparsemapping.
2016-02-07 18:45:37 +01:00
baldurk
fb5f74ec74
Add function to dump thumbnail from a capture
2016-02-07 18:45:36 +01:00
baldurk
437d350725
Share code between Record and Merge Transitions
2016-02-07 18:45:35 +01:00
baldurk
12843544e2
Rename ImageRegionState members to match VkImageMemoryBarrier members
...
* This will let us re-use logic on either one in Record/MergeTransitions
2016-02-07 18:45:34 +01:00
baldurk
5990b996e2
Add MergeTransitions function (copy-pasted)
...
* This will merge recorded transitions from second level command buffers
into first level command buffers.
2016-02-07 18:45:33 +01:00
baldurk
08d2b871cb
Update release notes - vkCmdExecuteCommands will replay as a whole thing
2016-02-07 18:45:33 +01:00