Coder Social home page Coder Social logo

Comments (4)

baldurk avatar baldurk commented on June 17, 2024 1

Your application contains invalid use of Vulkan which causes this behaviour.

In particular you use two different pipeline layouts for the pre-rasterization shaders and fragment shaders libraries, and they do not define identical push constants, which violates VUID-VkGraphicsPipelineCreateInfo-flags-06621:

If one element of VkPipelineLibraryCreateInfoKHR::pLibraries includes VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT and another element includes VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, push constants specified in layout in both this pipeline and the library which are available to shader stages in each must be identically defined.

VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT only applies to descriptor sets, as the name implies, push constant ranges must still be identically defined in all pipeline layouts used.

If you are not seeing an error from the validation layers on this I would first make sure you have them enabled correctly, and if you do then file an issue with the validation layers to ensure they are aware that this check is missing.

from renderdoc.

baldurk avatar baldurk commented on June 17, 2024

Yes you should definitely share the capture because that is the most critical part of your reproduction steps. The case of shader debugging using push constants is tested nightly as part of RenderDoc's autotests and works correctly. Without the capture none of the other steps you've listed mean anything as they are very generic and apply to almost any scenario, and this is not so generally and widely broken. If you have a capture you can share I'm not sure why you wouldn't share that immediately.

I would also recommend that you run your program with the vulkan validation layers, as errors in your application may cause RenderDoc to misbehave as it does not handle invalid API use.

from renderdoc.

AlexRouSg avatar AlexRouSg commented on June 17, 2024

email has been sent, thank you for your time,
I would note that there is 0 validation errors even with sync validation turned on

from renderdoc.

AlexRouSg avatar AlexRouSg commented on June 17, 2024

I have confirmed that this is indeed what caused the weird behaviour, sorry for the noise and thank you for your hard work on renderdoc

from renderdoc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.