godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.35k stars 21.25k forks source link

Godot doesn't respect `maxPerStageDescriptorSamplers` limit #50444

Open qarmin opened 3 years ago

qarmin commented 3 years ago

Godot version

4.0 96a69899d0909291888828205138bbf9def5e6ff

System information

All

Issue description

Godot due not respecting maxPerStageDescriptorSamplers limit(32), crashes when running on Lavapipe

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3772#note_990084

Steps to reproduce

Compile and install Mesa Try to run Godot editor via Lavapipe

Minimal reproduction project

No response

BastiaanOlij commented 3 years ago

Is this with the mobile renderer or the clustered one? Probably both at this time because I don't believe we have checks in place at the moment but we're trying to constraint the mobile renderer, the clustered one may not be able to be limited to 16.

I'll have to investigate further, @reduz is this the issue you talked about a little while ago where we had to restrict our samplers in the mobile renderer?

reduz commented 3 years ago

@qarmin I don't think this is the case, I checked again and we use only 13/14 samplers, no idea why so many are being reported. @BastiaanOlij no, that is sampled images (textures) not samplers.

qarmin commented 3 years ago

I'm almost sure that this is Godot problem, because project with mobile renderer works(it crashes, but later with segfault, not assert as in this situation)

reduz commented 3 years ago

Mobile renderer uses the same amount of samplers but less textures so I still think this is a Lavapipe bug.