Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Maik Klein
    @MaikKlein
    Yeah I don't think it supports it, we can just rebase them in though
    if they just change the readme
    matrixbot
    @matrixbot
    Ralith I have absolutely no idea how to drive bors regardless
    Maik Klein
    @MaikKlein
    bors r+ will merge it in. I think bors only supports merges.
    Zakarum
    @omni-viral
    Hi!
    Why does ash::vk::Display defined as *const c_void?
    Specifically here ash::vk::XlibSurfaceCreateInfoKHR field dpy shouldn't be pointer to pointer
    in xlib.h Display is typedef to structure type
    not pointer
    matrixbot
    @matrixbot
    Ralith "pointer to pointer" and "pointer to opaque struct" do not actually have different ABI, so it should work out okay in practice
    Ralith does seem like a bug though, yeah
    Ralith make a PR!
    Maik Klein
    @MaikKlein
    I believe this was because of winit
    Maik Klein
    @MaikKlein
    But it is a real struct in practice https://code.woboq.org/qt5/include/X11/Xlibint.h.html#_XDisplay So what do you think we should do here?
    empty enum?
    matrixbot
    @matrixbot
    Ralith pointer to c_void should be fine, just like winit uses
    matrixbot
    @matrixbot
    Ralith i.e. Display = c_void
    i have a uniform vector which i store as a buffer later on
    but i think it needs to be aligned right since i get these warnings later on " [ VUID-vkCmdBindDescriptorSets-pDynamicOffsets-01971 ] Object: VK_NULL_HANDLE (Type = 2) | vkCmdBindDescriptorSets(): pDynamicOffsets[0] is 8 but must be a multiple of device limit minUniformBufferOffsetAlignment 0x10. The Vulkan spec states: Each element of pDynamicOffsets which corresponds to a descriptor binding with type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC must be a multiple of VkPhysicalDeviceLimits::minUniformBufferOffsetAlignment (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkCmdBindDescriptorSets-pDynamicOffsets-01971)"
    " [ UNASSIGNED-CoreValidation-DrawState-DescriptorSetNotUpdated ] Object
    Michael
    @Skytrias
    @MaikKlein
    Maik Klein
    @MaikKlein
    @Skytrias You probably want to use https://docs.rs/ash/0.29.0/ash/util/struct.Align.html
    Michael
    @Skytrias
    @MaikKlein i use align for the buffer creation but im not sure how to do it with a custom size https://github.com/gwihlidal/ash-nv-rt/blob/master/src/main.rs#L253
    Maik Klein
    @MaikKlein
    Basically you just create that buffer, map it, and then use Align with the alignment return by vulkan. And then you use copy_from_slice to copy it.
    I think I have an example somewhere, I'll try to post it later today (currently at work)
    Özgür Akkurt
    @oezgurmakkurt
    Hi, I am thinking about writing a blas implementation that uses vulkan like opencl. I want to use vulkan since we have this library in rust and vulkan is more supported than opencl. I don't know vulkan well so I don't know if this is a good idea, do you think this could work?
    Maik Klein
    @MaikKlein
    @oezgurmakkurt I don't see anything bad about it. You could also have a look at https://github.com/flame/blis
    matrixbot
    @matrixbot
    Ralith in my OpenXR bindings I came upon a fun alternative to Default impls for output structs: constructors that return MaybeUninit wrapping a struct that has next/type initialized, but the rest uninitialized
    matrixbot
    @matrixbot
    Ralith this can then be passed to the implementation with as_mut_ptr() and assume_init()ed after success, for maximum correctness with minimum computation
    Maik Klein
    @MaikKlein
    Do you have anything that I can look at?
    Maël Naccache Tüfekçi
    @maeln
    Hello! I am having a weird issue were, when trying to call updateDescriptorSets the validation layer screams at me that pDescriptorWrites[0].pBufferInfo[0].offset = some garbage (like 0x10cf27af8 which is obviously not my offset) which obviously doesn't respect the storage buffer alignement.
    I do put on correct offset on my DescriptorBufferInfo that i pass to my WriteDescriptorSet, and they seem to be valid until the call to device.update_descriptor_sets (at least thats what some println! tell me).
    It really looks like I am droping the value from memory at some point but I can't find where.
    In the same fashion, it warn me later that the buffer in the same writeDescriptor are not valid buffer and then it segfault in the function
    I uploaded a version that reproduce the bug to https://github.com/maeln/wyzoid
    Maël Naccache Tüfekçi
    @maeln
    Okay yeah, I was dropping the array of DescriptorBufferInfo from memory ...
    Maik Klein
    @MaikKlein
    :)
    Jakub Okoński
    @farnoy
    Hey folks, I was wondering why ash::version::DeviceV1_0 et al traits have all the functions marked unsafe. This object is only accessible after loading function pointers, right? Why would it be any more unsafe than a shared library?
    msiglreith
    @msiglreith
    Because it's easy to trigger undefined behavior when passing invalid values
    matrixbot
    @matrixbot
    Ralith shared libraries are usually unsafe, but these functions would be wildly unsafe even if you statically linked them
    Jakub Okoński
    @farnoy
    Ah, so all the null vk handles and the sort?
    matrixbot
    @matrixbot
    Ralith that's just the nature of Vulkan
    Ralith for example
    nicbn
    @nicbn
    Hello
    I replaced most of the Vec<T> in your lib with FromIterator<T> + DerefMut<Target = [T]>. That way the only structs that implicitly allocate are Entry and InstanceError.
    That makes the lib way more flexible, allowing user defined collections
    That way one may use ArrayVec, for example, to allocate a known number of elements without needing the heap
    If you want to take a look: https://github.com/nicbn/ash/tree/no-more-vec
    May I pr?
    An alternative to avoid allocations is passing mutable slices as parameters. From reading the readme I think that's not prefered, but if it is, I may rewrite it that way.
    nicbn
    @nicbn
    I'm PRing it