Skip to content

Conversation

@SuchAFuriousDeath
Copy link
Collaborator

@SuchAFuriousDeath SuchAFuriousDeath commented Dec 30, 2025

As discussed in Discord, wgpu runs some sort of validation logic and during that runs this compute shader: https://github.com/gfx-rs/wgpu/blob/trunk/wgpu-core/src/indirect_validation/dispatch.rs#L47-L73. The shader uses array<u32>, which requires the DYNAMIC_ARRAY_SIZE feature, but wgpu runs it without checking that DYNAMIC_ARRAY_SIZE is actually supported by the device, causing this error (image from Discord):

image To the best of my knowledge, this seems like a wgpu bug. Since we don't need indirect draw validation anyway as Ruffle doesn't use it, disabling it doesn't lose us anything.

@kjarosh
Copy link
Member

kjarosh commented Dec 30, 2025

Can you file a bug/PR to wgpu too?

@SuchAFuriousDeath
Copy link
Collaborator Author

I am planning to.

@kjarosh kjarosh added A-rendering Area: Rendering & Graphics render-wgpu Issues relating to the wgpu renderer T-fix Type: Bug fix (in something that's supposed to work already) labels Dec 30, 2025
@SuchAFuriousDeath
Copy link
Collaborator Author

Filed: gfx-rs/wgpu#8799

@SuchAFuriousDeath SuchAFuriousDeath force-pushed the disable-indirect-validation branch 2 times, most recently from 0f41903 to 9e2b9c4 Compare January 6, 2026 18:24
@SuchAFuriousDeath SuchAFuriousDeath force-pushed the disable-indirect-validation branch from 9e2b9c4 to 40d63a8 Compare January 7, 2026 08:18
@kjarosh kjarosh force-pushed the disable-indirect-validation branch from 40d63a8 to 7f4834c Compare January 8, 2026 18:43
@kjarosh kjarosh enabled auto-merge (rebase) January 8, 2026 18:43
wgpu's indirect call validation runs a compute shader that uses
`array<u32>`, which requires the `DYNAMIC_ARRAY_SIZE` feature.
However, wgpu runs this shader without first checking if the device
supports that feature, causing device creation to fail on GPUs that
lack it. Since Ruffle doesn't use indirect draws, disabling this
validation has no functional impact.

See gfx-rs/wgpu#8799
auto-merge was automatically disabled January 8, 2026 19:11

Head branch was pushed to by a user without write access

@SuchAFuriousDeath SuchAFuriousDeath force-pushed the disable-indirect-validation branch from 7f4834c to a4ecd98 Compare January 8, 2026 19:11
@kjarosh kjarosh merged commit 8db27b9 into ruffle-rs:master Jan 8, 2026
26 checks passed
@SuchAFuriousDeath SuchAFuriousDeath deleted the disable-indirect-validation branch January 8, 2026 21:22
Hancock33 added a commit to Hancock33/batocera.piboy that referenced this pull request Jan 11, 2026
-------------------------------------------------------------------------------------
azahar.mk 8acdb35798b41f944bdbf40ca3b030e9cb1a40b4 # Version: Commits on Jan 09, 2026
-------------------------------------------------------------------------------------
core: Move plugin FB address ownership to MemorySystem (#1572),

-----------------------------------------------------------------------------------
cemu.mk ca73549717447e1ff5e23efb6564b75d85f6289c # Version: Commits on Jan 09, 2026
-----------------------------------------------------------------------------------
nim: Fix memory leak (#1775)

Store NIMPackage structs in vector instead of pointers on the heap,

------------------------------------------------------------------------------------------
duckstation.mk 2afc6cf26eab960efe004c84f6997bd6b0ad574a # Version: Commits on Jan 09, 2026
------------------------------------------------------------------------------------------
Qt: Fix initial state of output latency slider,

---------------------------------------------------
pcsx2.mk v2.7.10 # Version: Commits on Jan 09, 2026
---------------------------------------------------
- [GS/DX12: Backport Stencil One DATE single pass from DX11/VK](PCSX2/pcsx2#13716)

,

-------------------------------------------------------------------------------------
ppsspp.mk b648243e1e44984853a7377022d5c0ce08de6df6 # Version: Commits on Jan 09, 2026
-------------------------------------------------------------------------------------
Merge pull request #21113 from hrydgard/savestate-count-setting

Add savestate slot count setting,

------------------------------------------------------------------------------------
rpcs3.mk 49bcc930727ced0ea935155f8ef8bf4a4ce4e6e1 # Version: Commits on Jan 09, 2026
------------------------------------------------------------------------------------
ISO: Move load_icon,

-------------------------------------------------------------------------------------
vita3k.mk a00ea7c5ae48c8907be352763607179f8d32b4f4 # Version: Commits on Jan 09, 2026
-------------------------------------------------------------------------------------
android/java/Emulator: Fix folder picker regression.

- Folder picker request to TreeUri for can resolving path.,

-------------------------------------------------------------------------------------------
xenia-canary.mk dce4d38c0aa5372388495d49feb2cb0f682d0d94 # Version: Commits on Jan 07, 2026
-------------------------------------------------------------------------------------------
[XAM] Fixed crash related to incorrect buffer size in UserPlaylist enum

- Replaced unk_ptr in XMP_CREATE_USER_PLAYLIST_ENUMERATOR

- Simplified logic in achievements StringBuffer,

-------------------------------------------------------------------------------------------
xenia-native.mk dce4d38c0aa5372388495d49feb2cb0f682d0d94 # Version: Commits on Jan 07, 2026
-------------------------------------------------------------------------------------------
[XAM] Fixed crash related to incorrect buffer size in UserPlaylist enum

- Replaced unk_ptr in XMP_CREATE_USER_PLAYLIST_ENUMERATOR

- Simplified logic in achievements StringBuffer,

-------------------------------------------------------------------------------------
ikemen.mk 1959a1f28d14412c80b0d9461f92d0fd0833c463 # Version: Commits on Jan 09, 2026
-------------------------------------------------------------------------------------
Merge pull request #3105 from ikemen-engine/fix25

fix: *Animation updates once per frame,

-------------------------------------------------------------------------------------------
moonlight-qt.mk a93116192389d8941a0010f9983ea46f8c06c947 # Version: Commits on Jan 09, 2026
-------------------------------------------------------------------------------------------
Reset client caps before rendering in case SDL changed them,

---------------------------------------------------------------
ruffle.mk nightly-2026-01-09 # Version: Commits on Jan 09, 2026
---------------------------------------------------------------
## What's Changed

* avm2: Improve ArrayStorage and Vector usage by @SuchAFuriousDeath in ruffle-rs/ruffle#22647

* chore: reformat `core` using rustfmt 2024 style by @moulins in ruffle-rs/ruffle#22713

* render: Disable wgpu indirect call validation by @SuchAFuriousDeath in ruffle-rs/ruffle#22648

**Full Changelog**: ruffle-rs/ruffle@nightly-2026-01-08...nightly-2026-01-09,

--------------------------------------------------------------------------------------
scummvm.mk 75dfe0c6247ca430e7925728b8962f5df220826b # Version: Commits on Jan 09, 2026
--------------------------------------------------------------------------------------
I18N: Update translation (Ukrainian)

Currently translated at 86.1% (2638 of 3061 strings),

---------------------------------------------------------------------------------------------
solarus-engine.mk d73e6c6d6ce51555fb48aa1835f4fc4516a777da # Version: Commits on Jan 08, 2026
---------------------------------------------------------------------------------------------
Merge branch 'periodic-v2-merge' into 'dev'

-----------------------------------------------------------------------------------------
sdl3_mixer.mk 74ffed9455522a75ecb87b528d8924268e2cdf2c # Version: Commits on Jan 08, 2026
-----------------------------------------------------------------------------------------
fluidsynth: fix more -Wsign-compare warnings missed in prev. commit.,

------------------------------------------------------------------------------------
box64.mk 71f5207f6d7a2569c263cd641c399513783748af # Version: Commits on Jan 09, 2026
------------------------------------------------------------------------------------
[STATICBUILD] Fix static build,

---------------------------------------------------------------------------------------
etlegacy.mk e01381e301ac6d23f002f46d0ab0ae3a9b8e5920 # Version: Commits on Jan 09, 2026
---------------------------------------------------------------------------------------
github-actions: set full paths,

----------------------------------------------------------------------------------------
supertux2.mk 9563013d95a6afb5c40fb3949bb782af8f537e57 # Version: Commits on Jan 08, 2026
----------------------------------------------------------------------------------------
Update translations,

-------------------------------------------------------------------------------------------------
shadps4-qtlauncher.mk 0011437d81cfd35472fce77371a0ee46dfdb0323 # Version: Commits on Jan 09, 2026
-------------------------------------------------------------------------------------------------
New Crowdin updates (#226)

* New translations en_us.ts (Portuguese, Brazilian)

* New translations en_us.ts (Portuguese, Brazilian)

* New translations en_us.ts (Portuguese, Brazilian),

---------------------------------------------------------------------------------------------------
mupen64plus-gliden64.mk 89617ddc015d75adb760dbc1a8ce4c40ad1b7b6a # Version: Commits on Jan 05, 2026
---------------------------------------------------------------------------------------------------
GLideNHQ: Fix Banjo-Kazooie 0x0 texture dumps,

----------------------------------------------------------------------------------------
retroarch.mk 0f62d73ef82f427eb68ef6f4636961ea21b43df3 # Version: Commits on May 29, 2025
----------------------------------------------------------------------------------------
Improving driver usage,

----------------------------------------------------------------------------------------
doomretro.mk 2fa03283dbcf4c6ba868200b15dde9426cf7b2c6 # Version: Commits on Jan 09, 2026
----------------------------------------------------------------------------------------
Don't map sectors if `am_dynamic` CVAR `off` and in automap,

--------------------------------------------------------------------------------------
vkquake.mk fb2e5520b0cf27ed693f09fe550d0e312501f29e # Version: Commits on Jan 08, 2026
--------------------------------------------------------------------------------------
Upgrade to Mimalloc 3.1.6

As last of 3.1.x line, as psuedo-stable 3.1.5,

----------------------------------------------------------------------------------
trx.mk ef1d64e91ba7abdad83b9074dd1fc8ab04d400b8 # Version: Commits on Jan 09, 2026
----------------------------------------------------------------------------------
loader: don't always make TR3 statics collidable,

------------------------------------------------------------------------------------------
xash3d-fwgs.mk a4e5cf8bac0bf35a07b94dc32ccd264496f82ac9 # Version: Commits on Jan 09, 2026
------------------------------------------------------------------------------------------
engine: client: fix up origin of MOVETYPE_FOLLOW entities immediately after entity update

This fixes an issue when MOVETYPE_FOLLOW entities seem to be \blinking\.

Explanation of what's happening is in the comment in the code.,

--------------------------------------------------------------------------------------------------
libretro-beetle-psx.mk 8c22a1cfaddeb972bfdd46c1d5ecee0b0b2ee52e # Version: Commits on Jan 09, 2026
--------------------------------------------------------------------------------------------------
Fetch translations & Recreate libretro_core_options_intl.h,

------------------------------------------------------------------------------------------------------
libretro-doublecherrygb.mk 4ba65786866d5f3749631ec71d9c1d8dbe256946 # Version: Commits on Jan 09, 2026
------------------------------------------------------------------------------------------------------
✨Added MBC5 Rumble,

--------------------------------------------------------------------------------------------
libretro-jaxe.mk e8e90e3d683bb560df5882f0ad62ed28f96a541a # Version: Commits on Jan 09, 2026
--------------------------------------------------------------------------------------------
Merge pull request #26 from Emulators-Salvacam/main

Add Octo themes,

----------------------------------------------------------------------------------------------
libretro-ppsspp.mk b648243e1e44984853a7377022d5c0ce08de6df6 # Version: Commits on Jan 09, 2026
----------------------------------------------------------------------------------------------
Merge pull request #21113 from hrydgard/savestate-count-setting

Add savestate slot count setting,

-----------------------------------------------------------------------------------------------
libretro-scummvm.mk 75dfe0c6247ca430e7925728b8962f5df220826b # Version: Commits on Jan 09, 2026
-----------------------------------------------------------------------------------------------
I18N: Update translation (Ukrainian)

Currently translated at 86.1% (2638 of 3061 strings),

--------------------------------------------------------------------------------------------
slang-shaders.mk c2f3c5b0ce8c5e7e3ed9d885a924f85712cb38a0 # Version: Commits on Jan 08, 2026
--------------------------------------------------------------------------------------------
Update to Version 6.2.1 (#830),
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-rendering Area: Rendering & Graphics render-wgpu Issues relating to the wgpu renderer T-fix Type: Bug fix (in something that's supposed to work already)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants