aboutsummaryrefslogtreecommitdiff
path: root/vendor
diff options
context:
space:
mode:
authorKarl Zylinski <karl@zylinski.se>2025-12-27 01:41:59 +0100
committerKarl Zylinski <karl@zylinski.se>2025-12-27 01:41:59 +0100
commit159eab133b4b6dc9df6896d003134c1f0ccfde92 (patch)
treee9ecad07b9be9e385bcd242daf3f0716084e1a47 /vendor
parent7dee25bdcc069bbb0ceb5d4a1ac1a9e3009bfb83 (diff)
More webgl bindings and fixes
Diffstat (limited to 'vendor')
-rw-r--r--vendor/wasm/WebGL/webgl2.odin15
1 files changed, 14 insertions, 1 deletions
diff --git a/vendor/wasm/WebGL/webgl2.odin b/vendor/wasm/WebGL/webgl2.odin
index 3494559a5..1e36fd0fd 100644
--- a/vendor/wasm/WebGL/webgl2.odin
+++ b/vendor/wasm/WebGL/webgl2.odin
@@ -104,6 +104,12 @@ foreign webgl2 {
GetUniformBlockIndex :: proc(program: Program, uniformBlockName: string) -> i32 ---
UniformBlockBinding :: proc(program: Program, uniformBlockIndex: i32, uniformBlockBinding: i32) ---
+ // if `pname` is `UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES` then an array will be written at
+ // `params`, in that case the length `params` need to have is given first querying using `pname`
+ // `UNIFORM_BLOCK_ACTIVE_UNIFORMS`.
+ GetActiveUniformBlockParameter :: proc(program: Program, uniformBlockIndex: i32, pname: Enum, params: [^]i32) ---
+ GetActiveUniforms :: proc(program: Program, uniformIndices: []u32, pname: Enum, res: [^]i32) ---
+
CreateVertexArray :: proc() -> VertexArrayObject ---
DeleteVertexArray :: proc(vertexArray: VertexArrayObject) ---
IsVertexArray :: proc(vertexArray: VertexArrayObject) -> bool ---
@@ -112,6 +118,7 @@ foreign webgl2 {
GetActiveUniformBlockNameBuf :: proc(program: Program, uniformBlockIndex: i32, buf: []byte) -> string {
foreign webgl2 {
+ @(link_name="GetActiveUniformBlockName")
_GetActiveUniformBlockName :: proc "contextless" (program: Program, uniformBlockIndex: i32, buf: []byte, length: ^int) ---
}
n: int
@@ -121,6 +128,7 @@ GetActiveUniformBlockNameBuf :: proc(program: Program, uniformBlockIndex: i32, b
GetActiveUniformBlockNameAlloc :: proc(program: Program, uniformBlockIndex: i32, allocator: runtime.Allocator, loc := #caller_location) -> string {
foreign webgl2 {
+ @(link_name="GetActiveUniformBlockName")
_GetActiveUniformBlockName :: proc "contextless" (program: Program, uniformBlockIndex: i32, buf: []byte, length: ^int) ---
}
n: int
@@ -141,7 +149,6 @@ GetActiveUniformBlockName :: proc {
GetActiveUniformBlockNameAlloc,
}
-
Uniform1uiv :: proc "contextless" (location: i32, v: u32) {
Uniform1ui(location, v)
}
@@ -157,6 +164,7 @@ Uniform4uiv :: proc "contextless" (location: i32, v: glm.uvec4) {
UniformMatrix3x2fv :: proc "contextless" (location: i32, m: glm.mat3x2) {
foreign webgl2 {
+ @(link_name="UniformMatrix3x2fv")
_UniformMatrix3x2fv :: proc "contextless" (location: i32, addr: [^]f32) ---
}
array := intrinsics.matrix_flatten(m)
@@ -164,6 +172,7 @@ UniformMatrix3x2fv :: proc "contextless" (location: i32, m: glm.mat3x2) {
}
UniformMatrix4x2fv :: proc "contextless" (location: i32, m: glm.mat4x2) {
foreign webgl2 {
+ @(link_name="UniformMatrix4x2fv")
_UniformMatrix4x2fv :: proc "contextless" (location: i32, addr: [^]f32) ---
}
array := intrinsics.matrix_flatten(m)
@@ -171,6 +180,7 @@ UniformMatrix4x2fv :: proc "contextless" (location: i32, m: glm.mat4x2) {
}
UniformMatrix2x3fv :: proc "contextless" (location: i32, m: glm.mat2x3) {
foreign webgl2 {
+ @(link_name="UniformMatrix2x3fv")
_UniformMatrix2x3fv :: proc "contextless" (location: i32, addr: [^]f32) ---
}
array := intrinsics.matrix_flatten(m)
@@ -178,6 +188,7 @@ UniformMatrix2x3fv :: proc "contextless" (location: i32, m: glm.mat2x3) {
}
UniformMatrix4x3fv :: proc "contextless" (location: i32, m: glm.mat4x3) {
foreign webgl2 {
+ @(link_name="UniformMatrix4x3fv")
_UniformMatrix4x3fv :: proc "contextless" (location: i32, addr: [^]f32) ---
}
array := intrinsics.matrix_flatten(m)
@@ -185,6 +196,7 @@ UniformMatrix4x3fv :: proc "contextless" (location: i32, m: glm.mat4x3) {
}
UniformMatrix2x4fv :: proc "contextless" (location: i32, m: glm.mat2x4) {
foreign webgl2 {
+ @(link_name="UniformMatrix2x4fv")
_UniformMatrix2x4fv :: proc "contextless" (location: i32, addr: [^]f32) ---
}
array := intrinsics.matrix_flatten(m)
@@ -192,6 +204,7 @@ UniformMatrix2x4fv :: proc "contextless" (location: i32, m: glm.mat2x4) {
}
UniformMatrix3x4fv :: proc "contextless" (location: i32, m: glm.mat3x4) {
foreign webgl2 {
+ @(link_name="UniformMatrix3x4fv")
_UniformMatrix3x4fv :: proc "contextless" (location: i32, addr: [^]f32) ---
}
array := intrinsics.matrix_flatten(m)