Commit graph

326 commits

Author SHA1 Message Date
Dzmitry Malyshau e8d013f8fc gfx-rs update, README cleanup 2018-08-13 21:25:54 -04:00
bors[bot] 7650048d98 Merge #127
127: gfx update and GFX_METAL_STITCHING environment option r=kvark a=kvark

This is fairly straightforward.
Also notice the new `make molten-links` command.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-08-09 16:33:53 +00:00
Dzmitry Malyshau b92c063844 gfx update and GFX_METAL_STITCHING environment option 2018-08-09 12:32:36 -04:00
bors[bot] 6d40bc3710 Merge #126
126: Pipeline cache support r=msiglreith a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-08-07 20:02:50 +00:00
Dzmitry Malyshau 6342f02540 Pipeline cache support 2018-08-07 16:02:03 -04:00
bors[bot] 2233c9bc0b Merge #124
124: Build with panic=abort r=kvark a=jrmuizel

This drops the size of libportability.dylib from 2.4M to 2.1M and
gives the compiler better opportunities for optimization.

Co-authored-by: Jeff Muizelaar <jmuizelaar@mozilla.com>
2018-08-04 04:10:20 +00:00
Jeff Muizelaar 1c3579f047 Build with panic=abort
This drops the size of libportability.dylib from 2.4M to 2.1M and
gives the compiler better opportunities for optimization.
2018-08-03 23:48:52 -04:00
bors[bot] 07b757bd05 Merge #123
123: Update gfx-rs and use GFX_METAL_RECORDING environment r=kvark a=kvark

For benchmarking dota, one can now use `make dota-bench-gfx GFX_METAL_RECORDING=deferred`

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-08-04 01:34:40 +00:00
Dzmitry Malyshau 96c6fcd78a Update gfx-rs and use GFX_METAL_RECORDING environment 2018-08-03 21:31:41 -04:00
bors[bot] 5bb2372692 Merge #122
122: Add new benchmarks, fix benching command line r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-07-27 15:50:47 +00:00
Dzmitry Malyshau e60d5b3fe8 Add new benchmarks, fix benching command line 2018-07-27 11:48:32 -04:00
bors[bot] af650d6c58 Merge #121
121: Descriptor iterator r=msiglreith a=kvark

This PR reduces the amount of magic going on during the descriptor writes, makes us move less stuff on the stack.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-07-26 13:31:39 +00:00
Dzmitry Malyshau 7d0c4d2a9d pre-allocate space for local descriptor set handles 2018-07-25 21:46:07 -04:00
Dzmitry Malyshau 220dcfc4ef dependencies update 2018-07-25 21:25:17 -04:00
Dzmitry Malyshau f46c6db6f8 Descriptor iterator 2018-07-25 21:24:04 -04:00
bors[bot] 93135d8091 Merge #118
118: Dota2 benchmark script and results r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-07-25 01:20:46 +00:00
Dzmitry Malyshau 7a41c517db Dota2 benchmark script and results 2018-07-24 21:20:12 -04:00
bors[bot] 3c15952b5f Merge #117
117: Makefile update r=msiglreith a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-07-24 14:20:47 +00:00
Dzmitry Malyshau 36da0e452a Makefile update 2018-07-24 10:14:54 -04:00
bors[bot] 8af76539e0 Merge #116
116: Update gfx-rs with new descriptor allocation changes r=msiglreith a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-07-24 13:41:31 +00:00
Dzmitry Malyshau 7a6d6ba3bf Update gfx-rs with new descriptor allocation changes 2018-07-24 09:33:10 -04:00
bors[bot] d782e1febc Merge #114
114: Handle unused depth stencil subpass attachments r=kvark a=msiglreith

Treating VK_UNUSED_ATTACHMENT case same way as passing NULL for the depth stencil attachment.

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-07-21 03:53:18 +00:00
msiglreith aa851f19b3 Handle unused depth stencil subpass attachments 2018-07-20 23:12:30 +02:00
bors[bot] 3a96b51cb1 Merge #113
113: Robust descriptor release, safe handle access, more iterator usage r=msiglreith a=kvark

This is super important, has 3 parts:
  - fixed and refined descriptor set allocation (now calling `free` on failure)
  - added a check to `Handle` be valid on any access, this catches the Dota bug in all configurations and is hugely important for us to avoid undefined behavior in the future
  - removes a few `Vec::collect()` occurrences in favor of iterators 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-07-19 13:39:36 +00:00
Dzmitry Malyshau c7ce3f50c7 Depenencies update 2018-07-18 18:09:32 -04:00
Dzmitry Malyshau 7e2ba90232 Depth bias dynamic state, using iterator for updating descriptor sets 2018-07-12 23:09:26 -04:00
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