mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 18:57:35 +00:00
LibGL: Generate the API wrappers
We now generate all LibGL API wrappers from a single API method definition list stored in `GLAPI.json`. Since a significant portion of the OpenGL API methods are relatively consistent variants, we take advantage of this to generate a lot of these variants at once. The autogenerated methods check for the non-nullness of the current `GLContext`, and only perform an action if a `GLContext` is present. This prevents a crash in ports like GLTron, who assume you can still call the OpenGL API without an active context. This increases our API wrapper method count from 211 to 356. Fixes #15814.
This commit is contained in:
parent
8c094699db
commit
2da1c1c10e
9 changed files with 1787 additions and 1404 deletions
|
@ -1,9 +1,10 @@
|
|||
include(libgl_generators)
|
||||
|
||||
set(SOURCES
|
||||
Buffer/Buffer.cpp
|
||||
Buffer.cpp
|
||||
ClipPlane.cpp
|
||||
ContextParameter.cpp
|
||||
GLAPI.cpp
|
||||
GLContext.cpp
|
||||
Image.cpp
|
||||
Lighting.cpp
|
||||
|
@ -19,5 +20,10 @@ set(SOURCES
|
|||
Vertex.cpp
|
||||
)
|
||||
|
||||
generate_libgl_implementation()
|
||||
|
||||
set(GENERATED_SOURCES
|
||||
GLAPI.cpp)
|
||||
|
||||
serenity_lib(LibGL gl)
|
||||
target_link_libraries(LibGL PRIVATE LibCore LibGfx LibGLSL LibGPU)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue