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
baldurk
eeb62f3d67
Need SPIR-V compilation in release now too.
2016-02-07 18:48:57 +01:00
baldurk
764d05bbee
Extract out shader caching from D3D to common code
2016-02-07 18:48:57 +01:00
baldurk
49f81a6499
Move strhash to string_utils.h
2016-02-07 18:48:56 +01:00
baldurk
79819d4f94
Don't bind secondary vertex buffer if not doing secondary shading
2016-02-07 18:48:55 +01:00
baldurk
d57a55acdd
Set partial command pool for freeing the partial command buffer
2016-02-07 18:48:54 +01:00
baldurk
a1c2452007
Check surface capabilities match what we expect
2016-02-07 18:48:53 +01:00
baldurk
05b70a7599
Update layer names to new naming scheme
2016-02-07 18:48:52 +01:00
baldurk
84dea96587
Create fully wrapped descriptor set layout for mesh descriptor set
2016-02-07 18:48:51 +01:00
baldurk
81f697fc1b
Switch to uniform blocks for mesh shaders - matches geometry shader
2016-02-07 18:48:50 +01:00
baldurk
6b2c1bfad6
Take a local copy of SPIR-V before patching
2016-02-07 18:48:50 +01:00
baldurk
a7bdba82ce
Handle queue priorities properly if adding a new queue type
2016-02-07 18:48:49 +01:00
baldurk
621e77a5e7
Clean up surface properly in Destroy so it can be recreated
2016-02-07 18:48:48 +01:00
baldurk
fa21a45155
Unwrap surface pointer before passing to CreateSwapchain
2016-02-07 18:48:47 +01:00
baldurk
1307de879c
Add assert that CreateInstance succeeds
2016-02-07 18:48:46 +01:00
baldurk
ae2584b7d6
Don't use stage bit as index, convert to array index
2016-02-07 18:48:45 +01:00
baldurk
cf0537d055
Don't vkMapMemory with size of 0, use VK_WHOLE_SIZE
2016-02-07 18:48:44 +01:00
baldurk
bcb1ad7cf7
Move layer name to central location
2016-02-07 18:48:43 +01:00
baldurk
002ae7adff
Fetch unwrapped surface pointer before releasing wrapped object
2016-02-07 18:48:42 +01:00
baldurk
4db6655c71
SPIR-V size is in bytes
2016-02-07 18:48:42 +01:00
baldurk
751e907543
Update SPIR-V disassembly to match newest version.
2016-02-07 18:48:41 +01:00
baldurk
ab809dfa87
Fixes for layer handling
2016-02-07 18:48:40 +01:00
baldurk
77e9c697b3
Add handling of WSI surface functions
2016-02-07 18:48:39 +01:00
baldurk
f63dfcfc1f
depthclip != depthclamp
2016-02-07 18:48:38 +01:00
baldurk
21e0af7507
Implement vkQueueBindSparse
2016-02-07 18:48:37 +01:00
baldurk
1097a98d72
Fixup vkQueueSubmit
2016-02-07 18:48:36 +01:00
baldurk
795fbcaf8d
Fix some misc bugs
2016-02-07 18:48:35 +01:00
baldurk
ebfd953b5d
Get all the wrapper functions compiling except QueueSubmit/BindSparse
2016-02-07 18:48:35 +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
dcb57952bf
wip debug
2016-02-07 18:48:33 +01:00
baldurk
7c7cceac3a
Update layer json file
2016-02-07 18:48:32 +01:00