106 lines
1.6 KiB
WebGPU Shading Language
106 lines
1.6 KiB
WebGPU Shading Language
fn bitwise_i32() {
|
|
var s1 : i32;
|
|
var s2 : i32;
|
|
var v1 : vec3<i32>;
|
|
var v2 : vec3<i32>;
|
|
s1 = (s1 | s2);
|
|
s1 = (s1 & s2);
|
|
s1 = (s1 ^ s2);
|
|
v1 = (v1 | v2);
|
|
v1 = (v1 & v2);
|
|
v1 = (v1 ^ v2);
|
|
}
|
|
|
|
fn bitwise_u32() {
|
|
var s1 : u32;
|
|
var s2 : u32;
|
|
var v1 : vec3<u32>;
|
|
var v2 : vec3<u32>;
|
|
s1 = (s1 | s2);
|
|
s1 = (s1 & s2);
|
|
s1 = (s1 ^ s2);
|
|
v1 = (v1 | v2);
|
|
v1 = (v1 & v2);
|
|
v1 = (v1 ^ v2);
|
|
}
|
|
|
|
fn vector_scalar_f32() {
|
|
var v : vec3<f32>;
|
|
var s : f32;
|
|
var r : vec3<f32>;
|
|
r = (v + s);
|
|
r = (v - s);
|
|
r = (v * s);
|
|
r = (v / s);
|
|
}
|
|
|
|
fn vector_scalar_i32() {
|
|
var v : vec3<i32>;
|
|
var s : i32;
|
|
var r : vec3<i32>;
|
|
r = (v + s);
|
|
r = (v - s);
|
|
r = (v * s);
|
|
r = (v / s);
|
|
r = (v % s);
|
|
}
|
|
|
|
fn vector_scalar_u32() {
|
|
var v : vec3<u32>;
|
|
var s : u32;
|
|
var r : vec3<u32>;
|
|
r = (v + s);
|
|
r = (v - s);
|
|
r = (v * s);
|
|
r = (v / s);
|
|
r = (v % s);
|
|
}
|
|
|
|
fn scalar_vector_f32() {
|
|
var v : vec3<f32>;
|
|
var s : f32;
|
|
var r : vec3<f32>;
|
|
r = (s + v);
|
|
r = (s - v);
|
|
r = (s * v);
|
|
r = (s / v);
|
|
}
|
|
|
|
fn scalar_vector_i32() {
|
|
var v : vec3<i32>;
|
|
var s : i32;
|
|
var r : vec3<i32>;
|
|
r = (s + v);
|
|
r = (s - v);
|
|
r = (s * v);
|
|
r = (s / v);
|
|
r = (s % v);
|
|
}
|
|
|
|
fn scalar_vector_u32() {
|
|
var v : vec3<u32>;
|
|
var s : u32;
|
|
var r : vec3<u32>;
|
|
r = (s + v);
|
|
r = (s - v);
|
|
r = (s * v);
|
|
r = (s / v);
|
|
r = (s % v);
|
|
}
|
|
|
|
fn matrix_matrix_f32() {
|
|
var m34 : mat3x4<f32>;
|
|
var m43 : mat4x3<f32>;
|
|
var m33 : mat3x3<f32>;
|
|
var m44 : mat4x4<f32>;
|
|
m34 = (m34 + m34);
|
|
m34 = (m34 - m34);
|
|
m33 = (m43 * m34);
|
|
m44 = (m34 * m43);
|
|
}
|
|
|
|
[[stage(fragment)]]
|
|
fn main() -> [[location(0)]] vec4<f32> {
|
|
return vec4<f32>(0.0, 0.0, 0.0, 0.0);
|
|
}
|