LibGL: Implement glCompileShader

This commit is contained in:
Stephan Unverwerth 2022-08-28 11:19:36 +02:00 committed by Andrew Kaster
parent d5277ecdfe
commit 42ef5c9e12
Notes: sideshowbarker 2024-07-17 03:02:19 +09:00
2 changed files with 8 additions and 2 deletions

View file

@ -62,8 +62,12 @@ void GLContext::gl_shader_source(GLuint shader, GLsizei count, GLchar const** st
void GLContext::gl_compile_shader(GLuint shader)
{
dbgln("gl_compile_shader({}) unimplemented ", shader);
TODO();
auto it = m_allocated_shaders.find(shader);
// FIXME: implement check "GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL."
RETURN_WITH_ERROR_IF(it == m_allocated_shaders.end(), GL_INVALID_OPERATION);
// NOTE: We are ignoring the compilation result here since it is tracked inside the shader object
(void)it->value->compile();
}
GLuint GLContext::gl_create_program()

View file

@ -24,6 +24,7 @@ public:
ErrorOr<void> add_source(StringView source_code);
ErrorOr<void> compile();
GLenum type() const { return m_type; }
bool compile_status() const { return m_compile_status; }
private:
explicit Shader(GLenum shader_type)
@ -33,6 +34,7 @@ private:
Vector<String> m_sources;
GLenum m_type;
bool m_compile_status { false };
};
}