mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-30 04:39:06 +00:00
LibWeb/WebGL2: Implement MAX_SAMPLES parameter
This commit is contained in:
parent
0207487199
commit
ee500df7ec
Notes:
github-actions[bot]
2024-12-14 08:09:59 +00:00
Author: https://github.com/Lubrsi
Commit: ee500df7ec
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2905
1 changed files with 7 additions and 2 deletions
|
@ -74,9 +74,10 @@ struct NameAndType {
|
||||||
StringView type;
|
StringView type;
|
||||||
int element_count { 0 };
|
int element_count { 0 };
|
||||||
} return_type;
|
} return_type;
|
||||||
|
Optional<int> webgl_version { OptionalNone {} };
|
||||||
};
|
};
|
||||||
|
|
||||||
static void generate_get_parameter(SourceGenerator& generator)
|
static void generate_get_parameter(SourceGenerator& generator, int webgl_version)
|
||||||
{
|
{
|
||||||
Vector<NameAndType> const name_to_type = {
|
Vector<NameAndType> const name_to_type = {
|
||||||
{ "ACTIVE_TEXTURE"sv, { "GLenum"sv } },
|
{ "ACTIVE_TEXTURE"sv, { "GLenum"sv } },
|
||||||
|
@ -168,6 +169,7 @@ static void generate_get_parameter(SourceGenerator& generator)
|
||||||
{ "VENDOR"sv, { "DOMString"sv } },
|
{ "VENDOR"sv, { "DOMString"sv } },
|
||||||
{ "VERSION"sv, { "DOMString"sv } },
|
{ "VERSION"sv, { "DOMString"sv } },
|
||||||
{ "VIEWPORT"sv, { "Int32Array"sv, 4 } },
|
{ "VIEWPORT"sv, { "Int32Array"sv, 4 } },
|
||||||
|
{ "MAX_SAMPLES"sv, { "GLint"sv }, 2 },
|
||||||
};
|
};
|
||||||
|
|
||||||
auto is_primitive_type = [](StringView type) {
|
auto is_primitive_type = [](StringView type) {
|
||||||
|
@ -176,6 +178,9 @@ static void generate_get_parameter(SourceGenerator& generator)
|
||||||
|
|
||||||
generator.append(" switch (pname) {");
|
generator.append(" switch (pname) {");
|
||||||
for (auto const& name_and_type : name_to_type) {
|
for (auto const& name_and_type : name_to_type) {
|
||||||
|
if (name_and_type.webgl_version.has_value() && name_and_type.webgl_version.value() != webgl_version)
|
||||||
|
continue;
|
||||||
|
|
||||||
auto const& parameter_name = name_and_type.name;
|
auto const& parameter_name = name_and_type.name;
|
||||||
auto const& type_name = name_and_type.return_type.type;
|
auto const& type_name = name_and_type.return_type.type;
|
||||||
|
|
||||||
|
@ -821,7 +826,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
if (function.name == "getParameter"sv) {
|
if (function.name == "getParameter"sv) {
|
||||||
generate_get_parameter(function_impl_generator);
|
generate_get_parameter(function_impl_generator, webgl_version);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue