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

Add abstraction for bindless resources #67

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

pac85
Copy link
Contributor

@pac85 pac85 commented Jul 30, 2023

No description provided.

src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
@pac85 pac85 force-pushed the bindless branch 4 times, most recently from 0fa2d21 to a0fbdc8 Compare July 30, 2023 15:45
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Show resolved Hide resolved
@pac85 pac85 force-pushed the bindless branch 2 times, most recently from cb6e7d5 to c8b782a Compare July 31, 2023 23:56
src/resource/bindless.rs Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
src/resource/bindless.rs Outdated Show resolved Hide resolved
@pac85
Copy link
Contributor Author

pac85 commented Aug 1, 2023

Sorry for the dumb mistakes it was late when I pushed yesterday lol

@pac85 pac85 force-pushed the bindless branch 2 times, most recently from a970ffd to e875102 Compare August 6, 2023 01:02
@pac85
Copy link
Contributor Author

pac85 commented Aug 6, 2023

I wasn't sure how to write a method to bind the pool descriptor set so I did it in the simplest and most direct way. Let me know if won't do.

I'm particularly worried of the fact that ensure_descriptor_state might overwrite the binding because no changes are done to current_descriptor_sets, meaning that binding something at a certain index and then a bindless pool at that index results in the previous thing being bound maybe? If that's the case it might maybe be sufficient to empty the set entry when binding the pool, or maybe tacking pool binds and then doing the actual bind in ensure_descriptor_state like other descriptors.

@NotAPenguin0
Copy link
Owner

What I imagine is best is to try to implement pipeline layout compatibility (See the spec). What this means in practice is that when calling ensure_descriptor_state(), if the sets bound to the first 0..N items are the same, we should not update and clear them if bindings 0..N are compatible with the current pipeline layout (this might also require some changes to the bind_pipeline function).

We can then try to include the bound pools in this calculation so they are not cleared when the layout is compatible.

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