Commit graph

231 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
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
Joshua Groves fda64901de Implement set_depth_bias 2018-05-29 12:22:45 -06:00
bors[bot] 927c9cf173 Merge #86
86: Indirect draws, get image footprint, makefile improvements r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-05-29 03:57:32 +00:00
Dzmitry Malyshau b4b1cac73d Indirect draws, get image footprint, makefile improvements 2018-05-28 23:56:24 -04:00
bors[bot] 4898017266 Merge #81
81: Implement `set_line_width` r=kvark a=grovesNL

Depends on gfx-rs/gfx#2043 (will rebase/updated Cargo.lock after merge)

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-05-24 15:00:37 +00: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
bors[bot] ba9dfec385 Merge #82
82: Add layers to clear attachments r=kvark a=grovesNL

Update gfx to get clear attachments layer changes from gfx-rs/gfx#2003

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-05-24 02:27:26 +00:00
Joshua Groves 4dbb1afb91 Add layers to clear attachments 2018-05-23 19:29:58 -06:00
bors[bot] 9c0e5b8200 Merge #77
77: More dynamic states, gfx update 8d2b93a8dfd9c99b7cbec703924a628d56cc9c73 r=msiglreith a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-05-17 16:23:12 +00:00
Dzmitry Malyshau 08352676da Gfx update, depth bounds and blend constants 2018-05-17 11:50:51 -04:00
bors[bot] fa5a78d60c Merge #75
75: Use rasterizer discard r=kvark a=grovesNL

Stop setting the fragment shader and other states as stated in the spec when rasterizer discard is set. (Should anything else be disabled?)

Fixes segfaults in `dEQP-VK.api.descriptor_set.descriptor_set_layout_lifetime.graphics` on Metal (with gfx-rs/gfx#2035 fix)

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-05-17 14:37:58 +00:00
Joshua Groves e81fb10b8e Use rasterizer discard 2018-05-16 22:34:02 -06:00
bors[bot] 2620cbb902 Merge #74
74: [WIP] Implement resolve_image r=kvark a=AIOOB

This change causes `make cts` to lock up my computer after it gets to a certain test, that test alone doesn't crash it but something seems to reach a critical point. I have no idea how to debug this, so good luck if you decide to replicate this and make sure everything is saved 😄 

Co-authored-by: AIOOB <jack@rickard.plus.com>
2018-05-15 14:24:32 +00:00
AIOOB d0478d8571 Implement resolve_image 2018-05-14 21:49:48 +01:00
bors[bot] a893304383 Merge #73
73: Store mip_levels and array_layers for images r=kvark a=AIOOB

Vulkan allows users to not specify the upper bound in `SubresourceRange` and `SubresourceLayers`, this stores the values when the image is created in order to fill in these values if they are not specified.
It also adds an `expect` function to `Image` and `Buffer` to allow simpler retrieval of a bound image.

Co-authored-by: AIOOB <jack@rickard.plus.com>
2018-05-14 20:02:13 +00:00
AIOOB 00d3085901 Store mip_levels and array_layers for images 2018-05-14 19:02:06 +01:00