baldurk
794065eedb
Crash fix
2016-02-07 18:49:43 +01:00
baldurk
db22eb64fb
Implement quad overdraw display modes (not quite 100% yet)
2016-02-07 18:49:42 +01:00
baldurk
d8f8a97c9e
Don't do single draw via ReplayLog if we're doing it directly
2016-02-07 18:49:41 +01:00
baldurk
00e0946112
Support initing postvs for a whole pass via a per-draw callback
2016-02-07 18:49:40 +01:00
baldurk
7aca368cc7
Fix resourceformat check (was 'working' before because null != null)
2016-02-07 18:49:39 +01:00
baldurk
ca6eee8b8f
Remove start event ID from replaylog call.
...
* Any uses of this for replaying subsections of the frame are to be
implemented under the replay driver level, as it's too onerous to
require that the replay driver be able to replay arbitrary subsections
or to communicate granularity up to the above layer.
2016-02-07 18:49:38 +01:00
baldurk
e05614c6bf
Set up drawcall previous/next/parent IDs in replay drivers
2016-02-07 18:49:37 +01:00
baldurk
459196fd21
Shift responsibility for 'whole pass' type processing to replay drivers
...
* Note, currently broken as the drivers don't have previous/next EIDs
set up on their drawcalls
2016-02-07 18:49:36 +01:00
baldurk
b2bbe4541a
Length in vkCmdPushConstants is in byte units (but multiple of 4)
2016-02-07 18:49:35 +01:00
baldurk
b3029b6ddf
Changed command buffers to be handled properly as pooled objects
2016-02-07 18:49:34 +01:00
baldurk
290b695a6b
Linux compile fixes
2016-02-07 18:49:33 +01:00
baldurk
a3bf43c852
Tweak cell header merging in buffer viewer to merge all columns
...
* There's some kind of flickering/lag that goes on when you horizontally
scroll but it's minor and I can't figure out how to fix it for now.
2016-02-07 18:49:32 +01:00
baldurk
e286d34a53
Handle GLSL being passed into shader module creation function
2016-02-07 18:49:32 +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
183919853f
Proper null checks in C# operator ==
2016-02-07 18:49:30 +01:00
baldurk
0493d661b0
Don't check for wrappers since on capture wrappers aren't registered
2016-02-07 18:49:29 +01:00
baldurk
495a35d44e
Don't unwrap the partial result cmd pool
2016-02-07 18:49:28 +01:00
baldurk
bc10ce84ba
Use semaphores to synchronise unbind/bind of sparse mappings
...
* For non-image mappings (image opaque and buffer) we unbind the whole
resource then bind the initial mapping. This means two batches though
so needs to be synchronised.
2016-02-07 18:49:27 +01:00
baldurk
78d34fe0e6
If we're not adding wrappers during capture, don't remove them either!
2016-02-07 18:49:26 +01:00
baldurk
9f4cc2880d
Treat duplicate handles correctly while in replay
...
* For those types that I think it's valid for them to be duplicated, we
look up if an existing wrapper is present and if so use that - and
just use ReplaceResource.
* If it turns out some other types are duplicated, the handling can be
added easily.
2016-02-07 18:49:25 +01:00
baldurk
0156f641dd
Don't add wrappers while capturing - allows duplicate handles in capture
...
* If we don't add objects into the real->wrapper map, then duplicate
objects returned from the driver are fine. We will naturally create a
unique handle for each and we don't have to worry about clashes, as
the application will see each unique handle and free them separately
since it's not allowed to *rely* on duplicate handles. Then when they
destroy the unique handles, we'll end up destroying the duplicates
multiple times.
2016-02-07 18:49:25 +01:00
baldurk
506c38bcbb
Remove use of GetWrapper while capturing
2016-02-07 18:49:24 +01:00
baldurk
d64946f5f2
Update generator/module version handling to latest SPIR-V spec
2016-02-07 18:49:23 +01:00
baldurk
e0bbed0b34
Pass shader specialization data to pipeline state (just data, not in UI)
2016-02-07 18:49:22 +01:00
baldurk
4b7c33d531
Fixes for vulkan for BGRA changes, add R4G4 special format
2016-02-07 18:49:21 +01:00
baldurk
f8df435826
Warn don't assert on VkDeviceQueueCreateInfo having the wrong sType
2016-02-07 18:49:20 +01:00
baldurk
e3375d7927
For now, disable the fake non-coherent memory type adding
2016-02-07 18:49:19 +01:00
baldurk
839801e4a6
Save image initial states by slice and by mip, not whole-mip-at-once
...
* Particularly using the offsets gained from GetImageSubresourceLayout
could cause problems, so instead we pack the slices and mips into the
buffer ourselves just using the per-subresource size.
2016-02-07 18:49:18 +01:00
baldurk
ae557c5bb3
If a flush is not serialised due to not capturing, mark resource dirty
2016-02-07 18:49:17 +01:00
baldurk
52e90a08e9
Mark resource clean when record is deleted, not when resource is
...
* This means any resources which we keep around for the duration of the
frame can be correctly identified as dirty or not.
2016-02-07 18:49:17 +01:00
baldurk
bf950e0c00
Be very careful to release our own wrapper before the real resource
...
* This is because if we release the real resource first, another thread
could allocate the same resource pointer back and get a double
wrapper.
2016-02-07 18:49:16 +01:00
baldurk
2678548351
Handle ID for return value not being present without crashing
2016-02-07 18:49:15 +01:00
baldurk
525740303a
Don't delete temp array memory
2016-02-07 18:49:14 +01:00
baldurk
a864b757c4
Move drawcall timings as post 1.0 since it probably won't get done
...
* It needs better support for replaying subsections of the frame
2016-02-07 18:49:13 +01:00
baldurk
51a289c786
Set up json like an implicit layer
2016-02-07 18:49:12 +01:00
baldurk
71e3c8b38b
Demote sparse texture TODOs to low
2016-02-07 18:49:11 +01:00
baldurk
1056b5411d
Fix 32-bit compilation, assuming local modifications to vulkan.h
...
* When the final header is ready we'll roll it into the source directly
rather than assuming the SDK is installed anywhere, and apply a local
change to get type-safety on 32-bit (which only works on C++). Similar
to the GL header's modification for a typed GLenum.
2016-02-07 18:49:10 +01:00
baldurk
9c9fa89a90
Mark texture display as done for now (pending testing)
2016-02-07 18:49:09 +01:00
baldurk
f07e3b1100
Remove RESTYPE_BUFFER for vulkan
2016-02-07 18:49:09 +01:00
baldurk
7e3cd76676
Stencil texture display and picking (unsigned/signed int as well)
2016-02-07 18:49:08 +01:00
baldurk
961616428d
Add texture sampling code for all types/formats
2016-02-07 18:49:07 +01:00
baldurk
3bce54bb3d
Set access masks in image memory barriers as recommended by validation
...
* I'm not entirely convinced this validation is correct, but this is
being conservative by adding more access bits (I ignore the message
that complains about extra bits being set). Worst case, more access
bits are set than necessary and the barriers are overly strict.
2016-02-07 18:49:06 +01:00
baldurk
78913345f1
Apply initial contents on first read after setting up image layouts
2016-02-07 18:49:05 +01:00
baldurk
dd7e2ee568
Shader uniform block definitions between C++ and GLSL
2016-02-07 18:49:04 +01:00
baldurk
a995ee66e2
Change handling of shaders and entry points so they're not aliased
2016-02-07 18:49:03 +01:00
baldurk
f4b3e80654
Add casts for VS2015 compile warnings
2016-02-07 18:49:02 +01:00
baldurk
3568627b35
Allow capabilities.maxImageCount == 0 to mean no upper limit
2016-02-07 18:49:01 +01:00
baldurk
84345e1728
Make sure to unwrap surface everywhere
2016-02-07 18:49:00 +01:00
baldurk
554b942ef6
Set environment variables with new layer name
2016-02-07 18:48:59 +01:00
baldurk
46ed34b599
Implement caching of SPIR-V compiled shaders
2016-02-07 18:48:58 +01:00