Skip to content

Commit f4eef9d

Browse files
cqundefinegmta
authored andcommitted
LibWeb: Implement a bunch of values for WebGL2 getParameter
1 parent 50d66ba commit f4eef9d

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

Libraries/LibWeb/WebGL/WebGL2RenderingContextImpl.cpp

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2436,6 +2436,11 @@ JS::Value WebGL2RenderingContextImpl::get_parameter(WebIDL::UnsignedLong pname)
24362436
return JS::js_null();
24372437
return JS::Value(m_framebuffer_binding);
24382438
}
2439+
case GL_FRAGMENT_SHADER_DERIVATIVE_HINT: {
2440+
GLint result { 0 };
2441+
glGetIntegervRobustANGLE(GL_FRAGMENT_SHADER_DERIVATIVE_HINT, 1, nullptr, &result);
2442+
return JS::Value(result);
2443+
}
24392444
case GL_FRONT_FACE: {
24402445
GLint result { 0 };
24412446
glGetIntegervRobustANGLE(GL_FRONT_FACE, 1, nullptr, &result);
@@ -2530,6 +2535,21 @@ JS::Value WebGL2RenderingContextImpl::get_parameter(WebIDL::UnsignedLong pname)
25302535
glGetIntegervRobustANGLE(GL_PACK_ALIGNMENT, 1, nullptr, &result);
25312536
return JS::Value(result);
25322537
}
2538+
case GL_PACK_ROW_LENGTH: {
2539+
GLint result { 0 };
2540+
glGetIntegervRobustANGLE(GL_PACK_ROW_LENGTH, 1, nullptr, &result);
2541+
return JS::Value(result);
2542+
}
2543+
case GL_PACK_SKIP_ROWS: {
2544+
GLint result { 0 };
2545+
glGetIntegervRobustANGLE(GL_PACK_SKIP_ROWS, 1, nullptr, &result);
2546+
return JS::Value(result);
2547+
}
2548+
case GL_PACK_SKIP_PIXELS: {
2549+
GLint result { 0 };
2550+
glGetIntegervRobustANGLE(GL_PACK_SKIP_PIXELS, 1, nullptr, &result);
2551+
return JS::Value(result);
2552+
}
25332553
case GL_POLYGON_OFFSET_FACTOR: {
25342554
GLfloat result { 0.0f };
25352555
glGetFloatvRobustANGLE(GL_POLYGON_OFFSET_FACTOR, 1, nullptr, &result);
@@ -2545,6 +2565,11 @@ JS::Value WebGL2RenderingContextImpl::get_parameter(WebIDL::UnsignedLong pname)
25452565
glGetFloatvRobustANGLE(GL_POLYGON_OFFSET_UNITS, 1, nullptr, &result);
25462566
return JS::Value(result);
25472567
}
2568+
case GL_RASTERIZER_DISCARD: {
2569+
GLboolean result { GL_FALSE };
2570+
glGetBooleanvRobustANGLE(GL_RASTERIZER_DISCARD, 1, nullptr, &result);
2571+
return JS::Value(result == GL_TRUE);
2572+
}
25482573
case GL_RED_BITS: {
25492574
GLint result { 0 };
25502575
glGetIntegervRobustANGLE(GL_RED_BITS, 1, nullptr, &result);
@@ -2584,6 +2609,11 @@ JS::Value WebGL2RenderingContextImpl::get_parameter(WebIDL::UnsignedLong pname)
25842609
glGetFloatvRobustANGLE(GL_SAMPLE_COVERAGE_VALUE, 1, nullptr, &result);
25852610
return JS::Value(result);
25862611
}
2612+
case GL_SAMPLER_BINDING: {
2613+
GLint handle { 0 };
2614+
glGetIntegervRobustANGLE(GL_SAMPLER_BINDING, 1, nullptr, &handle);
2615+
return WebGLSampler::create(m_realm, *this, handle);
2616+
}
25872617
case GL_SAMPLES: {
25882618
GLint result { 0 };
25892619
glGetIntegervRobustANGLE(GL_SAMPLES, 1, nullptr, &result);
@@ -2712,6 +2742,31 @@ JS::Value WebGL2RenderingContextImpl::get_parameter(WebIDL::UnsignedLong pname)
27122742
glGetIntegervRobustANGLE(GL_UNPACK_ALIGNMENT, 1, nullptr, &result);
27132743
return JS::Value(result);
27142744
}
2745+
case GL_UNPACK_IMAGE_HEIGHT: {
2746+
GLint result { 0 };
2747+
glGetIntegervRobustANGLE(GL_UNPACK_IMAGE_HEIGHT, 1, nullptr, &result);
2748+
return JS::Value(result);
2749+
}
2750+
case GL_UNPACK_ROW_LENGTH: {
2751+
GLint result { 0 };
2752+
glGetIntegervRobustANGLE(GL_UNPACK_ROW_LENGTH, 1, nullptr, &result);
2753+
return JS::Value(result);
2754+
}
2755+
case GL_UNPACK_SKIP_IMAGES: {
2756+
GLint result { 0 };
2757+
glGetIntegervRobustANGLE(GL_UNPACK_SKIP_IMAGES, 1, nullptr, &result);
2758+
return JS::Value(result);
2759+
}
2760+
case GL_UNPACK_SKIP_PIXELS: {
2761+
GLint result { 0 };
2762+
glGetIntegervRobustANGLE(GL_UNPACK_SKIP_PIXELS, 1, nullptr, &result);
2763+
return JS::Value(result);
2764+
}
2765+
case GL_UNPACK_SKIP_ROWS: {
2766+
GLint result { 0 };
2767+
glGetIntegervRobustANGLE(GL_UNPACK_SKIP_ROWS, 1, nullptr, &result);
2768+
return JS::Value(result);
2769+
}
27152770
case GL_VENDOR: {
27162771
auto result = reinterpret_cast<char const*>(glGetString(GL_VENDOR));
27172772
return JS::PrimitiveString::create(m_realm->vm(), ByteString { result });

0 commit comments

Comments
 (0)