Commit Graph

2527 Commits

Author SHA1 Message Date
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