Skip to content

Commit 46b1216

Browse files
refactor(dx12): remove unsafe ops in Adapter::texture_format_capabilities (#3194)
1 parent 9bb2d28 commit 46b1216

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

wgpu-hal/src/dx12/adapter.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ use crate::{
22
auxil::{self, dxgi::result::HResult as _},
33
dx12::SurfaceTarget,
44
};
5-
use std::{mem, sync::Arc, thread};
5+
use std::{mem, ptr, sync::Arc, thread};
66
use winapi::{
7-
shared::{dxgi, dxgi1_2, windef, winerror},
7+
shared::{dxgi, dxgi1_2, minwindef::DWORD, windef, winerror},
88
um::{d3d12, d3d12sdklayers, winuser},
99
};
1010

@@ -382,16 +382,17 @@ impl crate::Adapter<super::Api> for super::Adapter {
382382
// the features that use SRV/UAVs using the no-depth format.
383383
let mut data_no_depth = d3d12::D3D12_FEATURE_DATA_FORMAT_SUPPORT {
384384
Format: no_depth_format,
385-
Support1: unsafe { mem::zeroed() },
386-
Support2: unsafe { mem::zeroed() },
385+
Support1: d3d12::D3D12_FORMAT_SUPPORT1_NONE,
386+
Support2: d3d12::D3D12_FORMAT_SUPPORT2_NONE,
387387
};
388388
if raw_format != no_depth_format {
389389
// Only-recheck if we're using a different format
390390
assert_eq!(winerror::S_OK, unsafe {
391391
self.device.CheckFeatureSupport(
392392
d3d12::D3D12_FEATURE_FORMAT_SUPPORT,
393-
&mut data_no_depth as *mut _ as *mut _,
394-
mem::size_of::<d3d12::D3D12_FEATURE_DATA_FORMAT_SUPPORT>() as _,
393+
ptr::addr_of_mut!(data_no_depth).cast(),
394+
DWORD::try_from(mem::size_of::<d3d12::D3D12_FEATURE_DATA_FORMAT_SUPPORT>())
395+
.unwrap(),
395396
)
396397
});
397398
} else {

0 commit comments

Comments
 (0)