Skip to content

Commit 1563ef2

Browse files
committed
separate is_required_memory_type and has_required_properties
1 parent c1f26c5 commit 1563ef2

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

wgpu-hal/src/vulkan/device.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -692,8 +692,8 @@ impl super::Device {
692692
#[cfg(windows)]
693693
fn find_memory_type_index(
694694
&self,
695-
type_bits: u32,
696-
flags: vk::MemoryPropertyFlags,
695+
type_bits_req: u32,
696+
flags_req: vk::MemoryPropertyFlags,
697697
) -> Option<usize> {
698698
let mem_properties = unsafe {
699699
self.shared
@@ -704,7 +704,10 @@ impl super::Device {
704704

705705
// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceMemoryProperties.html
706706
for (i, mem_ty) in mem_properties.memory_types_as_slice().iter().enumerate() {
707-
if type_bits & (1 << i) != 0 && mem_ty.property_flags & flags == flags {
707+
let types_bits = 1 << i;
708+
let is_required_memory_type = type_bits_req & types_bits != 0;
709+
let has_required_properties = mem_ty.property_flags & flags_req == flags_req;
710+
if is_required_memory_type && has_required_properties {
708711
return Some(i);
709712
}
710713
}

0 commit comments

Comments
 (0)