bd44b5aa08
Nix / Required Checks: Nix (push) Blocked by required conditions
Nix / check-zig-cache-hash (push) Waiting to run
Test / skip (push) Waiting to run
Test / Required Checks: Test (push) Blocked by required conditions
Test / build-bench (push) Blocked by required conditions
Test / list-examples (push) Blocked by required conditions
Test / Example ${{ matrix.dir }} (Windows) (push) Blocked by required conditions
Test / Example ${{ matrix.dir }} (push) Blocked by required conditions
Test / build-cmake (push) Blocked by required conditions
Test / test-lib-vt-pkgconfig (push) Blocked by required conditions
Test / build-flatpak (push) Blocked by required conditions
Test / build-snap (push) Blocked by required conditions
Test / build-linux (namespace-profile-ghostty-md-arm64) (push) Blocked by required conditions
Test / build-nix (namespace-profile-ghostty-md) (push) Blocked by required conditions
Test / build-libghostty-vt (aarch64-linux) (push) Blocked by required conditions
Test / build-libghostty-vt (aarch64-macos) (push) Blocked by required conditions
Test / build-libghostty-vt (wasm32-freestanding) (push) Blocked by required conditions
Test / build-libghostty-vt (x86_64-linux) (push) Blocked by required conditions
Test / build-libghostty-vt (x86_64-linux-musl) (push) Blocked by required conditions
Test / build-libghostty-vt (x86_64-macos) (push) Blocked by required conditions
Test / build-libghostty-vt (x86_64-windows-gnu) (push) Blocked by required conditions
Test / build-libghostty-vt-macos (aarch64-ios) (push) Blocked by required conditions
Test / build-libghostty-vt-macos (aarch64-macos) (push) Blocked by required conditions
Test / build-libghostty-vt-macos (x86_64-macos) (push) Blocked by required conditions
Test / build-libghostty-vt-android (aarch64-linux-android) (push) Blocked by required conditions
Test / build-libghostty-vt-android (arm-linux-androideabi) (push) Blocked by required conditions
Test / build-libghostty-vt-android (x86_64-linux-android) (push) Blocked by required conditions
Test / build-libghostty-vt-windows (push) Blocked by required conditions
Test / build-libghostty-windows-gnu (push) Blocked by required conditions
Test / build-linux (namespace-profile-ghostty-md) (push) Blocked by required conditions
Test / build-linux-libghostty (push) Blocked by required conditions
Test / build-nix (namespace-profile-ghostty-md-arm64) (push) Blocked by required conditions
Test / build-dist (push) Blocked by required conditions
Test / build-dist-lib-vt (push) Blocked by required conditions
Test / trigger-snap (push) Blocked by required conditions
Test / trigger-flatpak (push) Blocked by required conditions
Test / build-macos (push) Blocked by required conditions
Test / build-macos-freetype (push) Blocked by required conditions
Test / test (push) Blocked by required conditions
Test / test-lib-vt (push) Blocked by required conditions
Test / GTK x11=false wayland=false (push) Blocked by required conditions
Test / GTK x11=true wayland=false (push) Blocked by required conditions
Test / GTK x11=false wayland=true (push) Blocked by required conditions
Test / GTK x11=true wayland=true (push) Blocked by required conditions
Test / Build -Dsimd=false (push) Blocked by required conditions
Test / Build -Dsimd=true (push) Blocked by required conditions
Test / Build -Dsentry=false (push) Blocked by required conditions
Test / Build -Dsentry=true (push) Blocked by required conditions
Test / test-macos (push) Blocked by required conditions
Test / test-windows (push) Blocked by required conditions
Test / Build -Di18n=false (push) Blocked by required conditions
Test / Build -Di18n=true (push) Blocked by required conditions
Test / Build test/fuzz-libghostty (push) Blocked by required conditions
Test / zig-fmt (push) Blocked by required conditions
Test / GitHub Actions Pins (push) Blocked by required conditions
Test / prettier (push) Blocked by required conditions
Test / swiftlint (push) Blocked by required conditions
Test / alejandra (push) Blocked by required conditions
Test / typos (push) Blocked by required conditions
Test / shellcheck (push) Blocked by required conditions
Test / translations (push) Blocked by required conditions
Test / blueprint-compiler (push) Blocked by required conditions
Test / Test pkg/wuffs (push) Blocked by required conditions
Test / Test build on Debian 13 (push) Blocked by required conditions
Test / valgrind (push) Blocked by required conditions
95 lines
2.2 KiB
Zig
95 lines
2.2 KiB
Zig
const c = @import("c.zig").c;
|
|
const errors = @import("errors.zig");
|
|
const glad = @import("glad.zig");
|
|
const Primitive = @import("primitives.zig").Primitive;
|
|
|
|
pub fn clearColor(r: f32, g: f32, b: f32, a: f32) void {
|
|
glad.context.ClearColor.?(r, g, b, a);
|
|
}
|
|
|
|
pub fn clear(mask: c.GLbitfield) void {
|
|
glad.context.Clear.?(mask);
|
|
}
|
|
|
|
pub fn drawArrays(mode: c.GLenum, first: c.GLint, count: c.GLsizei) !void {
|
|
glad.context.DrawArrays.?(mode, first, count);
|
|
try errors.getError();
|
|
}
|
|
|
|
pub fn drawArraysInstanced(
|
|
mode: Primitive,
|
|
first: c.GLint,
|
|
count: c.GLsizei,
|
|
primcount: c.GLsizei,
|
|
) !void {
|
|
glad.context.DrawArraysInstanced.?(
|
|
@intCast(@intFromEnum(mode)),
|
|
first,
|
|
count,
|
|
primcount,
|
|
);
|
|
try errors.getError();
|
|
}
|
|
|
|
pub fn drawElements(mode: c.GLenum, count: c.GLsizei, typ: c.GLenum, offset: usize) !void {
|
|
const offsetPtr = if (offset == 0) null else @as(*const anyopaque, @ptrFromInt(offset));
|
|
glad.context.DrawElements.?(mode, count, typ, offsetPtr);
|
|
try errors.getError();
|
|
}
|
|
|
|
pub fn drawElementsInstanced(
|
|
mode: c.GLenum,
|
|
count: c.GLsizei,
|
|
typ: c.GLenum,
|
|
primcount: c.GLsizei,
|
|
) !void {
|
|
glad.context.DrawElementsInstanced.?(
|
|
mode,
|
|
count,
|
|
typ,
|
|
null,
|
|
primcount,
|
|
);
|
|
try errors.getError();
|
|
}
|
|
|
|
pub fn enable(cap: c.GLenum) !void {
|
|
glad.context.Enable.?(cap);
|
|
try errors.getError();
|
|
}
|
|
|
|
pub fn disable(cap: c.GLenum) !void {
|
|
glad.context.Disable.?(cap);
|
|
try errors.getError();
|
|
}
|
|
|
|
pub fn frontFace(mode: c.GLenum) !void {
|
|
glad.context.FrontFace.?(mode);
|
|
try errors.getError();
|
|
}
|
|
|
|
pub fn blendFunc(sfactor: c.GLenum, dfactor: c.GLenum) !void {
|
|
glad.context.BlendFunc.?(sfactor, dfactor);
|
|
try errors.getError();
|
|
}
|
|
|
|
pub fn viewport(x: c.GLint, y: c.GLint, width: c.GLsizei, height: c.GLsizei) !void {
|
|
glad.context.Viewport.?(x, y, width, height);
|
|
}
|
|
|
|
pub fn pixelStore(mode: c.GLenum, value: anytype) !void {
|
|
switch (@typeInfo(@TypeOf(value))) {
|
|
.ComptimeInt, .Int => glad.context.PixelStorei.?(mode, value),
|
|
else => unreachable,
|
|
}
|
|
try errors.getError();
|
|
}
|
|
|
|
pub fn finish() void {
|
|
glad.context.Finish.?();
|
|
}
|
|
|
|
pub fn flush() void {
|
|
glad.context.Flush.?();
|
|
}
|