wgpuAdapterRequestDevice() called without `requiredLimits` fails in simulated Android device
Killavus opened this issue · 0 comments
Environment:
wgpu-native
version: 0.19.4.1 (commit d89e5a9)
Host device: 14-Inch MacBook Pro M1
Host operating system: macOS Sonoma (14.4.1 (23E224))
Emulated device: Pixel 6 API 32 (Android 12L arm64-v8a, "Graphics" set to "Automatic")
Details:
When trying to call wgpuAdapterRequestDevice()
without requiredLimits
being set (passed NULL
), device is not instantiated and fails with following validation error:
Validation Error
Caused by:
Limit 'max_inter_stage_shader_components' value 31 is better than allowed 0
Adapter correctly reports max_inter_stage_shader_components
to be 0
when queried using wgpuAdapterGetLimits
. It seems that logic of determining limits in the case of max_inter_stage_shader_components
defaults to wgpu::Limits::downlevel_webgl2_defaults()
instead of populating it with adapter's limits.
Is it something expected to be happening? This is happening only on macOS with this device. I've been testing on Windows machine and there calling wgpuAdapterRequestDevice
is returning a proper device without specifying requiredLimits
.