diff options
Diffstat (limited to 'Userland/Libraries/LibGL')
-rw-r--r-- | Userland/Libraries/LibGL/GLContext.h | 3 | ||||
-rw-r--r-- | Userland/Libraries/LibGL/Vertex.cpp | 9 |
2 files changed, 6 insertions, 6 deletions
diff --git a/Userland/Libraries/LibGL/GLContext.h b/Userland/Libraries/LibGL/GLContext.h index 6f780991dd..e068094ba2 100644 --- a/Userland/Libraries/LibGL/GLContext.h +++ b/Userland/Libraries/LibGL/GLContext.h @@ -441,8 +441,6 @@ private: decltype(&GLContext::gl_tex_parameter), decltype(&GLContext::gl_tex_parameterfv), decltype(&GLContext::gl_depth_mask), - decltype(&GLContext::gl_draw_arrays), - decltype(&GLContext::gl_draw_elements), decltype(&GLContext::gl_draw_pixels), decltype(&GLContext::gl_depth_range), decltype(&GLContext::gl_polygon_offset), @@ -473,7 +471,6 @@ private: decltype(&GLContext::gl_color_material), decltype(&GLContext::gl_get_light), decltype(&GLContext::gl_clip_plane), - decltype(&GLContext::gl_array_element), decltype(&GLContext::gl_copy_tex_sub_image_2d), decltype(&GLContext::gl_point_size)>; diff --git a/Userland/Libraries/LibGL/Vertex.cpp b/Userland/Libraries/LibGL/Vertex.cpp index 5e5308fd92..e35c0ab5ff 100644 --- a/Userland/Libraries/LibGL/Vertex.cpp +++ b/Userland/Libraries/LibGL/Vertex.cpp @@ -14,7 +14,8 @@ namespace GL { void GLContext::gl_array_element(GLint i) { - APPEND_TO_CALL_LIST_AND_RETURN_IF_NEEDED(gl_array_element, i); + // NOTE: This always dereferences data; display list support is deferred to the + // individual vertex attribute calls such as `gl_color`, `gl_normal` etc. RETURN_WITH_ERROR_IF(i < 0, GL_INVALID_VALUE); // This is effectively the same as `gl_draw_elements`, except we only output a single @@ -79,7 +80,8 @@ void GLContext::gl_color_pointer(GLint size, GLenum type, GLsizei stride, void c void GLContext::gl_draw_arrays(GLenum mode, GLint first, GLsizei count) { - APPEND_TO_CALL_LIST_AND_RETURN_IF_NEEDED(gl_draw_arrays, mode, first, count); + // NOTE: This always dereferences data; display list support is deferred to the + // individual vertex attribute calls such as `gl_color`, `gl_normal` etc. RETURN_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION); // FIXME: Some modes are still missing (GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES) @@ -129,7 +131,8 @@ void GLContext::gl_draw_arrays(GLenum mode, GLint first, GLsizei count) void GLContext::gl_draw_elements(GLenum mode, GLsizei count, GLenum type, void const* indices) { - APPEND_TO_CALL_LIST_AND_RETURN_IF_NEEDED(gl_draw_elements, mode, count, type, indices); + // NOTE: This always dereferences data; display list support is deferred to the + // individual vertex attribute calls such as `gl_color`, `gl_normal` etc. RETURN_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION); // FIXME: Some modes are still missing (GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES) |