@@ -814,51 +814,46 @@ impl super::Device {
814
814
let mut external_memory_image_info = vk:: ExternalMemoryImageCreateInfo :: default ( )
815
815
. handle_types ( vk:: ExternalMemoryHandleTypeFlags :: D3D11_TEXTURE ) ;
816
816
817
- let ImageWithoutMemory {
818
- raw,
819
- requirements,
820
- copy_size,
821
- view_formats,
822
- raw_flags,
823
- } = self . create_image_without_memory ( desc, Some ( & mut external_memory_image_info) ) ?;
817
+ let image =
818
+ self . create_image_without_memory ( desc, Some ( & mut external_memory_image_info) ) ?;
824
819
825
820
let mut import_memory_info = vk:: ImportMemoryWin32HandleInfoKHR :: default ( )
826
821
. handle_type ( vk:: ExternalMemoryHandleTypeFlags :: D3D11_TEXTURE )
827
822
. handle ( d3d11_shared_handle. 0 as _ ) ;
828
823
829
824
let mem_type_index = self
830
825
. find_memory_type_index (
831
- requirements. memory_type_bits ,
826
+ image . requirements . memory_type_bits ,
832
827
vk:: MemoryPropertyFlags :: DEVICE_LOCAL ,
833
828
)
834
829
. ok_or ( crate :: DeviceError :: ResourceCreationFailed ) ?;
835
830
836
831
let memory_allocate_info = vk:: MemoryAllocateInfo :: default ( )
837
- . allocation_size ( requirements. size )
832
+ . allocation_size ( image . requirements . size )
838
833
. memory_type_index ( mem_type_index as _ )
839
834
. push_next ( & mut import_memory_info) ;
840
835
let memory = unsafe { self . shared . raw . allocate_memory ( & memory_allocate_info, None ) }
841
836
. map_err ( super :: map_host_device_oom_err) ?;
842
837
843
- unsafe { self . shared . raw . bind_image_memory ( raw, memory, 0 ) }
838
+ unsafe { self . shared . raw . bind_image_memory ( image . raw , memory, 0 ) }
844
839
. map_err ( super :: map_host_device_oom_err) ?;
845
840
846
841
if let Some ( label) = desc. label {
847
- unsafe { self . shared . set_object_name ( raw, label) } ;
842
+ unsafe { self . shared . set_object_name ( image . raw , label) } ;
848
843
}
849
844
850
845
self . counters . textures . add ( 1 ) ;
851
846
852
847
Ok ( super :: Texture {
853
- raw,
848
+ raw : image . raw ,
854
849
drop_guard : None ,
855
850
external_memory : Some ( memory) ,
856
851
block : None ,
857
852
usage : desc. usage ,
858
853
format : desc. format ,
859
- raw_flags,
860
- copy_size,
861
- view_formats,
854
+ raw_flags : image . raw_flags ,
855
+ copy_size : image . copy_size ,
856
+ view_formats : image . view_formats ,
862
857
} )
863
858
}
864
859
@@ -1195,22 +1190,16 @@ impl crate::Device for super::Device {
1195
1190
& self ,
1196
1191
desc : & crate :: TextureDescriptor ,
1197
1192
) -> Result < super :: Texture , crate :: DeviceError > {
1198
- let ImageWithoutMemory {
1199
- raw,
1200
- requirements,
1201
- copy_size,
1202
- view_formats,
1203
- raw_flags,
1204
- } = self . create_image_without_memory ( desc, None ) ?;
1193
+ let image = self . create_image_without_memory ( desc, None ) ?;
1205
1194
1206
1195
let block = unsafe {
1207
1196
self . mem_allocator . lock ( ) . alloc (
1208
1197
& * self . shared ,
1209
1198
gpu_alloc:: Request {
1210
- size : requirements. size ,
1211
- align_mask : requirements. alignment - 1 ,
1199
+ size : image . requirements . size ,
1200
+ align_mask : image . requirements . alignment - 1 ,
1212
1201
usage : gpu_alloc:: UsageFlags :: FAST_DEVICE_ACCESS ,
1213
- memory_types : requirements. memory_type_bits & self . valid_ash_memory_types ,
1202
+ memory_types : image . requirements . memory_type_bits & self . valid_ash_memory_types ,
1214
1203
} ,
1215
1204
) ?
1216
1205
} ;
@@ -1220,26 +1209,26 @@ impl crate::Device for super::Device {
1220
1209
unsafe {
1221
1210
self . shared
1222
1211
. raw
1223
- . bind_image_memory ( raw, * block. memory ( ) , block. offset ( ) )
1212
+ . bind_image_memory ( image . raw , * block. memory ( ) , block. offset ( ) )
1224
1213
. map_err ( super :: map_host_device_oom_err) ?
1225
1214
} ;
1226
1215
1227
1216
if let Some ( label) = desc. label {
1228
- unsafe { self . shared . set_object_name ( raw, label) } ;
1217
+ unsafe { self . shared . set_object_name ( image . raw , label) } ;
1229
1218
}
1230
1219
1231
1220
self . counters . textures . add ( 1 ) ;
1232
1221
1233
1222
Ok ( super :: Texture {
1234
- raw,
1223
+ raw : image . raw ,
1235
1224
drop_guard : None ,
1236
1225
external_memory : None ,
1237
1226
block : Some ( block) ,
1238
1227
usage : desc. usage ,
1239
1228
format : desc. format ,
1240
- raw_flags,
1241
- copy_size,
1242
- view_formats,
1229
+ raw_flags : image . raw_flags ,
1230
+ copy_size : image . copy_size ,
1231
+ view_formats : image . view_formats ,
1243
1232
} )
1244
1233
}
1245
1234
unsafe fn destroy_texture ( & self , texture : super :: Texture ) {
0 commit comments