Giter VIP home page Giter VIP logo

Comments (7)

courtney-g avatar courtney-g commented on July 28, 2024

To avoid a performance impact, maybe we could provide an alternative libvulkan.so to link against?
The debug library could do the validation check on the dispatch object before calling down the chain.
And for production the application use the standard library that does not include the check.

from vulkan-loader.

jzulauf-lunarg avatar jzulauf-lunarg commented on July 28, 2024

This seems to be a corner case even for debugging and validation. But certainly a separate build of the loader, or a mode of operation for the loader would be among the ways to implement it.

from vulkan-loader.

awr1 avatar awr1 commented on July 28, 2024

@jzulauf-lunarg How would app code enable such a mode? Through a new validation layer? Or did you have something else in mind?

from vulkan-loader.

jzulauf-lunarg avatar jzulauf-lunarg commented on July 28, 2024

Can't be a layer AFAICT. The loader itself is trying to use these handles in order to dispatch to the layers. As for enabling, the usual suspects would be reasonable choices: configuration file/registry/environment variable/loader specific proc query/compile time config.

From a developer point of view, how would one want to control such a mode?

from vulkan-loader.

MarkY-LunarG avatar MarkY-LunarG commented on July 28, 2024

I agree, the loader needs to do something. I think we should log and throw an acceptable error.

from vulkan-loader.

MarkY-LunarG avatar MarkY-LunarG commented on July 28, 2024

After thinking about this, I think the loader should always check. If the developer is using the loader entrypoints, then they are already in a slower path for everything but instance extensions. And in the case of instance extensions, it doesn't need to be very fast since there's already a lot of work the loader is performing (and even perhaps emulating in the case of some drivers supporting a given instance extension and others not).

My reasoning is that if the dispatch handle is wrong, we're going to be going off in la-la-land anyway. So I'll add logging to at least catch the case of bad handles before we die. I'm also planning on trying to add the VUID in the message so that if anyone ever turns on debug utils with validation, they will catch these as well.

from vulkan-loader.

MarkY-LunarG avatar MarkY-LunarG commented on July 28, 2024

Added. It will abort still, but it will at least output a message on abort indicating that the handle is invalid.

from vulkan-loader.

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.