mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-09 01:29:17 +00:00
LibWeb/WebGL2: Implement getActiveUniformBlockName
This commit is contained in:
parent
7957793863
commit
191ceb0f61
Notes:
github-actions[bot]
2025-01-08 15:00:03 +00:00
Author: https://github.com/Lubrsi
Commit: 191ceb0f61
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2943
Reviewed-by: https://github.com/kalenikaliaksandr
2 changed files with 16 additions and 1 deletions
|
@ -423,7 +423,7 @@ interface mixin WebGL2RenderingContextBase {
|
|||
[FIXME] any getActiveUniforms(WebGLProgram program, sequence<GLuint> uniformIndices, GLenum pname);
|
||||
[FIXME] GLuint getUniformBlockIndex(WebGLProgram program, DOMString uniformBlockName);
|
||||
[FIXME] any getActiveUniformBlockParameter(WebGLProgram program, GLuint uniformBlockIndex, GLenum pname);
|
||||
[FIXME] DOMString? getActiveUniformBlockName(WebGLProgram program, GLuint uniformBlockIndex);
|
||||
DOMString? getActiveUniformBlockName(WebGLProgram program, GLuint uniformBlockIndex);
|
||||
undefined uniformBlockBinding(WebGLProgram program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
|
||||
|
||||
// Vertex Array Objects
|
||||
|
|
|
@ -1112,6 +1112,21 @@ public:
|
|||
continue;
|
||||
}
|
||||
|
||||
if (function.name == "getActiveUniformBlockName"sv) {
|
||||
generate_webgl_object_handle_unwrap(function_impl_generator, "program"sv, "OptionalNone {}"sv);
|
||||
function_impl_generator.append(R"~~~(
|
||||
GLint uniform_block_name_length = 0;
|
||||
glGetActiveUniformBlockiv(program_handle, uniform_block_index, GL_UNIFORM_BLOCK_NAME_LENGTH, &uniform_block_name_length);
|
||||
Vector<GLchar> uniform_block_name;
|
||||
uniform_block_name.resize(uniform_block_name_length);
|
||||
if (!uniform_block_name_length)
|
||||
return String {};
|
||||
glGetActiveUniformBlockName(program_handle, uniform_block_index, uniform_block_name_length, nullptr, uniform_block_name.data());
|
||||
return String::from_utf8_without_validation(ReadonlyBytes { uniform_block_name.data(), static_cast<size_t>(uniform_block_name_length - 1) });
|
||||
)~~~");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (function.name == "deleteBuffer"sv) {
|
||||
generate_webgl_object_handle_unwrap(function_impl_generator, "buffer"sv, ""sv);
|
||||
function_impl_generator.append(R"~~~(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue