1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:28:11 +00:00

LibGL+LibSoftGPU: Add GPU side shader infrastructure

This adds a shader class to LibSoftGPU and makes use of it when linking
GLSL program in LibGL. Also adds actual rendering code to the shader
tests.
This commit is contained in:
Stephan Unverwerth 2022-09-14 23:48:10 +02:00 committed by Andrew Kaster
parent 4ad41e6680
commit 93ab2db80f
11 changed files with 96 additions and 3 deletions

View file

@ -48,7 +48,7 @@ ErrorOr<void> Program::attach_shader(Shader& shader)
return {};
}
ErrorOr<void> Program::link()
ErrorOr<void> Program::link(GPU::Device& device)
{
m_info_log = TRY(String::from_utf8(""sv));
@ -86,6 +86,9 @@ ErrorOr<void> Program::link()
m_linked_fragment_shader = linked_fragment_shader_or_error.release_value();
m_gpu_vertex_shader = TRY(device.create_shader({}));
m_gpu_fragment_shader = TRY(device.create_shader({}));
m_link_status = true;
return {};
}