@bloomengine/engine 0.4.7 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -365,11 +365,16 @@ unsafe extern "C" fn scene_will_connect(
365
365
  // configuration. The renderer keys off device.features() (see
366
366
  // renderer/mod.rs), so it transparently falls back to the non-RT
367
367
  // path when ray-query isn't granted.
368
- eprintln!("[bloom-ios] request_device with preferred features failed ({e:?}); retrying without ray-query/experimental features");
368
+ eprintln!("[bloom-ios] request_device with preferred features failed ({e:?}); retrying with adapter limits and no ray-query/experimental features");
369
+ // Request exactly the adapter's reported limits (not wgpu's
370
+ // Limits::default()): some iOS GPUs cap individual limits — e.g.
371
+ // max_inter_stage_shader_variables — below wgpu's defaults, so
372
+ // request_device rejects the default-limits request too. Asking for
373
+ // adapter.limits() can never exceed what the device supports.
369
374
  pollster_block_on(adapter.request_device(&wgpu::DeviceDescriptor {
370
375
  label: Some("bloom_device"),
371
376
  required_features: wgpu::Features::empty(),
372
- required_limits: wgpu::Limits::default(),
377
+ required_limits: adapter.limits(),
373
378
  experimental_features: wgpu::ExperimentalFeatures::disabled(),
374
379
  ..Default::default()
375
380
  })).expect("Failed to create device (minimal fallback)")
@@ -555,11 +560,16 @@ pub unsafe extern "C" fn perry_scene_will_connect(scene: *const c_void) {
555
560
  // configuration. The renderer keys off device.features() (see
556
561
  // renderer/mod.rs), so it transparently falls back to the non-RT
557
562
  // path when ray-query isn't granted.
558
- eprintln!("[bloom-ios] request_device with preferred features failed ({e:?}); retrying without ray-query/experimental features");
563
+ eprintln!("[bloom-ios] request_device with preferred features failed ({e:?}); retrying with adapter limits and no ray-query/experimental features");
564
+ // Request exactly the adapter's reported limits (not wgpu's
565
+ // Limits::default()): some iOS GPUs cap individual limits — e.g.
566
+ // max_inter_stage_shader_variables — below wgpu's defaults, so
567
+ // request_device rejects the default-limits request too. Asking for
568
+ // adapter.limits() can never exceed what the device supports.
559
569
  pollster_block_on(adapter.request_device(&wgpu::DeviceDescriptor {
560
570
  label: Some("bloom_device"),
561
571
  required_features: wgpu::Features::empty(),
562
- required_limits: wgpu::Limits::default(),
572
+ required_limits: adapter.limits(),
563
573
  experimental_features: wgpu::ExperimentalFeatures::disabled(),
564
574
  ..Default::default()
565
575
  })).expect("Failed to create device (minimal fallback)")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bloomengine/engine",
3
- "version": "0.4.7",
3
+ "version": "0.4.8",
4
4
  "description": "Bloom Engine: native TypeScript game engine compiled by Perry",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",