Commit graph

220 commits

Author SHA1 Message Date
Dzmitry Malyshau 84f49750f8 clear_attachments and execute_commands 2018-04-18 21:19:42 -04:00
Dzmitry Malyshau b91cf67f0c Make unboxing safer 2018-04-18 19:11:32 -04:00
Dzmitry Malyshau 4005f014bd Release physical devices properly 2018-04-18 18:37:14 -04:00
Dzmitry Malyshau 0c619fcd62 Keep a list of allocated command buffes for proper destruction of the pool 2018-04-18 15:30:07 -04:00
msiglreith e43939453d Implement push constant command 2018-04-18 19:51:31 +02:00
msiglreith 6102540750 Add support for blending, buffer copy and indexed drawing 2018-04-17 23:12:02 +02:00
Dzmitry Malyshau 870c435b39 gfx update to c0ba2019c613432d74e2f13d95a398b220c9c9c4 2018-04-17 15:28:59 -04:00
msiglreith 3d5fd5ccad Handle WHOLE_SIZE for memory mapping 2018-04-17 19:37:15 +02:00
msiglreith 1d299a4949 Expose CreateWin32SurfaceKHR and device extensions 2018-04-17 19:29:10 +02:00
AIOOB 4aece2d525 Implement ResetFences and GetFenceStatus 2018-04-12 17:14:19 +01:00
bors[bot] a90e36710b Merge #53
53: Device leak fix, Cargo lock r=msiglreith a=kvark

The motivation behind including the lock is: no rust library is going to link to us anyway, so this crate is the head of the dependency graph, and doing a single `cargo update` is simpler for updates than figuring out the revision ids manually.

Co-authored-by: Dzmitry Malyshau <kvark@mozilla.com>
2018-04-12 13:27:52 +00:00
Dzmitry Malyshau 670de5f155 Unified unboxing 2018-04-12 09:24:47 -04:00
Dzmitry Malyshau cfe1f11ad3 Update gfx-rs, Linux numbers, properly release device references 2018-04-11 21:32:58 -04:00
Dzmitry Malyshau 64faf13e00 Include Cargo.lock instead of fixed revisions 2018-04-11 21:32:31 -04:00
grovesNL 2b2cb6fefd Return VK_INCOMPLETE for partial physical device enumeration 2018-04-09 23:23:58 -06:00
Dzmitry Malyshau 396ea0d6f0 OSX CTS results update 2018-04-09 08:33:31 -04:00
Dzmitry Malyshau 531275e648 First CTS results on OSX 2018-04-06 10:42:38 -04:00
Dzmitry Malyshau 7fed8abd57 Update gfx with image_format_properties 2018-04-04 14:23:46 -04:00
Dzmitry Malyshau 973025673c Update gfx with destroy_buffer_view impl 2018-04-02 21:58:44 -04:00
Dzmitry Malyshau 1bc260fb25 Limited support for dynamic states 2018-04-01 21:45:59 -04:00
msiglreith 8d75459a84 Fix physical device enumeration and add dummy features
Vulkan loader expects that EnumeratePhysicalDevices will return the same handles on each call. Caching them on startup
2018-03-29 15:47:03 +02:00
Dzmitry Malyshau 7a544eb46f Update gfx with image kind changes 2018-03-27 13:38:49 -04:00
msiglreith 7817b77c0b Fix dispatchable handles 2018-03-14 22:38:02 +01:00
Dzmitry Malyshau 127312e84e Update for latest HAL changes in descriptor writes 2018-03-02 10:52:21 -05:00
Dzmitry Malyshau d308cd7216 Metal support, dispatch feature 2018-03-02 06:56:17 -05:00
msiglreith 627559bc03 Improve ICD: adding missing entrypoints and add magic loader field 2018-03-01 15:31:19 +01:00
Dzmitry Malyshau a89b41ac40 Basic env_logger hookup 2018-02-28 12:49:44 -05:00
Dzmitry Malyshau d9b5a0b5c6 Image properties, more entry points 2018-02-28 11:51:46 -05:00
Dzmitry Malyshau f8bd64a885 HAL update for descriptor sets 2018-02-28 11:27:03 -05:00
msiglreith 965f2a2c9e Remove duplicate reset event entry points 2018-02-28 13:56:05 +01:00
msiglreith 9cfbe8d243 Fix build on non-unix systems 2018-02-27 23:10:12 +01:00
msiglreith a4a6ae38d4 Add missing device proc entry points 2018-02-27 23:04:06 +01:00
Dzmitry Malyshau 2048d3ba75 Expose more device functions, implement buffer-image copies, pipeline barriers, and all the things needed to execture the triangle CTS tests. 2018-02-27 16:32:49 -05:00
Dzmitry Malyshau e9948e2299 More physical device, instance functions, sampler creation/destruction 2018-02-27 15:08:18 -05:00
Dzmitry Malyshau 7d7a0f9e44 Base on gfx-rs master revision 2018-02-16 10:31:15 -05:00
Dzmitry Malyshau db997ead72 Update to iterator changes in HAL device methods 2018-02-15 23:34:53 -05:00
Dzmitry Malyshau 05e8abbde0 XCB support 2018-02-07 17:48:09 -05:00
msiglreith 1f69948ef1 Update to latest master 2018-01-29 23:26:28 +01:00
msiglreith 2113357d47 Fix and implement vkGetInstanceProcAddr and vkGetDeviceProcAddr 2018-01-29 13:32:53 +01:00
msiglreith d812b10a72 Fix build and enumerating physical devices 2018-01-19 13:37:45 +01:00
msiglreith 31d9ddc75f Cleanup usage of deref and a few code improvements 2018-01-16 23:22:01 +01:00
msiglreith 31aa84a06e Implement vkCmdSetViewports, gfxCmdBindPipeline, gfxCmdSetScissor, gfxCmdBindDescriptorSets, gfxCmdDraw, gfxQueuePresentKhr and fix graphics pipeline creation 2018-01-16 18:24:54 +01:00
msiglreith ea0714cf39 Implement vkCreateGraphicsPipeline and vkDestroyGraphicsPipeline 2018-01-16 18:24:54 +01:00
msiglreith f422eb24d1 Implement vkCmdBindVertexBuffers and vkCmdEndRenderPass 2018-01-16 18:24:54 +01:00
msiglreith 225764fc2d Implement vkCmdBeginRenderPass 2018-01-16 18:24:53 +01:00
msiglreith 63847cc271 Implement vkQueueSubmit, vkCreateFence, vkDestroyFence, vkWaitForFences, vkCreateFramebuffer, vkDestroyFramebuffer, vkBeginCommandBuffer and vkEndCommandBuffer 2018-01-09 23:12:00 +01:00
msiglreith 1a1f1f856e Cleanup implementation 2018-01-09 23:00:35 +01:00
msiglreith b9118e60a5 Implement vkGetDeviceQueue, vkCreateSemaphore, vkDestroySemaphore, vkAcquireNextImageKHR, vkCreateRenderPass and vkDestroyRenderPass 2018-01-09 15:19:22 +01:00
msiglreith 84dcbf309a Fix buffer and image binding 2018-01-07 23:39:06 +01:00
msiglreith fb6d185e5f Implement vkCreateShaderModule and vkDestroyShaderModule 2018-01-07 23:28:56 +01:00
msiglreith a3a7f1f552 Implement vkCreateDescriptorPool, vkDestroyDescriptorPool, vkAllocateDescriptorSets and vkUpdateDescriptorSets 2018-01-07 16:17:02 +01:00
msiglreith 78f0654ad3 Implement vkCreatePipelineLayout, vkDestroyPipelineLayout and vkDestroyDescriptorSetLayout 2018-01-07 16:17:02 +01:00
msiglreith 33e263cd58 Implement vkCreateDescriptorSetLayout 2018-01-07 16:17:02 +01:00
msiglreith b9d6309c67 Fix GetPhysicalDeviceQueueFamilyProperties and basic implementation for getting native lunarg samples running 2018-01-07 16:17:01 +01:00
msiglreith 9412c51b82 Export dummy vulkan functions to fix linking of lunarg API samples 2018-01-04 19:15:51 +01:00
msiglreith 6bb3aa427a Cleanup memory binding and memory requirements following review advice 2018-01-04 18:16:00 +01:00
msiglreith 7c19ad77ae Implement vkCreateBuffer and fix memory binding 2018-01-04 15:50:28 +01:00
msiglreith 728e338ffa Implement vkMapMemory, vkUnmapMemory, vkBindBufferMemory, vkGetBufferMemoryRequirements, vkDestroyBuffer and vkDestroyImage 2018-01-04 15:21:35 +01:00
msiglreith d270a36ba3 Update to latest gfx master 2018-01-02 00:47:47 +01:00
msiglreith 7a3a11fafc Implement vkBindImageMemory and remaining parts of the depth buffer example 2017-12-26 19:59:30 +01:00
msiglreith 458568cad2 Add support for dx12 2017-12-26 19:45:31 +01:00
msiglreith 4f409de59e Implement vkAllocateMemory and vkFreeMemory 2017-12-21 23:38:43 +01:00
msiglreith 2e19f801e4 Implement vkGetPhysicalDeviceMemoryProperties and add some placeholders 2017-12-20 15:26:10 +01:00
msiglreith 5d16ac702b Update README and relink gfx dependency to main repository 2017-12-19 22:29:31 +01:00
msiglreith bc7a8107e6 Implement vkGetImageMemoryRequirements 2017-12-11 19:04:55 +01:00
msiglreith 468c42a3a2 Implement vkCreateImage 2017-12-11 13:56:20 +01:00
msiglreith 740cec2c9b Implement vkGetPhysicalDeviceFormatProperties and parts of 06 - depth stencil sample 2017-12-11 13:56:20 +01:00
msiglreith 054678b7f5 Fix Makefile and mark implementations as inline 2017-12-08 23:20:02 +01:00
msiglreith b919665a9b ICD implementation groundwork 2017-12-08 19:18:36 +01:00
msiglreith 428899f237 Restructure project for ICD implementation 2017-12-08 19:18:35 +01:00