mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-20 11:36:10 +00:00
LibWeb/WebGL2: Implement drawElementsInstanced
This commit is contained in:
parent
c05fa44cf8
commit
42cce393f4
Notes:
github-actions[bot]
2025-01-08 14:59:02 +00:00
Author: https://github.com/Lubrsi Commit: https://github.com/LadybirdBrowser/ladybird/commit/42cce393f49 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2943 Reviewed-by: https://github.com/kalenikaliaksandr
2 changed files with 18 additions and 2 deletions
|
@ -360,12 +360,12 @@ interface mixin WebGL2RenderingContextBase {
|
|||
[FIXME] undefined vertexAttribI4iv(GLuint index, Int32List values);
|
||||
[FIXME] undefined vertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
|
||||
[FIXME] undefined vertexAttribI4uiv(GLuint index, Uint32List values);
|
||||
[FIXME] undefined vertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
|
||||
undefined vertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
|
||||
|
||||
// Writing to the drawing buffer
|
||||
undefined vertexAttribDivisor(GLuint index, GLuint divisor);
|
||||
[FIXME] undefined drawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);
|
||||
[FIXME] undefined drawElementsInstanced(GLenum mode, GLsizei count, GLenum type, GLintptr offset, GLsizei instanceCount);
|
||||
undefined drawElementsInstanced(GLenum mode, GLsizei count, GLenum type, GLintptr offset, GLsizei instanceCount);
|
||||
[FIXME] undefined drawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLintptr offset);
|
||||
|
||||
// Multiple Render Targets
|
||||
|
|
|
@ -32,6 +32,7 @@ static bool gl_function_modifies_framebuffer(StringView function_name)
|
|||
return function_name == "clear"sv
|
||||
|| function_name == "drawArrays"sv
|
||||
|| function_name == "drawElements"sv
|
||||
|| function_name == "drawElementsInstanced"sv
|
||||
|| function_name == "blitFramebuffer"sv
|
||||
|| function_name == "invalidateFramebuffer"sv;
|
||||
}
|
||||
|
@ -998,6 +999,14 @@ public:
|
|||
continue;
|
||||
}
|
||||
|
||||
if (function.name == "drawElementsInstanced"sv) {
|
||||
function_impl_generator.append(R"~~~(
|
||||
glDrawElementsInstanced(mode, count, type, reinterpret_cast<void*>(offset), instance_count);
|
||||
needs_to_present();
|
||||
)~~~");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (function.name == "drawBuffers"sv) {
|
||||
function_impl_generator.append(R"~~~(
|
||||
glDrawBuffers(buffers.size(), buffers.data());
|
||||
|
@ -1125,6 +1134,13 @@ public:
|
|||
continue;
|
||||
}
|
||||
|
||||
if (function.name == "vertexAttribIPointer"sv) {
|
||||
function_impl_generator.append(R"~~~(
|
||||
glVertexAttribIPointer(index, size, type, stride, reinterpret_cast<void*>(offset));
|
||||
)~~~");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (function.name == "getParameter"sv) {
|
||||
generate_get_parameter(function_impl_generator, webgl_version);
|
||||
continue;
|
||||
|
|
Loading…
Add table
Reference in a new issue