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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image staging and memory type lookups for cross vendor support #3

Merged
merged 6 commits into from Apr 27, 2016

Conversation

@SaschaWillems
Copy link
Contributor

commented Apr 26, 2016

This is the major PR containing everything necessary to have the demo run on hardware from different vendors. I have successfully tested this with NVIDIA and AMD on recent Vulkan drivers.

Note that I don't have a windows setup with an Intel GPU to test this on (my ultrabook with Haswell only runs Ubuntu), so you may want to test and make sure that it still works on Intel with these changes. From the experience with my samples (that also run on Intel under Linux) these changes should not break anything, but better check before a merge 馃槈

The major changes to get this working :
Use staging
Most GPUs have very limited support for linear tiled images. So this example uses optimal tiled images and copies the image data over from a buffer. This should work on all vendors.

Lookup memory type indices
Not all vendors offer a device local memory type at index 0, so the memory type index will be passed to all VKU_Alloc_Image_Object calls to make sure the right memory type index for the given memory property bits is selected.

Note that I haven't updated the .exe, I'll leave that up to you if everything looks okay from your side 馃憤

@michal-z michal-z merged commit f050285 into GameTechDev:master Apr 27, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can鈥檛 perform that action at this time.