Commit graph

221 commits

Author SHA1 Message Date
Joshua Groves 6f76d2c7c6 Ensure instance and device extensions exist 2018-06-17 22:08:53 -06:00
Joshua Groves 4c2b2f13e5 Check API version 2018-06-17 21:06:08 -06:00
Joshua Groves 52bfd5d3ca Check enabled extensions 2018-06-17 20:29:45 -06:00
Joshua Groves 321cc54f81 Check for None in gfxGet{Instance|Device}ProcAddr 2018-06-17 16:17:06 -06:00
Joshua Groves 967cd9b445 Add present mode querying 2018-06-17 12:41:59 -06:00
Joshua Groves 3e716b08ad Map present modes 2018-06-15 18:45:05 -06:00
Dzmitry Malyshau 868ef92f07 Query pools and swapchains 2018-06-12 08:02:50 -07:00
bors[bot] 2a03ef2acd Merge #96
96: Transmute enum values r=kvark a=grovesNL

Transmutes enum values instead of matching, also adds mapping for stencil op and logic op.

Depends on gfx-rs/gfx#2132

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-06-09 15:50:03 +00:00
Joshua Groves 9a158ce87f Implement dynamic stencil masks 2018-06-09 08:24:34 -06:00
Joshua Groves 694474f46c Transmute enum values 2018-06-09 08:19:40 -06:00
Dzmitry Malyshau 149e91a827 Cull flags, dynamic states, and dynamic buffers 2018-06-06 13:51:04 -04:00
bors[bot] 0012de8dfe Merge #92
92: macOS surface changes and more r=kvark a=grovesNL



Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-06-06 03:00:38 +00:00
Joshua Groves cbcfdf58dd Add macOS surface 2018-06-05 20:54:11 -06:00
Dzmitry Malyshau f89c417b89 Compute PSO creation refactor 2018-06-05 13:42:34 -04:00
Dzmitry Malyshau 6e0ce965bf Cleaner destruction of events and query pools 2018-06-05 12:59:17 -04:00
msiglreith 6bbf7ec7fc Implement vkFreeDescriptorSets 2018-06-03 14:13:31 +02:00
Dzmitry Malyshau 0e1385f1d5 Deny sparse resources, update gfx-rs 2018-06-01 11:41:08 -04:00
msiglreith 2b2c33eb51 Update dependencies and add CI test for renderdoc 2018-05-31 23:30:02 +02:00
msiglreith 78fd0a9141 Add support for renderdoc capturing (dx12 only) 2018-05-31 23:29:19 +02:00
Dzmitry Malyshau 6be4456bb2 Immutable samplers support 2018-05-30 21:29:03 -04:00
Joshua Groves fda64901de Implement set_depth_bias 2018-05-29 12:22:45 -06:00
Dzmitry Malyshau b4b1cac73d Indirect draws, get image footprint, makefile improvements 2018-05-28 23:56:24 -04:00
Joshua Groves 23ecf809b4 Implement set_line_width 2018-05-24 07:03:12 -06:00
bors[bot] f0da9debeb Merge #83
83: Remove tiling assert r=kvark a=grovesNL

As far as I can tell, we shouldn't need this assert anymore because we already perform the mapping immediately below.

Unless there is another reason it needs to stay (maybe validating against image format queries?), let's remove it because it causes other unrelated tests to fail.

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-05-24 11:11:34 +00:00
bors[bot] 1da17c2050 Merge #80
80: Map compute specialization constants r=kvark a=grovesNL

Shares code between graphics/compute pipelines setup to map compute specialization constants

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-05-24 11:02:25 +00:00
Joshua Groves bec9906f86 Remove tiling assert 2018-05-23 23:03:59 -06:00
Joshua Groves 6c63a53061 Map compute specialization constants 2018-05-23 22:12:08 -06:00
Joshua Groves 4dbb1afb91 Add layers to clear attachments 2018-05-23 19:29:58 -06:00
Dzmitry Malyshau 08352676da Gfx update, depth bounds and blend constants 2018-05-17 11:50:51 -04:00
Joshua Groves e81fb10b8e Use rasterizer discard 2018-05-16 22:34:02 -06:00
AIOOB d0478d8571 Implement resolve_image 2018-05-14 21:49:48 +01:00
AIOOB 00d3085901 Store mip_levels and array_layers for images 2018-05-14 19:02:06 +01:00
Dzmitry Malyshau 52dcdd097b Clear image update 2018-05-12 21:20:40 -04:00
Joshua Groves 0f2d89f7d7 Update gfx 2018-05-12 01:04:30 -06:00
bors[bot] d06c813fe4 Merge #70
70: Add dispatch, update gitignore and Makefile r=kvark a=grovesNL

- Implement dispatch
- Exclude subdirectory build directories and VSCode workspace settings
- Update Makefile to run CTS from the directory containing deqp - this fixes relative paths

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-05-04 01:31:08 +00:00
msiglreith cc78b7fcbe Update gfx version and expose framebuffer sample limits 2018-05-02 16:59:44 +02:00
msiglreith 545f3bb0f0 Multisampling support 2018-05-02 16:20:08 +02:00
msiglreith cc049bbb7c Fix flush and invalidate ranges 2018-05-02 16:19:33 +02:00
Joshua Groves 90e972fcab Implement dispatch 2018-05-01 20:48:07 -06:00
Joshua Groves 0929c46334 Fix some null handles 2018-05-01 13:10:53 -06:00
Dzmitry Malyshau e73b22c0d0 Warnings, compute pipelines, limits 2018-04-27 09:51:55 -04:00
Dzmitry Malyshau 9c1c1b7851 Debug Handle tracker 2018-04-27 09:49:57 -04:00
bors[bot] 9ae74be774 Merge #65
65: Fill out more sampler properties r=kvark a=msiglreith

Fixes texture mapping and HDR sample

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-04-23 16:38:04 +00:00
msiglreith bd5575200f Fill out more sampler properties 2018-04-23 15:04:17 +02:00
bors[bot] c5a0fbd81d Merge #64
64: Depth bias and dependency bump r=kvark a=msiglreith

Will update the dx12 vulkan sample coverage accordingly, should move a few samples to the 'Working' state then.

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-04-23 12:31:33 +00:00
bors[bot] 9402e06ae7 Merge #63
63: Implement specialization constants and image copy r=kvark a=msiglreith



Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-04-23 02:44:04 +00:00
msiglreith acfbf29a4d Implement depth bias 2018-04-22 14:35:48 +02:00
bors[bot] 7f4c30c98e Merge #61
61: Add getDeviceProcAddr to device level functions r=msiglreith a=AIOOB



Co-authored-by: AIOOB <jack@rickard.plus.com>
2018-04-22 10:57:21 +00:00
msiglreith 65126188f5 Implement specialization constants and image copy 2018-04-22 12:50:56 +02:00
msiglreith ba863e8c8e Properly expose supported device features 2018-04-20 14:55:50 +02:00
AIOOB 356111693b
Add getDeviceProcAddr to device level functions 2018-04-20 00:16:56 +01:00
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