diff options
author | lawl <github@dumbinter.net> | 2022-01-06 10:44:13 +0200 |
---|---|---|
committer | lawl <github@dumbinter.net> | 2022-01-06 16:04:34 +0530 |
commit | 8c34658b64f1efeab501bef57d2bfa9579fe34e2 (patch) | |
tree | 3fef93871214bc85c89ffcd04c6782c8aa3862ce /vendor/gioui.org/shader/piet/state.h | |
parent | 38787e4195f2a34d7ec4421caf17cb99bc31fa2b (diff) | |
download | noisetorch-8c34658b64f1efeab501bef57d2bfa9579fe34e2.tar.gz noisetorch-8c34658b64f1efeab501bef57d2bfa9579fe34e2.zip |
Chore: Upgrade nucular GUI dependency
Diffstat (limited to 'vendor/gioui.org/shader/piet/state.h')
-rw-r--r-- | vendor/gioui.org/shader/piet/state.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/vendor/gioui.org/shader/piet/state.h b/vendor/gioui.org/shader/piet/state.h new file mode 100644 index 0000000..d2df804 --- /dev/null +++ b/vendor/gioui.org/shader/piet/state.h @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense + +// Code auto-generated by piet-gpu-derive + +struct StateRef { + uint offset; +}; + +struct State { + vec4 mat; + vec2 translate; + vec4 bbox; + float linewidth; + uint flags; + uint path_count; + uint pathseg_count; + uint trans_count; +}; + +#define State_size 60 + +StateRef State_index(StateRef ref, uint index) { + return StateRef(ref.offset + index * State_size); +} + +State State_read(StateRef ref) { + uint ix = ref.offset >> 2; + uint raw0 = state[ix + 0]; + uint raw1 = state[ix + 1]; + uint raw2 = state[ix + 2]; + uint raw3 = state[ix + 3]; + uint raw4 = state[ix + 4]; + uint raw5 = state[ix + 5]; + uint raw6 = state[ix + 6]; + uint raw7 = state[ix + 7]; + uint raw8 = state[ix + 8]; + uint raw9 = state[ix + 9]; + uint raw10 = state[ix + 10]; + uint raw11 = state[ix + 11]; + uint raw12 = state[ix + 12]; + uint raw13 = state[ix + 13]; + uint raw14 = state[ix + 14]; + State s; + s.mat = vec4(uintBitsToFloat(raw0), uintBitsToFloat(raw1), uintBitsToFloat(raw2), uintBitsToFloat(raw3)); + s.translate = vec2(uintBitsToFloat(raw4), uintBitsToFloat(raw5)); + s.bbox = vec4(uintBitsToFloat(raw6), uintBitsToFloat(raw7), uintBitsToFloat(raw8), uintBitsToFloat(raw9)); + s.linewidth = uintBitsToFloat(raw10); + s.flags = raw11; + s.path_count = raw12; + s.pathseg_count = raw13; + s.trans_count = raw14; + return s; +} + +void State_write(StateRef ref, State s) { + uint ix = ref.offset >> 2; + state[ix + 0] = floatBitsToUint(s.mat.x); + state[ix + 1] = floatBitsToUint(s.mat.y); + state[ix + 2] = floatBitsToUint(s.mat.z); + state[ix + 3] = floatBitsToUint(s.mat.w); + state[ix + 4] = floatBitsToUint(s.translate.x); + state[ix + 5] = floatBitsToUint(s.translate.y); + state[ix + 6] = floatBitsToUint(s.bbox.x); + state[ix + 7] = floatBitsToUint(s.bbox.y); + state[ix + 8] = floatBitsToUint(s.bbox.z); + state[ix + 9] = floatBitsToUint(s.bbox.w); + state[ix + 10] = floatBitsToUint(s.linewidth); + state[ix + 11] = s.flags; + state[ix + 12] = s.path_count; + state[ix + 13] = s.pathseg_count; + state[ix + 14] = s.trans_count; +} + |