Skip to content

Commit c46624f

Browse files
authored
Fix filtering out dx12 software adapters (#6843)
1 parent 61b7063 commit c46624f

File tree

2 files changed

+20
-16
lines changed

2 files changed

+20
-16
lines changed

CHANGELOG.md

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,26 +40,26 @@ Bottom level categories:
4040

4141
## Unreleased
4242

43-
## Major changes
43+
### Major changes
4444

45-
### Refactored Dispatch Between `wgpu-core` and `webgpu`
45+
#### Refactored Dispatch Between `wgpu-core` and `webgpu`
4646

4747
The crate `wgpu` has two different "backends", one which targets webgpu in the browser, one which targets `wgpu_core` on native platforms and webgl. This was previously very difficult to traverse and add new features to. The entire system was refactored to make it simpler. Additionally the new system has zero overhead if there is only one "backend" in use. You can see the new system in action by using go-to-definition on any wgpu functions in your IDE.
4848

4949
By @cwfitzgerald in [#6619](https://github.com/gfx-rs/wgpu/pull/6619).
5050

51-
### Render and Compute Passes Now Properly Enforce Their Lifetime
51+
#### Render and Compute Passes Now Properly Enforce Their Lifetime
5252

5353
A regression introduced in 23.0.0 caused lifetimes of render and compute passes to be incorrectly enforced. While this is not
5454
a soundness issue, the intent is to move an error from runtime to compile time. This issue has been fixed and restored to the 22.0.0 behavior.
5555

56-
### Bindless (`binding_array`) Grew More Capabilities
56+
#### Bindless (`binding_array`) Grew More Capabilities
5757

5858
- DX12 now supports `PARTIALLY_BOUND_BINDING_ARRAY` on Resource Binding Tier 3 Hardware. This is most D3D12 hardware [D3D12 Feature Table] for more information on what hardware supports this feature. By @cwfitzgerald in [#6734](https://github.com/gfx-rs/wgpu/pull/6734).
5959

6060
[D3D12 Feature Table]: https://d3d12infodb.boolka.dev/FeatureTable.html
6161

62-
### `Device::create_shader_module_unchecked` Renamed and Now Has Configuration Options
62+
#### `Device::create_shader_module_unchecked` Renamed and Now Has Configuration Options
6363

6464
`create_shader_module_unchecked` became `create_shader_module_trusted`.
6565

@@ -75,7 +75,7 @@ let desc: ShaderModuleDescriptor = include_wgsl!(...)
7575

7676
By @cwfitzgerald and @rudderbucky in [#6662](https://github.com/gfx-rs/wgpu/pull/6662).
7777

78-
### The `diagnostic(…);` directive is now supported in WGSL
78+
#### The `diagnostic(…);` directive is now supported in WGSL
7979

8080
Naga now parses `diagnostic(…);` directives according to the WGSL spec. This allows users to control certain lints, similar to Rust's `allow`, `warn`, and `deny` attributes. For example, in standard WGSL (but, notably, not Naga yet—see <https://github.com/gfx-rs/wgpu/issues/4369>) this snippet would emit a uniformity error:
8181

@@ -125,9 +125,9 @@ There are some limitations to keep in mind with this new functionality:
125125

126126
By @ErichDonGubler in [#6456](https://github.com/gfx-rs/wgpu/pull/6456), [#6148](https://github.com/gfx-rs/wgpu/pull/6148), [#6533](https://github.com/gfx-rs/wgpu/pull/6533), [#6353](https://github.com/gfx-rs/wgpu/pull/6353), [#6537](https://github.com/gfx-rs/wgpu/pull/6537).
127127

128-
### New Features
128+
#### New Features
129129

130-
#### Naga
130+
##### Naga
131131

132132
- Support atomic operations on fields of global structs in the SPIR-V frontend. By @schell in [#6693](https://github.com/gfx-rs/wgpu/pull/6693).
133133
- Clean up tests for atomic operations support in SPIR-V frontend. By @schell in [#6692](https://github.com/gfx-rs/wgpu/pull/6692)
@@ -143,34 +143,34 @@ By @ErichDonGubler in [#6456](https://github.com/gfx-rs/wgpu/pull/6456), [#6148]
143143
- Implement type inference for abstract arguments to user-defined functions. By @jamienicol in [#6577](https://github.com/gfx-rs/wgpu/pull/6577).
144144
- Allow for override-expressions in array sizes. By @KentSlaney in [#6654](https://github.com/gfx-rs/wgpu/pull/6654).
145145

146-
#### General
146+
##### General
147147

148148
- Add unified documentation for ray-tracing. By @Vecvec in [#6747](https://github.com/gfx-rs/wgpu/pull/6747)
149149
- Return submission index in `map_async` and `on_submitted_work_done` to track down completion of async callbacks. By @eliemichel in [#6360](https://github.com/gfx-rs/wgpu/pull/6360).
150150
- Move raytracing alignments into HAL instead of in core. By @Vecvec in [#6563](https://github.com/gfx-rs/wgpu/pull/6563).
151151
- Allow for statically linking DXC rather than including separate `.dll` files. By @DouglasDwyer in [#6574](https://github.com/gfx-rs/wgpu/pull/6574).
152152

153-
### Changes
153+
#### Changes
154154

155-
#### Naga
155+
##### Naga
156156

157157
- Show types of LHS and RHS in binary operation type mismatch errors. By @ErichDonGubler in [#6450](https://github.com/gfx-rs/wgpu/pull/6450).
158158
- The GLSL parser now uses less expressions for function calls. By @magcius in [#6604](https://github.com/gfx-rs/wgpu/pull/6604).
159159
- Add a note to help with a common syntax error case for global diagnostic filter directives. By @e-hat in [#6718](https://github.com/gfx-rs/wgpu/pull/6718)
160160

161-
#### General
161+
##### General
162162

163163
- Align Storage Access enums to the webgpu spec. By @atlv24 in [#6642](https://github.com/gfx-rs/wgpu/pull/6642)
164164
- Make `Surface::as_hal` take an immutable reference to the surface. By @jerzywilczek in [#9999](https://github.com/gfx-rs/wgpu/pull/9999)
165165
- Add actual sample type to `CreateBindGroupError::InvalidTextureSampleType` error message. By @ErichDonGubler in [#6530](https://github.com/gfx-rs/wgpu/pull/6530).
166166
- Improve binding error to give a clearer message when there is a mismatch between resource binding as it is in the shader and as it is in the binding layout. By @eliemichel in [#6553](https://github.com/gfx-rs/wgpu/pull/6553).
167167
- `Surface::configure` and `Surface::get_current_texture` are no longer fatal. By @alokedesai in [#6253](https://github.com/gfx-rs/wgpu/pull/6253)
168168

169-
#### D3D12
169+
##### D3D12
170170

171171
- Avoid using FXC as fallback when the DXC container was passed at instance creation. Paths to `dxcompiler.dll` & `dxil.dll` are also now required. By @teoxoy in [#6643](https://github.com/gfx-rs/wgpu/pull/6643).
172172

173-
#### HAL
173+
##### HAL
174174

175175
- Replace `usage: Range<T>`, for `BufferUses`, `TextureUses`, and `AccelerationStructureBarrier` with a new `StateTransition<T>`. By @atlv24 in [#6703](https://github.com/gfx-rs/wgpu/pull/6703)
176176
- Change the `DropCallback` API to use `FnOnce` instead of `FnMut`. By @jerzywilczek in [#6482](https://github.com/gfx-rs/wgpu/pull/6482)
@@ -199,7 +199,11 @@ By @ErichDonGubler in [#6456](https://github.com/gfx-rs/wgpu/pull/6456), [#6148]
199199

200200
- Fix crash when a texture argument is missing. By @aedm in [#6486](https://github.com/gfx-rs/wgpu/pull/6486)
201201
- Emit an error in constant evaluation, rather than crash, in certain cases where `vecN` constructors have less than N arguments. By @ErichDonGubler in [#6508](https://github.com/gfx-rs/wgpu/pull/6508).
202-
202+
203+
#### D3D12
204+
205+
- Fix no longer showing software rasterizer adapters. By @wumpf in [#6843](https://github.com/gfx-rs/wgpu/pull/6843).
206+
203207
### Examples
204208

205209
- Add multiple render targets example. By @kaphula in [#5297](https://github.com/gfx-rs/wgpu/pull/5313)

wgpu-hal/src/auxil/dxgi/factory.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ fn should_keep_adapter(adapter: &Dxgi::IDXGIAdapter1) -> bool {
3535
//
3636
// We don't want that and discourage that kind of filtering anyway, so we skip the integrated WARP.
3737
if desc.VendorId == 5140
38-
&& Dxgi::DXGI_ADAPTER_FLAG(desc.Flags as i32).contains(Dxgi::DXGI_ADAPTER_FLAG_SOFTWARE)
38+
&& !Dxgi::DXGI_ADAPTER_FLAG(desc.Flags as i32).contains(Dxgi::DXGI_ADAPTER_FLAG_SOFTWARE)
3939
{
4040
let adapter_name = super::conv::map_adapter_name(desc.Description);
4141
if adapter_name.contains("Microsoft Basic Render Driver") {

0 commit comments

Comments
 (0)