Commit graph

173 commits

Author SHA1 Message Date
Felix Kaaman 8e62c189f3 Add dx11 2018-06-22 15:00:34 +03:00
Joshua Groves 07657f783b Ensure requested features are supported 2018-06-17 22:43:50 -06:00
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