Commit graph

347 commits

Author SHA1 Message Date
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 b948f8ea26 Update Vulkan stats 2018-04-18 18:37:23 -04:00
Dzmitry Malyshau 4005f014bd Release physical devices properly 2018-04-18 18:37:14 -04:00
Dzmitry Malyshau 78cfa871dd Unix support for cts-debug command 2018-04-18 15:30:31 -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
bors[bot] b46ade6360 Merge #59
59: Implement push constant command r=kvark a=msiglreith

With this and a small change to spirv cross for combined image sampler support we can start tracking support for the Vulkan samples from SaschaWillems.

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-04-18 17:58:18 +00:00
msiglreith e43939453d Implement push constant command 2018-04-18 19:51:31 +02:00
bors[bot] d853494fc1 Merge #58
58: Add support for blending, buffer copy and indexed drawing r=kvark a=msiglreith

Allows to get `gears` running with dx12+ICD.
We currently don't expose support for high precision depth formats resulting in some artifacts.

Current samples fail due to lack of combined image sampler support for the UI rendering.
But one step after another :p 

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-04-18 02:18:04 +00:00
msiglreith 6102540750 Add support for blending, buffer copy and indexed drawing 2018-04-17 23:12:02 +02:00
bors[bot] cd848a43b9 Merge #57
57: gfx update to c0ba2019c613432d74e2f13d95a398b220c9c9c4 r=msiglreith a=kvark

The CTS numbers regression is likely caused by the change in the test suite file (1.0.2 instead of 1.0.3), which I had to do because 1.0.3 is gone from latest CTS for some reason.

There is a bunch of errors like "maxMipLevels is not full mip pyramid size" and "maxResourceSize smaller than minimum required size" on the image_format_properties tests that should be an easy target.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-04-17 20:26:27 +00:00
Dzmitry Malyshau 870c435b39 gfx update to c0ba2019c613432d74e2f13d95a398b220c9c9c4 2018-04-17 15:28:59 -04:00
bors[bot] 0a30e0a29d Merge #56
56: Support for Vulkan Samples with ICD r=kvark a=msiglreith

Add a few missing piece to get Vulkan Samples working with ICD (dx12, windows):
* Expose device extensions (partially)
* Expose addr to CreateWin32SurfaceKHR

Additionally, fixing vkMapMemory for the `VK_WHOLE_SIZE` case.

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-04-17 17:50:11 +00: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
bors[bot] d446cc15ca Merge #54
54: Implement ResetFences and GetFenceStatus r=kvark a=AIOOB

My drivers seem to be a bit odd so these measurements may need to be repeated.
I have added an error on `gfxCreateEvent` to workaround it causing the CTS to crash as events are not currently supported by Vulkan portability.

Co-authored-by: AIOOB <jack@rickard.plus.com>
2018-04-12 16:25:09 +00: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
bors[bot] c2891c1090 Merge #52
52: Return VK_INCOMPLETE for partial physical device enumeration r=kvark a=grovesNL

Trivial fix for `dEQP-VK.api.info.instance.physical_devices: Query didn't return VK_INCOMPLETE(Fail)` (only tested with Metal CTS).

[Reference:](https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkEnumeratePhysicalDevices.html)
> If pPhysicalDeviceCount is smaller than the number of physical devices available, VK_INCOMPLETE will be returned instead of VK_SUCCESS, to indicate that not all the available physical devices were returned.

Co-authored-by: grovesNL <josh@joshgroves.com>
2018-04-10 13:21:49 +00:00
grovesNL 2b2cb6fefd Return VK_INCOMPLETE for partial physical device enumeration 2018-04-09 23:23:58 -06:00
bors[bot] 014ad54760 Merge #51
51: OSX CTS results update r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2018-04-09 12:34:17 +00:00
Dzmitry Malyshau 396ea0d6f0 OSX CTS results update 2018-04-09 08:33:31 -04:00
bors[bot] 38d6d65e5f Merge #50
50: First CTS results on OSX r=msiglreith a=kvark

Results are based on my local modified CTS code, upstreaming is on the roadmap.
Currently passing 6 tests only. Way forward is blocked by https://github.com/gfx-rs/gfx/issues/1911
2018-04-06 16:11:08 +00:00
Dzmitry Malyshau 531275e648 First CTS results on OSX 2018-04-06 10:42:38 -04:00
bors[bot] 95d1bda8d9 Merge #49
49: Update gfx with image_format_properties r=msiglreith a=kvark

Reached ~100 failures on Linux 🎉 
I believe there is still work to do for the image format queries, so this number can be brought down.
2018-04-04 20:56:20 +00:00
Dzmitry Malyshau 7fed8abd57 Update gfx with image_format_properties 2018-04-04 14:23:46 -04:00
bors[bot] 0cbabce1e6 Merge #48
48: CTS hookup r=msiglreith a=kvark

Includes #47
2018-04-03 02:01:00 +00:00
Dzmitry Malyshau b9e72ee612 Conformance testing makefile command 2018-04-02 21:58:48 -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
Dzmitry Malyshau cd5f32bcf1
Include Vulkan CTS numbers into README 2018-03-31 21:08:13 -04:00
bors[bot] 3b78540c0e Merge #46
46: Fix physical device enumeration and add dummy features r=kvark a=msiglreith

Vulkan loader expects that EnumeratePhysicalDevices will return the same handles on each call. Caching them on startup
2018-03-29 13:52:09 +00: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
bors[bot] 8e85630840 Merge #45
45: Update gfx with image kind changes r=me a=kvark
2018-03-28 15:26:29 +00:00
Dzmitry Malyshau 7a544eb46f Update gfx with image kind changes 2018-03-27 13:38:49 -04:00
bors[bot] 1df436d581 Merge #44
44: Fix dispatchable handles r=kvark a=msiglreith

Temporarily disables command buffer freeing.
Allows to run first CTS tests on dx12 with the ICD layer.
2018-03-15 14:17:21 +00:00
msiglreith 7817b77c0b Fix dispatchable handles 2018-03-14 22:38:02 +01:00
bors[bot] 3cfbc39c86 Merge #43
43: Update for latest HAL changes in descriptor writes r=msiglreith a=kvark
2018-03-02 21:05:06 +00:00
Dzmitry Malyshau 127312e84e Update for latest HAL changes in descriptor writes 2018-03-02 10:52:21 -05:00
bors[bot] 50fb8e2b8c Merge #25
25: Basic support for Metal r=msiglreith a=kvark

Addresses part of #24

~~I haven't actually made it running, since the lack of "vulkan.h" on the system. We should be packing it in this project. But at least the code builds now on Metal.~~

Update: PR has been revived. Metal builds and executes just fine up to the point where window integration is needed - leaving for the follow-ups (help is appreciated!).
2018-03-02 12:31:24 +00:00
Dzmitry Malyshau d308cd7216 Metal support, dispatch feature 2018-03-02 06:56:17 -05:00
bors[bot] 1c06394db0 Merge #42
42: Improve ICD: adding missing entrypoints and add magic loader field r=kvark a=msiglreith

Fixes #32 
Vulkan stuck in endless loop, dx12 crashing at device creation (missing extension information)
2018-03-01 14:54:18 +00:00
msiglreith 627559bc03 Improve ICD: adding missing entrypoints and add magic loader field 2018-03-01 15:31:19 +01:00
bors[bot] aaf53822bf Merge #41
41: Add appveyor CI support r=kvark a=msiglreith

Fixes #40
2018-03-01 13:56:18 +00:00
msiglreith 1f5f4410db Add appveyor CI support 2018-03-01 13:33:14 +01:00
bors[bot] c59ea3b5c7 Merge #39
39: Basic env_logger hookup r=msiglreith a=kvark

Not CI tested but fairly simple and nothing bad will happen if it breaks.
Developer can manually enable the feature for local debugging.
2018-02-28 17:51:52 +00:00
Dzmitry Malyshau a89b41ac40 Basic env_logger hookup 2018-02-28 12:49:44 -05:00