소스 검색

Fix vulkan in release mode

luboslenco 3 달 전
부모
커밋
79d032c7e5
1개의 변경된 파일3개의 추가작업 그리고 4개의 파일을 삭제
  1. 3 4
      base/sources/backends/vulkan_gpu.c

+ 3 - 4
base/sources/backends/vulkan_gpu.c

@@ -899,18 +899,18 @@ void iron_gpu_internal_init() {
 			.ppEnabledExtensionNames = (const char *const *)wanted_device_extensions,
 		};
 
+		VkPhysicalDeviceRayTracingPipelineFeaturesKHR raytracing_pipeline_ext = {0};
+		VkPhysicalDeviceAccelerationStructureFeaturesKHR raytracing_acceleration_structure_ext = {0};
+		VkPhysicalDeviceBufferDeviceAddressFeatures buffer_device_address_ext = {0};
 		if (iron_gpu_raytrace_supported()) {
-			VkPhysicalDeviceRayTracingPipelineFeaturesKHR raytracing_pipeline_ext = {0};
 			raytracing_pipeline_ext.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR;
 			raytracing_pipeline_ext.pNext = deviceinfo.pNext;
 			raytracing_pipeline_ext.rayTracingPipeline = VK_TRUE;
 
-			VkPhysicalDeviceAccelerationStructureFeaturesKHR raytracing_acceleration_structure_ext = {0};
 			raytracing_acceleration_structure_ext.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR;
 			raytracing_acceleration_structure_ext.pNext = &raytracing_pipeline_ext;
 			raytracing_acceleration_structure_ext.accelerationStructure = VK_TRUE;
 
-			VkPhysicalDeviceBufferDeviceAddressFeatures buffer_device_address_ext = {0};
 			buffer_device_address_ext.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES;
 			buffer_device_address_ext.pNext = &raytracing_acceleration_structure_ext;
 			buffer_device_address_ext.bufferDeviceAddress = VK_TRUE;
@@ -1947,7 +1947,6 @@ void iron_gpu_pipeline_init(iron_gpu_pipeline_t *pipeline) {
 }
 
 void iron_gpu_pipeline_destroy(iron_gpu_pipeline_t *pipeline) {
-	vkDestroyPipeline(vk_ctx.device, pipeline->impl.pipeline, NULL);
 	vkDestroyPipeline(vk_ctx.device, pipeline->impl.pipeline, NULL);
 	vkDestroyPipelineLayout(vk_ctx.device, pipeline->impl.pipeline_layout, NULL);
 }