Commit Graph

52 Commits

Author SHA1 Message Date
Dzmitry Malyshau
ea188634c6 Bump version to 0.4.0 d3d12-v0.4.0 2021-04-29 10:50:08 -04:00
Dzmitry Malyshau
be19a243b8 Merge pull request #28 from yzsolt/update-libloading-to-0.7
Update libloading to 0.7
2021-02-09 10:10:33 -05:00
Zsolt Bölöny
d6ad98b025 Update libloading to 0.7 2021-02-09 12:35:51 +01:00
msiglreith
8ba8159f5b Merge pull request #26 from kvark/borrow
Add present flags
d3d12-v0.3.2
2020-08-19 09:11:46 +02:00
Dzmitry Malyshau
2fc7340731 Add present flags 2020-08-19 00:41:29 -04:00
bors[bot]
2810498605 Merge #24
24: One big cleanup for the 0.3.1 release r=kvark a=kvark

Closes #10 

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-07-07 14:48:45 +00:00
Dzmitry Malyshau
416fb75e65 Bump version, add changelog d3d12-v0.3.1 2020-07-07 10:44:00 -04:00
Dzmitry Malyshau
5bf5f258e7 Debug implementations for root descriptors 2020-07-07 10:43:30 -04:00
Dzmitry Malyshau
9a2b5bdb00 Convert to Rust2018 2020-07-07 10:43:26 -04:00
Dzmitry Malyshau
9017c8db01 Rustfmt pass 2020-07-07 10:39:39 -04:00
bors[bot]
afb3cb6fb4 Merge #23
23: Bump libloading to 0.6 r=msiglreith a=cwfitzgerald

They got rid of their typedef for their result type. Strange.

Breaking change, so can't go out in a patch release.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-06-30 14:29:25 +00:00
Connor Fitzgerald
832f1243a4 Bump libloading to 0.6 2020-06-29 17:29:09 -04:00
msiglreith
72c115e056 Merge pull request #22 from msiglreith/shader-il
Shader from raw IL
2020-03-20 18:08:30 +01:00
msiglreith
65c9326b22 Shader from raw IL 2019-11-03 17:38:52 +01:00
bors[bot]
0643df040d Merge #20
20: Preparations for 0.3 release r=msiglreith a=kvark

Including:
- rename feature "libstatic" to "implicit-link"
- Debug and constructor implementations for the library structs
- removal of redundant Heap definition

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
d3d12-v0.3.0
2019-11-01 13:17:21 +00:00
bors[bot]
aa33591b03 Merge #21
21: Use windows as default doc target r=kvark a=msiglreith

Relates to https://github.com/gfx-rs/d3d12-rs/issues/15, not sure if it fully fixes it

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2019-11-01 13:15:53 +00:00
msiglreith
b721376bba Use windows as default doc target 2019-11-01 11:46:42 +01:00
Dzmitry Malyshau
029c24d9cf Preparations for 0.3 release
Including:
- rename feature "libstatic" to "implicit-link"
- Debug and constructor implementations for the library structs
- removal of redundant Heap definition
2019-10-31 21:50:06 -04:00
bors[bot]
cab411d4a9 Merge #19
19: Dynamic loading for D3D12 device and DXGI r=msiglreith a=kvark

Fixes #18

Users can opt into static/implicit linking, or explicit one with "libloading", or even both (to make features truly additive).
I believe these changes cover the entry points we need to get everything running on any other Windows than 10.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-31 22:25:42 +00:00
Dzmitry Malyshau
14fafbc7bd Dynamic loading for D3D12 device and DXGI 2019-10-31 15:52:58 -04:00
bors[bot]
bef2027ace Merge #17
17: Resource transition barriers and prefix heap types r=kvark a=msiglreith



Co-authored-by: msiglreith <m.siglreith@gmail.com>
2019-10-18 15:31:57 +00:00
msiglreith
aa2b674248 Resource transition barriers and prefix heap types 2019-10-18 17:30:41 +02:00
bors[bot]
a4c594384a Merge #16
16: Remove one layer of modules and Queue::execute_command_lists r=kvark a=msiglreith



Co-authored-by: msiglreith <m.siglreith@gmail.com>
2019-10-15 20:46:07 +00:00
msiglreith
8bac8b582f Remove one layer of modules and Queue::execute_command_lists 2019-10-15 20:17:36 +02:00
bors[bot]
e84b6913be Merge #13
13: Bump version to 0.2.2 r=kvark a=msiglreith

As far as I can see there were no breaking changes to the API only additions

Co-authored-by: msiglreith <m.siglreith@gmail.com>
d3d12-v0.2.2
2019-10-04 21:58:52 +00:00
msiglreith
241a6387b8 Bump version to 0.2.2 2019-10-04 23:25:00 +02:00
bors[bot]
ee7ec68af2 Merge #12
12: Add root descriptor commands and add trait derives r=kvark a=msiglreith



Co-authored-by: msiglreith <m.siglreith@gmail.com>
2019-10-03 23:25:48 +00:00
msiglreith
f4043cd1cc Add root descriptor commands and add trait derives 2019-10-04 00:52:50 +02:00
bors[bot]
f40c8047ec Merge #11
11: Add root descriptor r=kvark a=msiglreith



Co-authored-by: msiglreith <m.siglreith@gmail.com>
2019-10-03 17:59:14 +00:00
msiglreith
0a4a86ecbc Add root descriptor 2019-10-03 19:53:43 +02:00
bors[bot]
914d782007 Merge #9
9: Add structs and enums for ID3D12Heap r=msiglreith a=DethRaid

I've added the structs and enums needed to create an `ID3D12Heap`. I've also added the method `create_heap` to `Device`, and and added the module imports and reexports to the appropriate places

The weird thing here is `heap::Flags`. Thing is, D3D12 uses the value 0 for two of the enum constants in `D3D12_HEAP_FLAGS`. Rust does not allow the same value to be used by multiple enum constants (that I know of). I made an enum without any useful values, then gave it constants with the values from `D3D12_HEAP_FLAGS`. This lets my code compile, and the syntax to use the enum is the same, but the compiler complains about capitalization and I don't really like it. I'd welcome any ideas about a better way to implement this

Co-authored-by: David Dubois <dexcelstraun7@gmail.com>
2019-07-23 15:22:17 +00:00
David Dubois
4af1f9d2fd Add ID3D12Heap, and related structs and methods
`D3D12_HEAP_TYPE, D3D12_CPU_PAGE_PROPERTY, D3D12_MEMORY_POOL, D3D12_HEAP_FLAGS, D3D12_HEAP_PROPERTIES, and D3D12_HEAP_DESC

ID3D12Heap

Wrap ID3D12Device::CreateHeap

Made a tricky enum because DX12 doesn't follow Rust's rules

bump version to 0.2.0

Use bitflags for heap::Flags

Fix typo

Another typo fix
2019-07-23 08:13:06 -07:00
bors[bot]
5324fa6e1c Merge #7
7: Add missing cargo metadata for the release r=msiglreith a=kvark



Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-01-17 11:20:40 +00:00
Dzmitry Malyshau
3e15f7c86e Add missing cargo metadata for the release 2018-12-26 21:24:41 -05:00
bors[bot]
ee0115462e Merge #6
6: Expose event internal and Event in root level r=msiglreith a=msiglreith



Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-11-08 17:14:38 +00:00
msiglreith
09d68b3cb9 Expose event internal and Event in root level 2018-11-08 18:13:37 +01:00
bors[bot]
7d8a7d3e15 Merge #5
5: Add rects length check for clears r=msiglreith a=dati91



Co-authored-by: Attila Dusnoki <attila.dusnoki@h-lab.eu>
2018-11-06 18:02:40 +00:00
Attila Dusnoki
4a938bd1d4 Add rects length check for clears 2018-11-06 14:39:38 +01:00
bors[bot]
6369df29e8 Merge #4
4: Factory, swapchain and more r=kvark a=msiglreith

Additionally renaming the crate to `d3d12`

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-09-10 16:18:46 +00:00
msiglreith
bf7f2e6844 Address review comments 2018-09-10 18:17:37 +02:00
msiglreith
e6ba80cb39 Extend event and fence support 2018-09-08 14:02:52 +02:00
msiglreith
908c29ed7e Add swapchain handling and 2d RTV creation 2018-09-08 14:02:39 +02:00
msiglreith
2aacc3b11b Add debug interface, factory creation and adapter enumeration 2018-09-08 14:02:27 +02:00
bors[bot]
4097a10997 Merge #3
3: Add struct for descriptor binding r=grovesNL a=msiglreith

A bit more safety for API users to pass the correct values.

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-09-03 18:02:26 +00:00
msiglreith
56770dce92 Add struct for descriptor binding 2018-09-01 16:57:38 +02:00
bors[bot]
124f9fc100 Merge #2
2: Fix command signature uuid r=msiglreith a=msiglreith



Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-08-31 22:04:07 +00:00
msiglreith
5e4b1b8795 Fix command signature uuid 2018-09-01 00:02:39 +02:00
bors[bot]
15f6f69725 Merge #1
1: Initialize crate r=kvark a=msiglreith

The crate is supposed to be a Rust wrapper around D3D12.
Motivated by trying to hide the FFI behind a nicer to use layer (part of BAL).

It aims at providing a zero-cost abstraction without any overhead at all (no transition costs between Rust structs and D3D12 structs or allocations). The API closely ressambles the d3d12 interfaces and is strucutered accordingly.

It currently uses a custom `ComPtr` implementation which does not do any refcounting, therefore requires manual destruction when dropping.

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-08-27 16:58:06 +00:00
msiglreith
0d3487960a Fix appveyor build 2018-08-26 16:10:27 +02:00
msiglreith
4da4b1e908 Setup crate structure and wrap first interface 2018-08-26 16:07:26 +02:00