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 support for creating Vulkan window surfaces. #1557
Conversation
Can you please give me some ideas at what and how do you want this to be reviewed? Reviewing such a huge patch is scary, but I think if you tell me what to check here, I'll be happy to devote some time to reviewing this thoroughly. :) |
The funny thing is that over 70% of the patch lines aren't even SFML code, it is all from the Vulkan headers. Then the next bigger chunk (20%) of changes come from the new Vulkan example, which you could look at... but if you aren't experienced with Vulkan you would also find pretty daunting (still worth a look though). The smallest chunk and the code that should be "most" reviewed are the actual changes to the library and its public interface. These can be found in the files in the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few minor nitpicks as comments.
- Any real impact on requiring
dl
on Linux even when people aren't using Vulkan? - What about macOS?
3423d06
to
fce52bd
Compare
Updated with requested changes. |
It doesn't work on macOS, of course (vulkan isn't available) It's my opinion this is not a useful addition to SFML, as it's a platform specific renderer which isn't compatible with SFML's graphics module, and adds 16k lines of source code just to save a very niche group of users some boilerplate. Might be missing something though? |
fce52bd
to
bba6627
Compare
Fixed missing check for a valid device in the destructor. |
I use Linux and develop C++ here very frequently. There is no impact on requiring dl. Any system will have it as it is part of the system that loads shared libraries, even if it isn't explicitly being used. |
I disagree with your assertion that it is not a useful addition to SFML. Please let me explain why:
|
Anyone else willing to review this? |
Looks like there are no further reviews, so I'll merge this PR soon. |
Add support for creating Vulkan window surfaces.
Example is provided in the patch.