fix: accept integrated GPUs in physical device selection#9
Open
DasPauluteli wants to merge 1 commit into
Open
Conversation
The suitability check in findPhysicalDevice() already validates all required capabilities (VK_KHR_ray_tracing_pipeline + acceleration structure + synchronization2 + bufferDeviceAddress). The additional hard-coded filter for VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU silently rejects APUs and integrated GPUs that fully support ray tracing, producing the "[PhysicalDevice] No suitable physical device found!" crash at startup. Remove the device-type filter so that selection is capability-based. Fixes Radiance#214, Radiance#240. Also likely fixes Radiance#87 (Intel Arc 140T reports as INTEGRATED_GPU and crashes the same way). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This was referenced May 11, 2026
Open
Silent crash on startup with Radiance 0.1.2-preview on Intel Arc 140T
Minecraft-Radiance/Radiance#87
Open
Collaborator
|
I think there is a selection mechanism in the dev branch for version 0.1.3-alpha, but at the time it is not really working on a intel integrated GPU that has ray tracing unit. If it is working on a amd integrated gpu, could you also share the performance on this device? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
findPhysicalDevice()insrc/core/vulkan/physical_device.cpphas a hard-coded filter that rejects any device that is notVK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU:This silently discards APUs and integrated GPUs that fully satisfy every actual capability requirement, causing an immediate crash on startup:
This affects at least:
rayTracingPipeline = true, still rejectedINTEGRATED_GPU)Fix
Remove the device-type filter.
isDeviceSuitable()already checks every capability that actually matters:VK_KHR_swapchain✓VK_KHR_ray_tracing_pipeline✓accelerationStructure✓synchronization2✓bufferDeviceAddress✓Selection is now purely capability-based.
Tested on
VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPUAll RT extensions confirmed present:
VK_KHR_acceleration_structure,VK_KHR_ray_tracing_pipeline,VK_KHR_ray_query.Diff