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

Add C++20 compliance to LLGL #86

Merged
merged 5 commits into from
Jul 3, 2023
Merged

Add C++20 compliance to LLGL #86

merged 5 commits into from
Jul 3, 2023

Conversation

gdianaty
Copy link
Contributor

@gdianaty gdianaty commented Jul 1, 2023

Hello! This PR introduces C++20 compliance to LLGL. By default, compiler errors occur (especially in SmallVector, which uses now removed functionality in std::allocator. This PR aims to fix those compile errors and introduce C++20 compliance. Also, this PR includes some small updates to the pathing of the SPIR-V headers to conform with current versions of the Vulkan SDK.

I was unable to find a C++ standard to which the LLGL library is complaint, but these changes are fully compliant with C++11. If C++11 support is unsatisfactory, I'm more than happy to find an alternative.
All tests were performed using the built-in project Testbed.

I am unable to test support for Metal and OpenGLES, as I lack access to the appropriate Apple hardware. The PR will remain in draft status until aforementioned support is tested, either by myself, or by another kind soul.

Backend All Tests Passed?
D3D12
D3D11
Vulkan
OpenGL
OpenGLES
Metal

@gdianaty gdianaty marked this pull request as ready for review July 2, 2023 18:47
@LukasBanana LukasBanana self-assigned this Jul 3, 2023
@LukasBanana LukasBanana added the improvement General improvements and logical fixes. label Jul 3, 2023
Copy link
Owner

@LukasBanana LukasBanana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution. Looks good to me overall. I'll merge as soon as you addressed the view points I asked in the review.

sources/Renderer/Direct3D12/Shader/D3D12RootParameter.h Outdated Show resolved Hide resolved
sources/Renderer/SPIRV/SpirvInstruction.h Outdated Show resolved Hide resolved
include/LLGL/Container/SmallVector.h Show resolved Hide resolved
@LukasBanana LukasBanana merged commit ca0a7ba into LukasBanana:master Jul 3, 2023
3 checks passed
@gdianaty
Copy link
Contributor Author

gdianaty commented Jul 3, 2023

Thanks for your feedback!

LukasBanana pushed a commit that referenced this pull request Jul 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement General improvements and logical fixes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants