Skip to content

Commit a8298a0

Browse files
committed
support getSupportedExtensions
1 parent 7404b20 commit a8298a0

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/browser/canvas/WebGLRenderingContext.zig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,16 @@ pub const Extension = union(enum) {
112112
};
113113
};
114114

115+
/// An array of supported WebGL extensions.
116+
const extension_array = blk: {
117+
const fields = @typeInfo(Extension.Kind).@"enum".fields;
118+
var items: [fields.len][:0]const u8 = undefined;
119+
for (fields, 0..) |field, i| {
120+
items[i] = field.name;
121+
}
122+
break :blk items;
123+
};
124+
115125
/// Enables a WebGL extension.
116126
pub fn _getExtension(self: *const WebGLRenderingContext, name: []const u8) ?Extension {
117127
_ = self;
@@ -123,3 +133,8 @@ pub fn _getExtension(self: *const WebGLRenderingContext, name: []const u8) ?Exte
123133
inline else => |comptime_enum| @unionInit(Extension, @tagName(comptime_enum), {}),
124134
};
125135
}
136+
137+
/// Returns a list of all the supported WebGL extensions.
138+
pub fn _getSupportedExtensions(_: *const WebGLRenderingContext) []const []const u8 {
139+
return &extension_array;
140+
}

0 commit comments

Comments
 (0)