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

28 generating mipmaps #15

Open
wants to merge 98 commits into
base: master
Choose a base branch
from

Conversation

matthew-russo
Copy link
Contributor

As noted in the README there are some Validation Layer issues with this but I dont have any solutions. This issue describes the same thing at the end: vulkano-rs/vulkano#989. Essentially when blitting and the destination and source are the same, the image layout is properly transitioned.

I was experimenting with UnsafeCommandBufferBuilder and manually creating the memory barriers and image transitions but ran into a lot of issues because I also then needed to manually synchronize and submit everything, bypassing all of the nice abstractions that Vulkano has provided and I didn't include any of that. It didn't seem worth it as its not the point of Vulkano and if I'm going to be rewriting/implementing some of these core building blocks I'd rather just spend the time working on Vulkano itself itself and get it to a point where we can idiomatically handle cases like this. I linked to Ash and their version of this tutorial so users can see what a more direct 1-1 translation of this would look like in Rust.

Let me know any feedback on this, whether you think we should figure out our own abstraction on the lower level building blocks, etc. etc. And as with the other PRs, I haven't tested on mac yet. I'm planning on getting the last section, multisampling, in and then giving it a full test sweep on Windows and Mac (and maybe a few linux flavors if I'm motivated). I started running everything through Clippy and only some internal macro stuff is getting tagged.

@mortzdk
Copy link

mortzdk commented Mar 24, 2021

I'm new to rust but it seems that the from_buffer method of the ImmutableImage have an implementation of mipmaps - could this be used? https://github.com/vulkano-rs/vulkano/blob/v0.21.0/vulkano/src/image/immutable.rs#L351

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.

3 participants