RayTracingInVulkan icon indicating copy to clipboard operation
RayTracingInVulkan copied to clipboard

Currently not running on Intel Arc GPUs

Open Azralee opened this issue 3 years ago • 6 comments

A fellow member in a discord server I'm in tried to run the latest released version on an A770, but it didn't start. With a debug build using the current master commit 164e530, it produced the following log: Crashlog.txt Here is the vulkaninfo report for his card: vulkaninfo.txt He is using the currently latest driver v31.0.101.3959 on Windows 11.

Azralee avatar Dec 15 '22 22:12 Azralee

Ah, excellent! I was wondering when someone would give a report on Arc.

As a side note, I'm curious why your debug build is not properly showing the stack trace (you should get function names). Do you have a pdb files next to the executable?

GPSnoopy avatar Dec 16 '22 12:12 GPSnoopy

From the vulkaninfo.txt file you have sent, it looks like shaderInt64 is not supported: https://github.com/GPSnoopy/RayTracingInVulkan/blob/164e530154cc4af465167ed88e743684424eaec6/src/RayTracer.cpp#L82

This was added as part of the heatmap feature: https://github.com/GPSnoopy/RayTracingInVulkan/commit/40cea9fbb783e993e5f88a5b2c3cd8ab4ae11060

According to the official specs, clock2x32ARB() could potentially be used instead? Though that will require another way of calculating float(deltaTime) / heatmapScale. I won't be able to test this theory for a couple of weeks though, PR is welcome if you want to beat me to it.

GPSnoopy avatar Dec 16 '22 12:12 GPSnoopy

Best case would be if Intel drivers support it in the near future.

GPSnoopy avatar Dec 16 '22 12:12 GPSnoopy

Ah, excellent! I was wondering when someone would give a report on Arc.

As a side note, I'm curious why your debug build is not properly showing the stack trace (you should get function names). Do you have a pdb files next to the executable?

He probably forgot to extract the pdb file as well.

From the vulkaninfo.txt file you have sent, it looks like shaderInt64 is not supported:

https://github.com/GPSnoopy/RayTracingInVulkan/blob/164e530154cc4af465167ed88e743684424eaec6/src/RayTracer.cpp#L82

This was added as part of the heatmap feature: 40cea9f

According to the official specs, clock2x32ARB() could potentially be used instead? Though that will require another way of calculating float(deltaTime) / heatmapScale. I won't be able to test this theory for a couple of weeks though, PR is welcome if you want to beat me to it.

Hmm, I can take a stab at it. It shouldn't be too difficult to make this work. Should only be a couple of LOCs.

Best case would be if Intel drivers support it in the near future.

Agreed.

Azralee avatar Dec 16 '22 15:12 Azralee

Interestingly, this seems to be a Windows only problem. According to various Google searches, the feature is available when using the Linux drivers.

GPSnoopy avatar Mar 30 '23 15:03 GPSnoopy

Hi I have A380 on Linux and its still failing

$ ./RayTracer --scene 1
Vulkan SDK Header Version: 243

Vulkan Instance Extensions: 
- VK_KHR_device_group_creation (0.0.1)
- VK_KHR_display (0.0.23)
- VK_KHR_external_fence_capabilities (0.0.1)
- VK_KHR_external_memory_capabilities (0.0.1)
- VK_KHR_external_semaphore_capabilities (0.0.1)
- VK_KHR_get_display_properties2 (0.0.1)
- VK_KHR_get_physical_device_properties2 (0.0.2)
- VK_KHR_get_surface_capabilities2 (0.0.1)
- VK_KHR_surface (0.0.25)
- VK_KHR_surface_protected_capabilities (0.0.1)
- VK_KHR_wayland_surface (0.0.6)
- VK_KHR_xcb_surface (0.0.6)
- VK_KHR_xlib_surface (0.0.6)
- VK_EXT_acquire_drm_display (0.0.1)
- VK_EXT_acquire_xlib_display (0.0.1)
- VK_EXT_debug_report (0.0.10)
- VK_EXT_debug_utils (0.0.2)
- VK_EXT_direct_mode_display (0.0.1)
- VK_EXT_display_surface_counter (0.0.1)
- VK_EXT_swapchain_colorspace (0.0.4)
- VK_EXT_surface_maintenance1 (0.0.1)
- VK_KHR_portability_enumeration (0.0.1)
- VK_LUNARG_direct_driver_loading (0.0.1)

Vulkan Instance Layers: 
- VK_LAYER_VALVE_steam_overlay_32 (1.3.207) : Steam Overlay Layer
- VK_LAYER_VALVE_steam_overlay_64 (1.3.207) : Steam Overlay Layer
- VK_LAYER_VALVE_steam_fossilize_32 (1.3.207) : Steam Pipeline Caching Layer
- VK_LAYER_VALVE_steam_fossilize_64 (1.3.207) : Steam Pipeline Caching Layer
- VK_LAYER_MESA_device_select (1.3.211) : Linux device selection layer
- VK_LAYER_FROG_gamescope_wsi (1.3.221) : Gamescope WSI (XWayland Bypass) Layer (x86_64)
- VK_LAYER_KHRONOS_validation (1.3.243) : Khronos Validation Layer

Vulkan Devices: 
- [22181] INTEL 'Intel(R) Arc(tm) A380 Graphics (DG2)' (Discrete GPU: vulkan 1.3.246, driver Intel open-source Mesa driver Mesa 23.1.5 - 23.1.5)
- [0] UnknownVendor 'llvmpipe (LLVM 16.0.6, 256 bits)' (CPU: vulkan 1.3.246, driver llvmpipe Mesa 23.1.5 (LLVM 16.0.6) - 0.0.1)

Setting Device [22181]:
FATAL: found no matching compute queue

 0# 0x000000000040D1BF in ./RayTracer
 1# 0x000000000040E32E in ./RayTracer
 2# 0x000000000045338C in ./RayTracer
 3# 0x000000000044A1E2 in ./RayTracer
 4# 0x000000000045FF16 in ./RayTracer
 5# 0x00000000004726A4 in ./RayTracer
 6# 0x000000000044B2EA in ./RayTracer
 7# 0x0000000000417C1D in ./RayTracer
 8# 0x00007F1A00E49B4A in /lib64/libc.so.6
 9# __libc_start_main in /lib64/libc.so.6
10# 0x00000000004186F5 in ./RayTracer

ric96 avatar Aug 21 '23 10:08 ric96