github.com/cybriq/giocore@v0.0.7-0.20210703034601-cfb9cb5f3900/gpu/shaders/bins.h (about) 1 // SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense 2 3 // Code auto-generated by piet-gpu-derive 4 5 struct BinInstanceRef { 6 uint offset; 7 }; 8 9 struct BinInstance { 10 uint element_ix; 11 }; 12 13 #define BinInstance_size 4 14 15 BinInstanceRef BinInstance_index(BinInstanceRef ref, uint index) { 16 return BinInstanceRef(ref.offset + index * BinInstance_size); 17 } 18 19 BinInstance BinInstance_read(Alloc a, BinInstanceRef ref) { 20 uint ix = ref.offset >> 2; 21 uint raw0 = read_mem(a, ix + 0); 22 BinInstance s; 23 s.element_ix = raw0; 24 return s; 25 } 26 27 void BinInstance_write(Alloc a, BinInstanceRef ref, BinInstance s) { 28 uint ix = ref.offset >> 2; 29 write_mem(a, ix + 0, s.element_ix); 30 } 31