Skip to content

Add abstraction for bindless resources#67

Draft
pac85 wants to merge 3 commits into
NotAPenguin0:masterfrom
pac85:bindless
Draft

Add abstraction for bindless resources#67
pac85 wants to merge 3 commits into
NotAPenguin0:masterfrom
pac85:bindless

Conversation

@pac85

@pac85 pac85 commented Jul 30, 2023

Copy link
Copy Markdown
Collaborator

No description provided.

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

pac85 commented Aug 1, 2023

Copy link
Copy Markdown
Collaborator Author

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

Comment thread src/resource/bindless.rs Outdated
@pac85
pac85 force-pushed the bindless branch 2 times, most recently from a970ffd to e875102 Compare August 6, 2023 01:02
@pac85

pac85 commented Aug 6, 2023

Copy link
Copy Markdown
Collaborator Author

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
Copy Markdown
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