zeux / niagara

A Vulkan renderer written from scratch on stream
MIT License
1.33k stars 75 forks source link

Fix depth pyramid layout transition #8

Closed YunHsiao closed 4 years ago

YunHsiao commented 4 years ago

The depth pyramid image is first used in the culling process, but layout transition was not done until pyramid generation, which will generate a validation error in the latest version(1.2.135.0).

YunHsiao commented 4 years ago

Not yet I guess...? From what I can tell it still seems in an early stage now, with only minimal image initial/global layout checks.

zeux commented 4 years ago

Ah, ok, this is just layout validation. It's interesting that the issue doesn't occur when push descriptors are used which is why this hasn't been fixed before - there must be some difference between validation of push descriptors and validation of regular updates, which likely indicates a validation layer bug. The change itself looks good, but I want to file the validation layer bug if it exists before merging this.

zeux commented 4 years ago

I filed https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/1862 for this