Giter Club home page Giter Club logo

Comments (13)

maierfelix avatar maierfelix commented on September 3, 2024

I can approve that this is not working as expected, I found the following reason:

vkGetAccelerationStructureMemoryRequirementsNV takes VkMemoryRequirements2KHR which is an alias for VkMemoryRequirements2. VkMemoryRequirements2KHR doesn't contain any members, so the JS->Type reflection here is not performed at all.

The following line in the 1.1.97 XML specification indicates, that:

<type category="struct" name="VkMemoryRequirements2KHR" alias="VkMemoryRequirements2"/>

Note the alias attribute. This could be solved by interpreting VkMemoryRequirements2KHR as VkMemoryRequirements2 in the parsing process and in the code-generation part as well. I'm not a 100% sure though if this is a general fix.

from nvk.

Reon90 avatar Reon90 commented on September 3, 2024

@maierfelix are you planning to implement it?

from nvk.

maierfelix avatar maierfelix commented on September 3, 2024

Yes I'm investigating, trying to fix this as soon as possible!:)

from nvk.

Reon90 avatar Reon90 commented on September 3, 2024

@maierfelix Hello, as I see you have done a lot of commits, was there fixed this bug?

from nvk.

maierfelix avatar maierfelix commented on September 3, 2024

I had to finish completing the online documentation and fixing some type inconsistency. I didn't cover this issue yet, but I have a fix ready in mind.

Edit: Do you have an repository of your RT project somewhere?

from nvk.

Reon90 avatar Reon90 commented on September 3, 2024

@maierfelix no sorry I don't have, as you know I can't build basic example with RT.
any news about it?

from nvk.

maierfelix avatar maierfelix commented on September 3, 2024

@Reon90 Latest master now contains the changes to fix this issue, please validate that it's working now.
I also added parameter type validation for vulkan function calls, they should now be more safe to use.

I guess that you use vkGetAccelerationStructureMemoryRequirementsNV to gather the memoryRequirements - Please note that the specification currently states to use VkMemoryRequirements2KHR for pMemoryRequirements and not VkMemoryRequirements2.

VkMemoryRequirements2KHR is just a typedef for VkMemoryRequirements2, so please use this one as described in the documentation here

Thanks and sorry for the delay!

from nvk.

Reon90 avatar Reon90 commented on September 3, 2024

@maierfelix thank you very much, I got correct results.

from nvk.

maierfelix avatar maierfelix commented on September 3, 2024

I will close this issue as soon as this is fully resolved (e.g. both VkMemoryRequirements2 and VkMemoryRequirements2KHR are allowed as pMemoryRequirements)

from nvk.

Reon90 avatar Reon90 commented on September 3, 2024

@maierfelix

const descriptorIndexing = new VkPhysicalDeviceDescriptorIndexingFeaturesEXT();
const deviceFeatures = new VkPhysicalDeviceFeatures2();
deviceFeatures.pNext = descriptorIndexing;
vkGetPhysicalDeviceFeatures2(physicalDevice, deviceFeatures);

TypeError: 'VkPhysicalDeviceFeatures2.pNext' must be 'null'

It was broken few days ago.

from nvk.

maierfelix avatar maierfelix commented on September 3, 2024

I can approve that this isn't working, I'm investigating

from nvk.

maierfelix avatar maierfelix commented on September 3, 2024

Closing this as this is not an too important issue? If someone is actually in the need to get this implemented, I'm open to make the changes

from nvk.

maierfelix avatar maierfelix commented on September 3, 2024

KhronosGroup/Vulkan-Docs#1122

from nvk.

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.