Commit graph

400 commits

Author SHA1 Message Date
Dzmitry Malyshau 2aec56a099 Robust descriptor release, safe handle access, more iterator usage 2018-07-11 17:47:05 -04:00
bors[bot] be62c9ea71 Merge #105
105: add maxColorAttachments to device limit conversion r=kvark a=fkaa

Depends on https://github.com/gfx-rs/gfx/pull/2176

Co-authored-by: Felix Kaaman <trundmatu@gmail.com>
2018-07-11 18:05:00 +00:00
Felix Kaaman b19dbb8936 add maxColorAttachments to device limit conversion 2018-07-11 10:30:30 +03:00
bors[bot] 0b910b7632 Merge #110
110: Expose VK_KHR_maintenance1 and fix the descriptor allocation fall back r=msiglreith a=kvark

Depends on https://github.com/gfx-rs/gfx/pull/2202
cc @fkaa 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-07-04 12:31:16 +00:00
Dzmitry Malyshau f8b35fba0f Revert changes if got an error during descriptor set allocation 2018-07-03 21:02:09 -04:00
Dzmitry Malyshau 2db11c607e Expose VK_KHR_maintenance1 2018-06-30 23:20:31 -04:00
bors[bot] 173eb0f6d1 Merge #109
109: [WIP] Handle sanitation and gfx-hal update r=msiglreith,grovesNL a=kvark

Depends on https://github.com/gfx-rs/gfx/pull/2195
Depends on https://github.com/gfx-rs/metal-rs/pull/59
Fixes #103 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-07-01 02:35:35 +00:00
Dzmitry Malyshau 2cf691a17a Handle sanitation and gfx-hal update 2018-06-30 22:34:45 -04:00
bors[bot] 468147d823 Merge #108
108: fix overly conservative function pointer retrieval r=kvark a=msiglreith

Addresses some parts of https://github.com/gfx-rs/portability/pull/98
Current implementation rejects too agressively which is not required, in most cases the spec defines the returned pointers as undefined. InstanceProcAddr also doesn't correctly retrieve some device proc addresses.

CTS looks fine 
(9 green, 3 unsupported, `dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail` crashes but seems unrelated)

cc @grovesNL 

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-06-25 17:29:39 +00:00
msiglreith d77d9609a6 fix overly conservative function pointer retrieval 2018-06-25 18:10:41 +02:00
bors[bot] 0764227271 Merge #106
106: Fix descriptor set leak r=grovesNL a=kvark

Fixes #99 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-06-25 11:12:34 +00:00
Dzmitry Malyshau 1e3541c8a4 Fix descriptor set leak 2018-06-24 22:54:31 -04:00
bors[bot] efb6e9ad62 Merge #104
104: Update gfx/exclusive end range r=kvark a=grovesNL



Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-06-24 14:54:51 +00:00
Joshua Groves 7f63f09cb3 Exclusive end range 2018-06-23 21:56:47 -06:00
Joshua Groves 15dee8af02 Update gfx 2018-06-23 21:56:36 -06:00
bors[bot] e7550ab1bb Merge #100
100: Add dx11 r=kvark a=fkaa



Co-authored-by: Felix Kaaman <trundmatu@gmail.com>
2018-06-24 02:16:43 +00:00
Felix Kaaman 8e62c189f3 Add dx11 2018-06-22 15:00:34 +03:00
bors[bot] fbf62659f4 Merge #98
98: Map present modes and more r=kvark a=grovesNL

Present modes:
- Update to latest gfx
- Expose relevant present modes in `gfxGetPhysicalDeviceSurfacePresentModesKHR`
- Map present modes to HAL and back

Instance/device creation (with these changes we pass 10/13 of `dEQP-VK.api.device_init`, the other 3 are not supported for now):
- Handle null instance/device and whether required extensions (although the check is not comprehensive for now) have been enabled in `gfxGet{Instance|Device}ProcAddr` – this fixes `dEQP-VK.api.version_check.entry_points`
- Check API version to fix `dEQP-VK.api.device_init.create_instance_invalid_api_version`
- Verify that the provided instance/device extension names are valid – fixes a couple more tests in `dEQP-VK.api.device_init`
- Verify that the requested features are supported - fixes `dEQP-VK.api.device_init.create_device_unsupported_features`

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-06-19 14:06:29 +00: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
bors[bot] 488e1028c3 Merge #97
97: Query pools, swapchains, and dota r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-06-12 19:02:06 +00: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
bors[bot] 7fc8ef378b Merge #95
95: Implement dynamic stencil masks r=kvark a=grovesNL

Depends on https://github.com/gfx-rs/gfx/pull/2124

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-06-09 15:29:37 +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
bors[bot] 911678b12e Merge #94
94: Cull flags, dynamic states, and dynamic buffers r=msiglreith a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-06-06 18:11:12 +00: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
Joshua Groves 05764e2e77 Add debug-version target 2018-06-05 20:54:02 -06:00
bors[bot] 1d55d3413c Merge #93
93: Cleaner destruction of events and query pools r=msiglreith a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-06-05 20:30:15 +00: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
bors[bot] d473e1d352 Merge #91
91: Implement vkFreeDescriptorSets r=kvark a=msiglreith



Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-06-03 23:46:07 +00:00
msiglreith 6bbf7ec7fc Implement vkFreeDescriptorSets 2018-06-03 14:13:31 +02:00
bors[bot] 206a6e01da Merge #90
90: Deny sparse resources, update gfx-rs r=msiglreith a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-06-01 15:47:04 +00:00
Dzmitry Malyshau 0e1385f1d5 Deny sparse resources, update gfx-rs 2018-06-01 11:41:08 -04:00
bors[bot] 1af668650f Merge #87
87: Add support for renderdoc capturing (dx12 only) r=kvark a=msiglreith

Blocked on a new renderdoc-rs release (and merging gfx-rs PR).
Automatically creates a capture when enabling the `portability-gfx/renderdoc` feature. Works only if no swapchain is attached and dx12 only atm.
Primary use case are CTS tests.

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-05-31 21:39:48 +00: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
bors[bot] 637a5da382 Merge #88
88: Immutable samplers r=msiglreith a=kvark

*Warning*: this PR also removes "make cts-xxx name=yyy" commands to "make cts xxx=yyy".

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-05-31 12:20:32 +00:00
Dzmitry Malyshau 065c4d1b5d new make cts options 2018-05-30 21:30:04 -04:00
Dzmitry Malyshau 6be4456bb2 Immutable samplers support 2018-05-30 21:29:03 -04:00
bors[bot] 012b9f571c Merge #84
84: Implement `set_depth_bias` r=kvark a=grovesNL

~~Depends on gfx-rs/gfx#2073~~

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-05-29 18:27:07 +00:00