Rex Xu | eaf31ab | 2019-01-21 16:50:17 +0800 | [diff] [blame] | 1 | #version 450 core
|
| 2 |
|
| 3 | #extension GL_AMD_gpu_shader_half_float: enable
|
| 4 | #extension GL_AMD_gpu_shader_int16: enable
|
| 5 |
|
| 6 | layout(location = 0) in f16vec4 if16v4;
|
| 7 | layout(location = 1) in i16vec4 ii16v4;
|
| 8 | layout(location = 2) in u16vec4 iu16v4;
|
| 9 |
|
| 10 | layout(location = 0, xfb_buffer = 0, xfb_stride = 6, xfb_offset = 0) out f16vec3 of16v3;
|
| 11 | layout(location = 1, xfb_buffer = 1, xfb_stride = 6, xfb_offset = 0) out F16Out
|
| 12 | {
|
| 13 | float16_t of16;
|
| 14 | f16vec2 of16v2;
|
| 15 | };
|
| 16 |
|
| 17 | layout(location = 5, xfb_buffer = 2, xfb_stride = 6, xfb_offset = 0) out i16vec3 oi16v3;
|
| 18 | layout(location = 6, xfb_buffer = 3, xfb_stride = 6, xfb_offset = 0) out I16Out
|
| 19 | {
|
| 20 | uint16_t ou16;
|
| 21 | u16vec2 ou16v2;
|
| 22 | };
|
| 23 |
|
| 24 | void main()
|
| 25 | {
|
| 26 | of16v3 = if16v4.xyz;
|
| 27 | of16 = if16v4.x;
|
| 28 | of16v2 = if16v4.xy;
|
| 29 |
|
| 30 | oi16v3 = ii16v4.xyz;
|
| 31 | ou16 = iu16v4.x;
|
| 32 | ou16v2 = iu16v4.xy;
|
| 33 | } |