LibGL: Implement glIsList

This commit is contained in:
Jelle Raaijmakers 2021-12-01 16:27:08 +01:00 committed by Andreas Kling
parent 17c109f5d7
commit 506abf2a61
Notes: sideshowbarker 2024-07-17 22:51:26 +09:00
5 changed files with 15 additions and 0 deletions

View file

@ -414,6 +414,7 @@ GLAPI void glDeleteLists(GLuint list, GLsizei range);
GLAPI void glListBase(GLuint base); GLAPI void glListBase(GLuint base);
GLAPI void glEndList(void); GLAPI void glEndList(void);
GLAPI void glNewList(GLuint list, GLenum mode); GLAPI void glNewList(GLuint list, GLenum mode);
GLAPI GLboolean glIsList(GLuint list);
GLAPI void glFlush(); GLAPI void glFlush();
GLAPI void glFinish(); GLAPI void glFinish();
GLAPI void glBlendFunc(GLenum sfactor, GLenum dfactor); GLAPI void glBlendFunc(GLenum sfactor, GLenum dfactor);

View file

@ -54,6 +54,7 @@ public:
virtual void gl_list_base(GLuint base) = 0; virtual void gl_list_base(GLuint base) = 0;
virtual void gl_end_list(void) = 0; virtual void gl_end_list(void) = 0;
virtual void gl_new_list(GLuint list, GLenum mode) = 0; virtual void gl_new_list(GLuint list, GLenum mode) = 0;
virtual GLboolean gl_is_list(GLuint list) = 0;
virtual void gl_flush() = 0; virtual void gl_flush() = 0;
virtual void gl_finish() = 0; virtual void gl_finish() = 0;
virtual void gl_blend_func(GLenum src_factor, GLenum dst_factor) = 0; virtual void gl_blend_func(GLenum src_factor, GLenum dst_factor) = 0;

View file

@ -43,3 +43,8 @@ void glNewList(GLuint list, GLenum mode)
{ {
return g_gl_context->gl_new_list(list, mode); return g_gl_context->gl_new_list(list, mode);
} }
GLboolean glIsList(GLuint list)
{
return g_gl_context->gl_is_list(list);
}

View file

@ -1023,6 +1023,13 @@ void SoftwareGLContext::gl_new_list(GLuint list, GLenum mode)
m_current_listing_index = CurrentListing { {}, static_cast<size_t>(list - 1), mode }; m_current_listing_index = CurrentListing { {}, static_cast<size_t>(list - 1), mode };
} }
GLboolean SoftwareGLContext::gl_is_list(GLuint list)
{
RETURN_VALUE_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION, GL_FALSE);
return list < m_listings.size() ? GL_TRUE : GL_FALSE;
}
void SoftwareGLContext::gl_flush() void SoftwareGLContext::gl_flush()
{ {
RETURN_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION); RETURN_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION);

View file

@ -65,6 +65,7 @@ public:
virtual void gl_list_base(GLuint base) override; virtual void gl_list_base(GLuint base) override;
virtual void gl_end_list(void) override; virtual void gl_end_list(void) override;
virtual void gl_new_list(GLuint list, GLenum mode) override; virtual void gl_new_list(GLuint list, GLenum mode) override;
virtual GLboolean gl_is_list(GLuint list) override;
virtual void gl_flush() override; virtual void gl_flush() override;
virtual void gl_finish() override; virtual void gl_finish() override;
virtual void gl_blend_func(GLenum src_factor, GLenum dst_factor) override; virtual void gl_blend_func(GLenum src_factor, GLenum dst_factor) override;