Speed up zero initialization of workgroup memory #4592
Labels
api: dx11
Issues with DX11 or DXGI
api: dx12
Issues with DX12 or DXGI
api: gles
Issues with GLES or WebGL
api: metal
Issues with Metal
api: vulkan
Issues with Vulkan
area: naga back-end
Outputs of naga shader conversion
area: performance
How fast things go
lang: GLSL
OpenGL Shading Language
lang: HLSL
D3D Shading Language
lang: Metal
Metal Shading Language
lang: SPIR-V
Vulkan's Shading Language
naga
Shader Translator
type: enhancement
New feature or request
This is related to #4591; when forcing
spv::ZeroInitializeWorkgroupMemoryMode::Polyfill
indevice_from_raw()
, we observe very slow (but correct!) behavior for zeroing the workgroup shared array - all the work is done on one thread. It would be better to distribute this; in this case the array size and workgroup size match, so for each invocation to zero one array element would be simple and efficient.zerooooooo.zip
Repro case is the same as the linked bug, but changing line 1307 of
vulkan/adapter.rs
toPolyfill
.The text was updated successfully, but these errors were encountered: