Giter Site home page Giter Site logo

Comments (7)

baldurk avatar baldurk commented on June 20, 2024

This program runs for me (as in, it infinite loops when run from RenderDoc or not). Going by what you're saying it sounds like you're running this on wayland, and RenderDoc does not support wayland (see #853).

Have you tried running this on X? I'm not familiar with wayland as I've never used it personally but I believe it has an X compatibility mode you may need to install or configure. As long as your application has the correct path to choose which system is used depending on availability your program should be able to determine from the available extensions which to use.

If the bug you're meaning is that glfw should be reporting extensions for X use when run under RenderDoc, you'd need to either report that to glfw or explain here what is wrong at the API level that's causing glfw to misbehave. RenderDoc does not handle glfw directly as it is a library not a system API, so you would need to explain the problem at the API level itself.

from renderdoc.

k355l3r-5yndr0m3 avatar k355l3r-5yndr0m3 commented on June 20, 2024

Ok, forcing the application to run under xwayland does get over glfwGetRequiredInstanceExtensions.
But strangely enough this did not allow my vulkan application to run.
Previously it crashed with the error ERROR_EXTENSION_NOT_PRESENT and I assume this was because of glfwGetRequiredInstanceExtensions, but with that fixed the application still crashes with ERROR_EXTENSION_NOT_PRESENT.
It only crashes when being launched by renderdoc.

from renderdoc.

baldurk avatar baldurk commented on June 20, 2024

ERROR_EXTENSION_NOT_PRESENT is not a crash, it's an error message that indicates that an extension that was specified to be enabled is not available.

It is extremely likely that this is caused by your application being written incorrectly. Are you properly enumerating that extensions are available before enabling them?

from renderdoc.

k355l3r-5yndr0m3 avatar k355l3r-5yndr0m3 commented on June 20, 2024

That is from my program. It checks for vulkan error and terminate if it encounters any. This ERROR_EXTENSION_NOT_PRESENT came from that.
Outside renderdoc, my program does not encounter this error.

from renderdoc.

baldurk avatar baldurk commented on June 20, 2024

I understand that, I mean that an error message isn't the same as a crash. In this case I suspect the error message is entirely accurate - you didn't answer my question above, have you checked that your program is written correctly? If you enable extensions that are not supported then that error is the correct and expected return value.

from renderdoc.

k355l3r-5yndr0m3 avatar k355l3r-5yndr0m3 commented on June 20, 2024

My program is written correctly. I think the offending instance extensions is VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME, removing it solve the ERROR_EXTENSION_NOT_PRESENT.
This extension is mandatory begining 1.3.216 Vulkan SDK, but should not affect me because I am not on Mac.

Annoyingly, renderdoc still does not work with my program and I am greeted by ERROR_OUT_OF_DATE_KHR which likewise was not there when executing outside of renderdoc.

This is probably due to swapchain recreation not being implemented yet, but I don't think the behavior of a program should change depended on whether or not it is executed inside or outside renderdoc.

from renderdoc.

baldurk avatar baldurk commented on June 20, 2024

If your program is unconditionally enabling that VK_KHR_portability_enumeration without checking if it's available or not then no your program is not written correctly, and the error is exactly correct in identifying what you are doing wrong as I was saying above.

If you program is invalid and does not use the API correctly then it is not expected to behave correctly under 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.