Commit Graph

59 Commits

Author SHA1 Message Date
Connor Fitzgerald
ffe5e261da Adds D3D11 DXGI Support and COM Helper Chain (#37)
* Add older dxgi methods

* Add create_swapchain_for_composition

* Add DXGIFactory6

* Write COM inheritance chain macro

* Add DXGIAdapter chain

* Make accessing base of inheritance chain easy

* Add `mut_self` to WeakPtr

* Add TryFrom<u32> for FeatureLevel

* Fix compile error on 1.51

* Comments
2022-03-08 20:15:03 -08:00
Dzmitry Malyshau
a9ef6577b6 Merge pull request #36 from gfx-rs/release-0.4.1
Version bump to 0.4.1
2021-08-18 13:56:08 -04:00
Dzmitry Malyshau
15ef1507fd Version bump to 0.4.1 d3d12-v0.4.1 2021-08-18 00:35:05 -04:00
Markus Siglreithmaier
79f29c8809 Merge pull request #35 from gfx-rs/root-const
Setting root constants
2021-07-27 07:46:54 +02:00
Dzmitry Malyshau
3e88f3dc63 Setting root constants 2021-07-27 01:29:05 -04:00
Dzmitry Malyshau
9648579dcb Merge pull request #34 from gfx-rs/indirect
Expose all indirect argument types
2021-07-26 13:52:13 -04:00
Dzmitry Malyshau
2061f6a893 Expose all indirect argument types 2021-07-26 13:51:32 -04:00
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