Zhaoming Jiang | 9443ceb | 2022-08-05 15:15:17 +0000 | [diff] [blame] | 1 | #version 310 es |
| 2 | #extension GL_AMD_gpu_shader_half_float : require |
Ben Clayton | f1f56b2 | 2023-03-09 19:58:23 +0000 | [diff] [blame] | 3 | precision highp float; |
Stephen White | ca9f386 | 2024-02-07 18:08:23 +0000 | [diff] [blame] | 4 | precision highp int; |
Zhaoming Jiang | 9443ceb | 2022-08-05 15:15:17 +0000 | [diff] [blame] | 5 | |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 6 | f16vec3 ldexp_7485ce() { |
| 7 | f16vec3 arg_0 = f16vec3(1.0hf); |
| 8 | ivec3 arg_1 = ivec3(1); |
| 9 | f16vec3 res = ldexp(arg_0, arg_1); |
| 10 | return res; |
| 11 | } |
| 12 | |
Ben Clayton | 77a90cb | 2023-03-06 18:25:08 +0000 | [diff] [blame] | 13 | layout(binding = 0, std430) buffer prevent_dce_block_ssbo { |
| 14 | f16vec3 inner; |
| 15 | } prevent_dce; |
| 16 | |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 17 | struct VertexOutput { |
| 18 | vec4 pos; |
| 19 | f16vec3 prevent_dce; |
| 20 | }; |
Zhaoming Jiang | 9443ceb | 2022-08-05 15:15:17 +0000 | [diff] [blame] | 21 | |
| 22 | void fragment_main() { |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 23 | prevent_dce.inner = ldexp_7485ce(); |
Zhaoming Jiang | 9443ceb | 2022-08-05 15:15:17 +0000 | [diff] [blame] | 24 | } |
| 25 | |
| 26 | void main() { |
| 27 | fragment_main(); |
| 28 | return; |
| 29 | } |
| 30 | #version 310 es |
| 31 | #extension GL_AMD_gpu_shader_half_float : require |
| 32 | |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 33 | f16vec3 ldexp_7485ce() { |
| 34 | f16vec3 arg_0 = f16vec3(1.0hf); |
| 35 | ivec3 arg_1 = ivec3(1); |
| 36 | f16vec3 res = ldexp(arg_0, arg_1); |
| 37 | return res; |
| 38 | } |
| 39 | |
Ben Clayton | 77a90cb | 2023-03-06 18:25:08 +0000 | [diff] [blame] | 40 | layout(binding = 0, std430) buffer prevent_dce_block_ssbo { |
| 41 | f16vec3 inner; |
| 42 | } prevent_dce; |
| 43 | |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 44 | struct VertexOutput { |
| 45 | vec4 pos; |
| 46 | f16vec3 prevent_dce; |
| 47 | }; |
Zhaoming Jiang | 9443ceb | 2022-08-05 15:15:17 +0000 | [diff] [blame] | 48 | |
| 49 | void compute_main() { |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 50 | prevent_dce.inner = ldexp_7485ce(); |
Zhaoming Jiang | 9443ceb | 2022-08-05 15:15:17 +0000 | [diff] [blame] | 51 | } |
| 52 | |
| 53 | layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; |
| 54 | void main() { |
| 55 | compute_main(); |
| 56 | return; |
| 57 | } |
Natalie Chouinard | e902718 | 2024-06-13 18:50:19 +0000 | [diff] [blame] | 58 | #version 310 es |
| 59 | #extension GL_AMD_gpu_shader_half_float : require |
| 60 | |
| 61 | layout(location = 0) flat out f16vec3 prevent_dce_1; |
| 62 | f16vec3 ldexp_7485ce() { |
| 63 | f16vec3 arg_0 = f16vec3(1.0hf); |
| 64 | ivec3 arg_1 = ivec3(1); |
| 65 | f16vec3 res = ldexp(arg_0, arg_1); |
| 66 | return res; |
| 67 | } |
| 68 | |
| 69 | struct VertexOutput { |
| 70 | vec4 pos; |
| 71 | f16vec3 prevent_dce; |
| 72 | }; |
| 73 | |
| 74 | VertexOutput vertex_main() { |
| 75 | VertexOutput tint_symbol = VertexOutput(vec4(0.0f, 0.0f, 0.0f, 0.0f), f16vec3(0.0hf, 0.0hf, 0.0hf)); |
| 76 | tint_symbol.pos = vec4(0.0f); |
| 77 | tint_symbol.prevent_dce = ldexp_7485ce(); |
| 78 | return tint_symbol; |
| 79 | } |
| 80 | |
| 81 | void main() { |
| 82 | gl_PointSize = 1.0; |
| 83 | VertexOutput inner_result = vertex_main(); |
| 84 | gl_Position = inner_result.pos; |
| 85 | prevent_dce_1 = inner_result.prevent_dce; |
| 86 | gl_Position.y = -(gl_Position.y); |
| 87 | gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); |
| 88 | return; |
| 89 | } |