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
Better OpenGL Efficiency #3514
Comments
That PDF is very light on details, but I believe it is referring to This would only benefit the desktop platforms at this stage as it is OpenGL 4.2+. It could help a lot with performance, but how much do we expose to the user and how much do we keep internal? Within our existing API, it would take some extra research into exactly how these new functions work to see how much benefit it would provide to us. |
Ok... wasn't sure if it could help on Android or not. I expect for iOS we will be eventually moving to Metal and OpenGL will be dropped there all together.
I think some of this overlaps with how we enhance the MonoGame APIs for DX12 and Metal support. |
For future planning, look into support for Vulkan, Khronos' next generation OpenGL. |
much of this came from mantle i believe anyways brief of spir-v here's the spir-v spec pdf as of 4 days ago |
SPIR-V is related to glNext, now known as Vulkan. A lot of similar concepts
as Mantle, and DirectX12 and Apple's Metal. All of these new graphics APIs
put more responsibility onto the application to lower driver overhead, such
as the application creating command buffers that are then shared with the
driver rather than the driver copying the memory.
|
We have a developer with NDA access working on Vulkan C# bindings. It is quite likely that Linux/MacOS will gain Vulkan support before OpenGL 4.2 drivers become readily available, which makes this a desirable backend to support. |
@thefiddler - That is great to hear! |
@thefiddler Any further info about this C# binding? |
Nevermind, seems one of the Xamarin guys has already done it - https://github.com/mono/VulkanSharp. |
Closing this and moving discussion to #4571. |
This all stems from the following Khronos Group paper...
https://www.khronos.org/assets/uploads/developers/library/2014-gdc/Khronos-OpenGL-Efficiency-GDC-Mar14.pdf
Is there any benefit to MonoGame to pursuing these approaches within the existing API?
What platforms can benefit here?
Could this give us a path towards multi-threaded rendering for OpenGL?
The text was updated successfully, but these errors were encountered: