Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Florian Hänel
    @heeen
    and if one does not exist, it fails to create the instance
    however, if it succeeds, the list of loaded extensions is still empty
    Florian Hänel
    @heeen
    vulkano-rs/vulkano#1253 here's the issue
    Austin Johnson
    @AustinJ235
    interesti
    Lucas Kent
    @rukai
    @AustinJ235 it's great to see the work you've been doing on vulkano! Well done.
    Austin Johnson
    @AustinJ235
    thanks @rukai
    Austin Johnson
    @AustinJ235
    @heeen I have responded to your issue. Hope I've helped
    Florian Hänel
    @heeen
    Thanks @AustinJ235
    imho the thing returned from loaded_extensions should be able to list any extension, not just the ones hardcoded into volkano. I'm not proficient enough in rust yet to figure out how that would be done
    while not breaking API too much that is
    actually even better would be to be able to construct InstanceExtensions from either enum symbols or string names
    Austin Johnson
    @AustinJ235
    the function does take anything that impl IntoIterator CString we could look at chaning that to Strings. But the non raw version is a struct with each extension as a bool, so unless we add an extra field that is a vec of Strings.
    DamonPalovaara
    @DamonPalovaara
    I've been reading through the documentation for the past hour and cannot figure out how to send a uniform buffer
    Florian Hänel
    @heeen
    so with the simple triangle example when I press close it takes 10 or so seconds until the window actually closes
    my windowmanager actually complains about the unresponsive window
    when I add a println in the close handler and the loop handler I can see it happily looping, then the close handler gets called after several seconds, then still some seconds later the window closes
    I tried the simplest example from the winit docs and there it will loop 3 times more after the close handler, then closes which is reasonable
    this is on xorg/kwin fwiw
    Florian Hänel
    @heeen
    hmm
    resizing also happens super late
    but visually it looks correct
    like, the content fills the window and is not pixelated
    so it looks like the buffers are correctly resized
    odd
    Austin Johnson
    @AustinJ235
    hmm interesting
    I can test one of my heavier apps using basalt using the latest winit/basalt and see what happens
    Austin Johnson
    @AustinJ235
    so far at least with gnome/wayland window experiences no issues for me
    same with the triangle example
    Austin Johnson
    @AustinJ235
    gnome/xorg an app that uses basalt with the latest vulkano experiences no issues
    gnome/xorg with triangle example causes xsession to hang up until the app is killed
    so it is probably something wrong with the upgrade to winit 20 implementation
    not sure how my code in basalt differs from that of the examples
    Austin Johnson
    @AustinJ235
    well nvm still using winit 0.19 somehow
    I'll look into it further possibly tommorow haven't been feelin it the last couple days with medication changes and such
    I am also looking at dowgrading to winit 0.19 for the time being so we can release to solve issues with mac os
    Austin Johnson
    @AustinJ235
    is this related to rust-windowing/winit#1245
    Austin Johnson
    @AustinJ235
    falling back to winit 0.19 for a release, will bump back once release goes through
    Antonino Siena
    @nifker
    there seems to be a test failing but Im pretty sure it has not to do with my changes
    vulkano-rs/vulkano#1268
    Antonino Siena
    @nifker
    Does it make sense to add a method for Swapchain which returns its Arc<Surface<W>>?
    Austin Johnson
    @AustinJ235
    the builds have been timing out a lot recently
    Matej Kormuth
    @dobrakmato
    Hello, I am trying to use the Vulkano library and going through the tutorial but when I try to run this example: https://github.com/vulkano-rs/vulkano-www/blob/master/examples/guide-compute-operations.rs I get the following error: thread 'main' panicked at 'assertion failed: size <= buffer.device().physical_device().limits().max_uniform_buffer_range() as usize', ... .cargo\registry\src\github.com-1ecc6299db9ec823\vulkano-0.16.0\src\descriptor\descriptor_set\sys.rs:884:9
    Is the example outdated or wrong? I am using nvidia GTX 1060 video card.
    Matej Kormuth
    @dobrakmato

    Ok, I found the problem. vulkano-shaders generates the DescriptorDesc for the shader. When I view the result of macro expansion I can see that it produced this code:

     ty: DescriptorDescTy::Buffer(DescriptorBufferDesc {
                        dynamic: Some(false),
                        storage: false,
                    }),

    for some strange reason, the storage flag is false. This causes the buffer to be interpreted as UBO which fails because the limit for UBO is 64kb. In the tutorial the buffer contains 64K of u32 - which is over the limit for UBO (64kb). Another problem is that the compute shader does not update the buffer because UBOs are inherently read-only. By Replacing the macro invocation with expanded code and changing the storage flag to true the code magically starts working. If I understand correctly this is because now the buffer is interpreted as storage buffer instead of being the uniform one. This solves both the 64kb issue and the one with CS not changing the buffer.

    However I still do not understand what is the reason why vulkan-shaders emitted this (not working) code and whether it is actually a bug ( I would say it is). Another thing that puzzles me is that is also emitted readonly: true, which I am not sure what it means but from what I understand I want to modify contents of the buffer so it seems conter-intuitive to me.

    Austin Johnson
    @AustinJ235
    vulkano-rs/vulkano#1264 does exist I haven't looked into it yet
    Florian Hänel
    @heeen
    how do I get a raw device and physicaldevice handle to pass to c code
    Austin Johnson
    @AustinJ235
    currently these are not exposed, there is a pull request open vulkano-rs/vulkano#952 to allow for access to these
    Florian Hänel
    @heeen
    I don't mean function pointers but device handles
    like, can I create my vulkan instance in rust/vulkano, pass the device and physicaldevice handles to my c library so it can use the context
    the lib can get the vulkan symbols itself I think
    Florian Hänel
    @heeen