mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 12:05:15 +00:00
LibWeb/WebGL: Implement createRenderbuffer
This commit is contained in:
parent
135facb1b5
commit
d185c2c28c
Notes:
github-actions[bot]
2024-12-05 20:43:32 +00:00
Author: https://github.com/Lubrsi Commit: https://github.com/LadybirdBrowser/ladybird/commit/d185c2c28c4 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2791 Reviewed-by: https://github.com/gmta Reviewed-by: https://github.com/shannonbooth
4 changed files with 21 additions and 4 deletions
|
@ -4,6 +4,7 @@
|
|||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibJS/Runtime/Realm.h>
|
||||
#include <LibWeb/Bindings/WebGLRenderbufferPrototype.h>
|
||||
#include <LibWeb/WebGL/WebGLRenderbuffer.h>
|
||||
|
||||
|
@ -11,8 +12,13 @@ namespace Web::WebGL {
|
|||
|
||||
GC_DEFINE_ALLOCATOR(WebGLRenderbuffer);
|
||||
|
||||
WebGLRenderbuffer::WebGLRenderbuffer(JS::Realm& realm)
|
||||
: WebGLObject(realm, 0)
|
||||
GC::Ptr<WebGLRenderbuffer> WebGLRenderbuffer::create(JS::Realm& realm, GLuint handle)
|
||||
{
|
||||
return realm.heap().allocate<WebGLRenderbuffer>(realm, handle);
|
||||
}
|
||||
|
||||
WebGLRenderbuffer::WebGLRenderbuffer(JS::Realm& realm, GLuint handle)
|
||||
: WebGLObject(realm, handle)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -15,10 +15,12 @@ class WebGLRenderbuffer final : public WebGLObject {
|
|||
GC_DECLARE_ALLOCATOR(WebGLRenderbuffer);
|
||||
|
||||
public:
|
||||
static GC::Ptr<WebGLRenderbuffer> create(JS::Realm& realm, GLuint handle);
|
||||
|
||||
virtual ~WebGLRenderbuffer();
|
||||
|
||||
protected:
|
||||
explicit WebGLRenderbuffer(JS::Realm&);
|
||||
explicit WebGLRenderbuffer(JS::Realm&, GLuint handle);
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -71,7 +71,7 @@ interface mixin WebGLRenderingContextBase {
|
|||
WebGLBuffer? createBuffer();
|
||||
WebGLFramebuffer? createFramebuffer();
|
||||
WebGLProgram? createProgram();
|
||||
[FIXME] WebGLRenderbuffer? createRenderbuffer();
|
||||
WebGLRenderbuffer? createRenderbuffer();
|
||||
WebGLShader? createShader(GLenum type);
|
||||
WebGLTexture? createTexture();
|
||||
|
||||
|
|
|
@ -424,6 +424,15 @@ public:
|
|||
continue;
|
||||
}
|
||||
|
||||
if (function.name == "createRenderbuffer"sv) {
|
||||
function_impl_generator.append(R"~~~(
|
||||
GLuint handle = 0;
|
||||
glGenRenderbuffers(1, &handle);
|
||||
return WebGLRenderbuffer::create(m_realm, handle);
|
||||
)~~~");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (function.name == "shaderSource"sv) {
|
||||
function_impl_generator.append(R"~~~(
|
||||
Vector<GLchar*> strings;
|
||||
|
|
Loading…
Add table
Reference in a new issue