Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring d3d12 crate in-tree #3987

Merged
merged 72 commits into from
Oct 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
b1d6410
Initial commit
msiglreith Aug 25, 2018
a0c95c9
Setup bors and CI
msiglreith Aug 26, 2018
4da4b1e
Setup crate structure and wrap first interface
msiglreith Aug 26, 2018
0d34879
Fix appveyor build
msiglreith Aug 26, 2018
15f6f69
Merge #1
bors[bot] Aug 27, 2018
5e4b1b8
Fix command signature uuid
msiglreith Aug 31, 2018
124f9fc
Merge #2
bors[bot] Aug 31, 2018
56770dc
Add struct for descriptor binding
msiglreith Sep 1, 2018
4097a10
Merge #3
bors[bot] Sep 3, 2018
2aacc3b
Add debug interface, factory creation and adapter enumeration
msiglreith Sep 2, 2018
908c29e
Add swapchain handling and 2d RTV creation
msiglreith Sep 2, 2018
e6ba80c
Extend event and fence support
msiglreith Sep 4, 2018
bf7f2e6
Address review comments
msiglreith Sep 10, 2018
6369df2
Merge #4
bors[bot] Sep 10, 2018
4a938bd
Add rects length check for clears
Nov 6, 2018
7d8a7d3
Merge #5
bors[bot] Nov 6, 2018
09d68b3
Expose event internal and Event in root level
msiglreith Nov 8, 2018
ee01154
Merge #6
bors[bot] Nov 8, 2018
3e15f7c
Add missing cargo metadata for the release
kvark Dec 27, 2018
5324fa6
Merge #7
bors[bot] Jan 17, 2019
4af1f9d
Add ID3D12Heap, and related structs and methods
DethRaid Jul 19, 2019
914d782
Merge #9
bors[bot] Jul 23, 2019
0a4a86e
Add root descriptor
msiglreith Oct 3, 2019
f40c804
Merge #11
bors[bot] Oct 3, 2019
f4043cd
Add root descriptor commands and add trait derives
msiglreith Oct 3, 2019
ee7ec68
Merge #12
bors[bot] Oct 3, 2019
241a638
Bump version to 0.2.2
msiglreith Oct 4, 2019
e84b691
Merge #13
bors[bot] Oct 4, 2019
8bac8b5
Remove one layer of modules and Queue::execute_command_lists
msiglreith Oct 15, 2019
a4c5943
Merge #16
bors[bot] Oct 15, 2019
aa2b674
Resource transition barriers and prefix heap types
msiglreith Oct 17, 2019
bef2027
Merge #17
bors[bot] Oct 18, 2019
14fafbc
Dynamic loading for D3D12 device and DXGI
kvark Oct 31, 2019
cab411d
Merge #19
bors[bot] Oct 31, 2019
029c24d
Preparations for 0.3 release
kvark Nov 1, 2019
b721376
Use windows as default doc target
msiglreith Nov 1, 2019
aa33591
Merge #21
bors[bot] Nov 1, 2019
0643df0
Merge #20
bors[bot] Nov 1, 2019
65c9326
Shader from raw IL
msiglreith Nov 3, 2019
72c115e
Merge pull request #22 from msiglreith/shader-il
msiglreith Mar 20, 2020
832f124
Bump libloading to 0.6
cwfitzgerald Jun 29, 2020
afb3cb6
Merge #23
bors[bot] Jun 30, 2020
9017c8d
Rustfmt pass
kvark Jul 7, 2020
9a2b5bd
Convert to Rust2018
kvark Jul 7, 2020
5bf5f25
Debug implementations for root descriptors
kvark Jul 7, 2020
416fb75
Bump version, add changelog
kvark Jul 7, 2020
2810498
Merge #24
bors[bot] Jul 7, 2020
2fc7340
Add present flags
kvark Aug 19, 2020
8ba8159
Merge pull request #26 from kvark/borrow
msiglreith Aug 19, 2020
d6ad98b
Update libloading to 0.7
yzsolt Feb 9, 2021
be19a24
Merge pull request #28 from yzsolt/update-libloading-to-0.7
kvark Feb 9, 2021
ea18863
Bump version to 0.4.0
kvark Apr 29, 2021
2061f6a
Expose all indirect argument types
kvark Jul 26, 2021
9648579
Merge pull request #34 from gfx-rs/indirect
kvark Jul 26, 2021
3e88f3d
Setting root constants
kvark Jul 27, 2021
79f29c8
Merge pull request #35 from gfx-rs/root-const
msiglreith Jul 27, 2021
15ef150
Version bump to 0.4.1
kvark Aug 18, 2021
a9ef657
Merge pull request #36 from gfx-rs/release-0.4.1
kvark Aug 18, 2021
ffe5e26
Adds D3D11 DXGI Support and COM Helper Chain (#37)
cwfitzgerald Mar 9, 2022
3761d8a
Bump version to 0.5.0
cwfitzgerald Jul 1, 2022
195f36b
Merge pull request #39 from cwfitzgerald/v0.5.0
cwfitzgerald Jul 1, 2022
bd2290f
Add FactoryMedia
xiaopengli89 Nov 10, 2022
fd0df18
Create IDXGIFactoryMedia by CreateDXGIFactory1
xiaopengli89 Nov 25, 2022
a990c93
Merge pull request #40 from xiaopengli89/factory-media
cwfitzgerald Jan 18, 2023
7f9735f
Release 0.6
cwfitzgerald Jan 25, 2023
b940b1d
Merge pull request #41 from cwfitzgerald/release-0.6
cwfitzgerald Jan 25, 2023
777c5c1
Bump `bitflags` to v2 (#44)
daxpedda Jun 3, 2023
7e8051e
Bump `libloading` to v0.8 (#43)
daxpedda Jun 4, 2023
a6fa689
Change from WeakPtr to ComPtr which has proper ownership semantics
jrmuizel Jul 14, 2023
661dcee
Merge pull request #45 from jrmuizel/ownership2
cwfitzgerald Jul 18, 2023
5663caa
Add 'd3d12/' from commit '661dcee3f9b72c787b7aac33e4e492d9f887dc7b'
ErichDonGubler Oct 26, 2023
9e2d73d
move(hal,dx11,dx12): use local `path` dep. for `d3d12`
ErichDonGubler Jul 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ members = [
"wgpu-types",
"wgpu",
]
exclude = []
exclude = [
"d3d12",
ErichDonGubler marked this conversation as resolved.
Show resolved Hide resolved
]
default-members = [
"examples/*",
"naga",
Expand Down Expand Up @@ -136,7 +138,7 @@ gpu-allocator = { version = "0.23", default_features = false, features = [
"d3d12",
"public-winapi",
] }
d3d12 = "0.7.0"
d3d12 = { version = "0.7.0", path = "./d3d12/" }
range-alloc = "0.1"
winapi = "0.3"
hassle-rs = "0.10.0"
Expand Down Expand Up @@ -175,7 +177,6 @@ termcolor = "1.3.0"

[patch.crates-io]
#glow = { path = "../glow" }
#d3d12 = { path = "../d3d12-rs" }
ErichDonGubler marked this conversation as resolved.
Show resolved Hide resolved
#web-sys = { path = "../wasm-bindgen/crates/web-sys" }
#js-sys = { path = "../wasm-bindgen/crates/js-sys" }
#wasm-bindgen = { path = "../wasm-bindgen" }
Expand Down
12 changes: 12 additions & 0 deletions d3d12/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Generated by Cargo
ErichDonGubler marked this conversation as resolved.
Show resolved Hide resolved
# will have compiled files and executables
/target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

.idea/
32 changes: 32 additions & 0 deletions d3d12/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Change Log

## v0.6.0 (2023-01-25)
- add helpers for IDXGIFactoryMedia
- add `create_swapchain_for_composition_surface_handle`

## v0.5.0 (2022-07-01)
- add COM helpers
- enable D3D11 adapter use

## v0.4.1 (2021-08-18)
- expose all indirect argument types
- expose methods for setting root constants

## v0.4.0 (2021-04-29)
- update `libloading` to 0.7

## v0.3.1 (2020-07-07)
- create shader from IL
- fix default doc target
- debug impl for root descriptors

## v0.3.0 (2019-11-01)
- resource transitions
- dynamic library loading

## v0.2.2 (2019-10-04)
- add `D3DHeap`
- add root descriptor

## v0.1.0 (2018-12-26)
- basic version
28 changes: 28 additions & 0 deletions d3d12/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[package]
name = "d3d12"
version = "0.7.0"
authors = [
"gfx-rs developers",
]
description = "Low level D3D12 API wrapper"
repository = "https://github.com/gfx-rs/d3d12-rs"
keywords = ["windows", "graphics"]
license = "MIT OR Apache-2.0"
documentation = "https://docs.rs/d3d12"
categories = ["api-bindings", "graphics", "memory-management", "os::windows-apis"]
edition = "2018"

[features]
implicit-link = []

[dependencies]
bitflags = "2"
# libloading 0.8 switches from `winapi` to `windows-sys`; permit either
libloading = { version = ">=0.7,<0.9", optional = true }

[dependencies.winapi]
version = "0.3"
features = ["dxgi1_2","dxgi1_3","dxgi1_4","dxgi1_5","dxgi1_6","dxgidebug","d3d12","d3d12sdklayers","d3dcommon","d3dcompiler","dxgiformat","synchapi","winerror"]

[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
6 changes: 6 additions & 0 deletions d3d12/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# d3d12-rs
[![Crates.io](https://img.shields.io/crates/v/d3d12.svg)](https://crates.io/crates/d3d12)
[![Docs.rs](https://docs.rs/d3d12/badge.svg)](https://docs.rs/d3d12)
[![Matrix](https://img.shields.io/matrix/gfx:matrix.org)](https://matrix.to/#/#gfx:matrix.org)

Rust wrapper for raw D3D12 access.
29 changes: 29 additions & 0 deletions d3d12/appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
skip_branch_with_pr: true
branches:
except:
- staging.tmp
environment:
global:
PATH: '%PATH%;C:\msys64\mingw64\bin;C:\msys64\usr\bin;%USERPROFILE%\.cargo\bin'
RUST_BACKTRACE: full
matrix:
- CHANNEL: stable
TARGET: x86_64-pc-windows-msvc

skip_commits:
files:
- bors.toml
- '*.md'

install:
- curl -sSf -o rustup-init.exe https://win.rustup.rs
- rustup-init -yv --default-toolchain %CHANNEL% --default-host %TARGET%
- rustc -vV
- cargo -vV

build: false
test_script:
- cargo check
- cargo check --features libloading
- cargo check --features implicit-link
- cargo check --all-features
5 changes: 5 additions & 0 deletions d3d12/bors.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
status = [
cwfitzgerald marked this conversation as resolved.
Show resolved Hide resolved
"continuous-integration/appveyor/branch"
]

timeout_sec = 18000 # 5 hours
Empty file added d3d12/rustfmt.toml
Empty file.
Loading
Loading