Jiawei Shao | 0a40886 | 2024-01-05 03:14:11 +0000 | [diff] [blame] | 1 | #version 310 es |
Jiawei Shao | 0a40886 | 2024-01-05 03:14:11 +0000 | [diff] [blame] | 2 | precision highp float; |
Stephen White | ca9f386 | 2024-02-07 18:08:23 +0000 | [diff] [blame] | 3 | precision highp int; |
Jiawei Shao | 0a40886 | 2024-01-05 03:14:11 +0000 | [diff] [blame] | 4 | |
| 5 | ivec4 tint_unpack_4xi8(uint a) { |
| 6 | uvec4 a_vec4u = uvec4(a); |
| 7 | ivec4 a_vec4i = ivec4((a_vec4u << uvec4(24u, 16u, 8u, 0u))); |
| 8 | return (a_vec4i >> uvec4(24u)); |
| 9 | } |
| 10 | |
Natalie Chouinard | 6ee6330 | 2024-06-25 20:45:30 +0000 | [diff] [blame] | 11 | layout(binding = 0, std430) buffer prevent_dce_block_ssbo { |
| 12 | ivec4 inner; |
| 13 | } prevent_dce; |
| 14 | |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 15 | ivec4 unpack4xI8_830900() { |
| 16 | uint arg_0 = 1u; |
| 17 | ivec4 res = tint_unpack_4xi8(arg_0); |
| 18 | return res; |
| 19 | } |
| 20 | |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 21 | struct VertexOutput { |
| 22 | vec4 pos; |
| 23 | ivec4 prevent_dce; |
| 24 | }; |
Jiawei Shao | 0a40886 | 2024-01-05 03:14:11 +0000 | [diff] [blame] | 25 | |
| 26 | void fragment_main() { |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 27 | prevent_dce.inner = unpack4xI8_830900(); |
Jiawei Shao | 0a40886 | 2024-01-05 03:14:11 +0000 | [diff] [blame] | 28 | } |
| 29 | |
| 30 | void main() { |
| 31 | fragment_main(); |
| 32 | return; |
| 33 | } |
| 34 | #version 310 es |
| 35 | |
| 36 | ivec4 tint_unpack_4xi8(uint a) { |
| 37 | uvec4 a_vec4u = uvec4(a); |
| 38 | ivec4 a_vec4i = ivec4((a_vec4u << uvec4(24u, 16u, 8u, 0u))); |
| 39 | return (a_vec4i >> uvec4(24u)); |
| 40 | } |
| 41 | |
Natalie Chouinard | 6ee6330 | 2024-06-25 20:45:30 +0000 | [diff] [blame] | 42 | layout(binding = 0, std430) buffer prevent_dce_block_ssbo { |
| 43 | ivec4 inner; |
| 44 | } prevent_dce; |
| 45 | |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 46 | ivec4 unpack4xI8_830900() { |
| 47 | uint arg_0 = 1u; |
| 48 | ivec4 res = tint_unpack_4xi8(arg_0); |
| 49 | return res; |
| 50 | } |
| 51 | |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 52 | struct VertexOutput { |
| 53 | vec4 pos; |
| 54 | ivec4 prevent_dce; |
| 55 | }; |
Jiawei Shao | 0a40886 | 2024-01-05 03:14:11 +0000 | [diff] [blame] | 56 | |
| 57 | void compute_main() { |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 58 | prevent_dce.inner = unpack4xI8_830900(); |
Jiawei Shao | 0a40886 | 2024-01-05 03:14:11 +0000 | [diff] [blame] | 59 | } |
| 60 | |
| 61 | layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; |
| 62 | void main() { |
| 63 | compute_main(); |
| 64 | return; |
| 65 | } |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 66 | #version 310 es |
| 67 | |
| 68 | ivec4 tint_unpack_4xi8(uint a) { |
| 69 | uvec4 a_vec4u = uvec4(a); |
| 70 | ivec4 a_vec4i = ivec4((a_vec4u << uvec4(24u, 16u, 8u, 0u))); |
| 71 | return (a_vec4i >> uvec4(24u)); |
| 72 | } |
| 73 | |
| 74 | layout(location = 0) flat out ivec4 prevent_dce_1; |
| 75 | ivec4 unpack4xI8_830900() { |
| 76 | uint arg_0 = 1u; |
| 77 | ivec4 res = tint_unpack_4xi8(arg_0); |
| 78 | return res; |
| 79 | } |
| 80 | |
| 81 | struct VertexOutput { |
| 82 | vec4 pos; |
| 83 | ivec4 prevent_dce; |
| 84 | }; |
| 85 | |
| 86 | VertexOutput vertex_main() { |
| 87 | VertexOutput tint_symbol = VertexOutput(vec4(0.0f, 0.0f, 0.0f, 0.0f), ivec4(0, 0, 0, 0)); |
| 88 | tint_symbol.pos = vec4(0.0f); |
| 89 | tint_symbol.prevent_dce = unpack4xI8_830900(); |
| 90 | return tint_symbol; |
| 91 | } |
| 92 | |
| 93 | void main() { |
| 94 | gl_PointSize = 1.0; |
| 95 | VertexOutput inner_result = vertex_main(); |
| 96 | gl_Position = inner_result.pos; |
| 97 | prevent_dce_1 = inner_result.prevent_dce; |
| 98 | gl_Position.y = -(gl_Position.y); |
| 99 | gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); |
| 100 | return; |
| 101 | } |