24 Replies Latest reply on Sep 27, 2016 3:55 AM by asylum29

    Vulkan fails to clear the depth buffer

    asylum29

      (Radeon R7 360, latest driver)

       

      In a nutshell: I have a tile-based deferred renderer with the following workflow:

       

      - gbuffer render pass (2 color and 1 depth attachment)
      - light cull/accumulation compute shader
      - forward render pass (using the same depth buffer as the gbuffer pass)

       

      The problem is the following: the gbuffer and accumulation passes work fine, however the forward render pass ignores my request to clear the depth buffer (therefore using compare_op_less discards all fragments).

       

      First, a link to the code: GitHub - asylum2010/Asylum_Tutorials: Code for tutorials posted on my blog.

       

      Repro:
      - set 71_Deferred as startup project
      - compile and run (it should work as for now)
      - main.cpp line 549: change VK_COMPARE_OP_LESS_OR_EQUAL to VK_COMPARE_OP_LESS
      => the issue is clearly visible

       

      I couldn't find any particular reason why the driver doesn't clear the depth buffer.