Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Rendering branch crashes in Vulkan #4

Open
PlasmaDev5 opened this issue Dec 20, 2022 · 3 comments
Open

[BUG] Rendering branch crashes in Vulkan #4

PlasmaDev5 opened this issue Dec 20, 2022 · 3 comments
Labels
bug Something isn't working

Comments

@PlasmaDev5
Copy link

Bug description:
There are many crashes when using the next effects in vulkan. Here is a list

  • Bloom crash on startup - image provided
  • Sharpen crash when used - crash in ezDescriptorSetPoolVulkan::UpdateDescriptorSet
  • Chromatic Aberration crash when used before tonemapping - crash in ezDescriptorSetPoolVulkan::UpdateDescriptorSet
  • Debanding crash when used - crash in ezDescriptorSetPoolVulkan::UpdateDescriptorSet

Screenshots:
Bloom crash on startup
unnamed

Dev-branch commit hash:
All tested in rendering branch pre FXAA

@PlasmaDev5 PlasmaDev5 added the bug Something isn't working label Dec 20, 2022
@na2axl
Copy link
Member

na2axl commented Dec 20, 2022

Hi @PlasmaDev5, unless for the chromatic aberration pass it's really weird for me to see that all the other passes are broken on Vulkan, since I've only used the RHI to implement these passes... Maybe the use of compute shaders?

Can you please show me the stacktrace? I'm not able to use the Vulkan renderer on my computer, the renderer is not able to initialize properly, but I can use Vulkan in games and other engines... I didn't had a look at the reason since it's still in development by the EZ team.

For the Chromatic Aberration pass you should use it after the Tonemapping pass. I plan to update the Tonemapping pass to add more algorithms and also use a compute shader instead of a fragment shader. But for it to work now you can make a quick hack in the TonemapPass.cpp file at line 80 to change:

outputs[m_PinOutput.m_uiOutputIndex].SetAsRenderTarget(pColorInput->m_uiWidth, pColorInput->m_uiHeight, desc.m_Format);

By:

outputs[m_PinOutput.m_uiOutputIndex].SetAsRenderTarget(pColorInput->m_uiWidth, pColorInput->m_uiHeight, ezGALResourceFormat::RGBAHalf);

The Post FX passes in our current render pipeline looks like this:

image

@PlasmaDev5
Copy link
Author

I used it after tonemapping in DX11 and ended with a black screen.
I removed the MSAA stuff from the pass
image
image

If i go straight from Tonemapp to FramePass it all works correctly
if i go to any other of the new passes it ends with a black screen

@PlasmaDev5
Copy link
Author

Pulled latest, works in DX11. will give a breakdown of the vulkan issues in the coming days

na2axl added a commit that referenced this issue Dec 26, 2022
Automatically cleanup bindings on compute/rendering scope end. Also this can be a possible fix for Bloom pass on Vulkan as described in #4.

Signed-off-by: Axel Nana <[email protected]>
na2axl added a commit that referenced this issue Jan 10, 2023
Automatically cleanup bindings on compute/rendering scope end. Also this can be a possible fix for Bloom pass on Vulkan as described in #4.

Signed-off-by: Axel Nana <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants