Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Task graph [7/10]: descriptor sets #2648

Merged
merged 1 commit into from
Feb 15, 2025
Merged

Conversation

marc0246
Copy link
Contributor

@marc0246 marc0246 commented Feb 9, 2025

Follow up to #2627, adding a bindless system to the task graph.

At some point we should add a bindful system as well, as this here requires features and/or extensions. That said, the bindless system is trying to use the least amout of required features and/or extensions while still being maximally performant. It is tenchnically possible to do bindless only using core Vulkan 1.0, but it's not as performant as it could be because we wouldn't be allowed to use UPDATE_UNUSED_WHILE_PENDING, meaning we would have to create a new (huge) global descriptor set for each update, or PARTIALLY_BOUND, meaning we would have to fill the gaps with fallback resources. Alas, the only platform still not supporting bindless is Android. God forbid vendors ship up-to-date drivers.

@marc0246 marc0246 force-pushed the taskgraph-7 branch 18 times, most recently from 680db10 to 44099ce Compare February 14, 2025 16:21
@marc0246 marc0246 marked this pull request as ready for review February 14, 2025 16:24
@Rua
Copy link
Contributor

Rua commented Feb 15, 2025

The raytracing example hangs on my system when I run it. No window or other output, it just prints the device name and then sits there.

@marc0246
Copy link
Contributor Author

You get no validation errors either?

@Rua
Copy link
Contributor

Rua commented Feb 15, 2025

No validation or syncval errors.

@marc0246
Copy link
Contributor Author

Not even with GPU-assisted validation?

@Rua
Copy link
Contributor

Rua commented Feb 15, 2025

Nope. If I enable warnings (alongside errors) I get this, but I don't know how relevant that is:

VALIDATION-SETTINGS(WARN / SPEC): msgNum: 2132353751 - Validation Warning: [ VALIDATION-SETTINGS ] | MessageID = 0x7f1922d7 | Both GPU Assisted Validation and Normal Core Check Validation are enabled, this is not recommend as it will be very slow. Once all errors in Core Check are solved, please disable, then only use GPU-AV for best performance.
WARNING-GPU-Assisted-Validation(WARN / SPEC): msgNum: 615892639 - Validation Warning: [ WARNING-GPU-Assisted-Validation ] Object 0: handle = 0x55f1c598b910, type = VK_OBJECT_TYPE_PHYSICAL_DEVICE; | MessageID = 0x24b5c69f | vkGetPhysicalDeviceProperties2(): Internal Warning: Setting VkPhysicalDeviceVulkan12Properties::maxUpdateAfterBindDescriptorsInAllPools to 32
Objects: 1
[0] 0x55f1c598b910, type: 2, name: NULL
WARNING-GPU-Assisted-Validation(WARN / SPEC): msgNum: 615892639 - Validation Warning: [ WARNING-GPU-Assisted-Validation ] Object 0: handle = 0x55f1c5a32aa0, type = VK_OBJECT_TYPE_PHYSICAL_DEVICE; | MessageID = 0x24b5c69f | vkGetPhysicalDeviceProperties2(): Internal Warning: Setting VkPhysicalDeviceVulkan12Properties::maxUpdateAfterBindDescriptorsInAllPools to 32
Objects: 1
[0] 0x55f1c5a32aa0, type: 2, name: NULL
WARNING-GPU-Assisted-Validation(WARN / SPEC): msgNum: 615892639 - Validation Warning: [ WARNING-GPU-Assisted-Validation ] Object 0: handle = 0x55f1c5a21d00, type = VK_OBJECT_TYPE_PHYSICAL_DEVICE; | MessageID = 0x24b5c69f | vkGetPhysicalDeviceProperties2(): Internal Warning: Setting VkPhysicalDeviceVulkan12Properties::maxUpdateAfterBindDescriptorsInAllPools to 32
Objects: 1
[0] 0x55f1c5a21d00, type: 2, name: NULL
Using device: AMD Radeon RX 7600 (RADV NAVI33) (type: DiscreteGpu)
WARNING-GPU-Assisted-Validation(WARN / SPEC): msgNum: 615892639 - Validation Warning: [ WARNING-GPU-Assisted-Validation ] | MessageID = 0x24b5c69f | vkCreateDevice(): Internal Warning: Forcing fragmentStoresAndAtomics to VK_TRUE
WARNING-GPU-Assisted-Validation(WARN / SPEC): msgNum: 615892639 - Validation Warning: [ WARNING-GPU-Assisted-Validation ] | MessageID = 0x24b5c69f | vkCreateDevice(): Internal Warning: Forcing vertexPipelineStoresAndAtomics to VK_TRUE

@marc0246
Copy link
Contributor Author

It's probably something super stupid like waiting on a fence that was never going to be signalled.

@marc0246
Copy link
Contributor Author

It would be really helpful if you figured out where it hangs.

@Rua
Copy link
Contributor

Rua commented Feb 15, 2025

It appears to be freezing in Resources::new during the initialization, line 143.

@marc0246
Copy link
Contributor Author

Does it work now?

@Rua
Copy link
Contributor

Rua commented Feb 15, 2025

No, still the same.

@marc0246
Copy link
Contributor Author

Can you tell me exactly where it hangs? Like if you follow the call stack all the way.

@Rua Rua merged commit a057ab1 into vulkano-rs:master Feb 15, 2025
8 checks passed
@marc0246 marc0246 deleted the taskgraph-7 branch February 15, 2025 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants