| 1 | /* | 
| 2 | ** Copyright (c) 2014-2016 The Khronos Group Inc. | 
| 3 | ** | 
| 4 | ** Permission is hereby granted, free of charge, to any person obtaining a copy | 
| 5 | ** of this software and/or associated documentation files (the "Materials"), | 
| 6 | ** to deal in the Materials without restriction, including without limitation | 
| 7 | ** the rights to use, copy, modify, merge, publish, distribute, sublicense, | 
| 8 | ** and/or sell copies of the Materials, and to permit persons to whom the | 
| 9 | ** Materials are furnished to do so, subject to the following conditions: | 
| 10 | ** | 
| 11 | ** The above copyright notice and this permission notice shall be included in | 
| 12 | ** all copies or substantial portions of the Materials. | 
| 13 | ** | 
| 14 | ** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS | 
| 15 | ** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND | 
| 16 | ** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ | 
| 17 | ** | 
| 18 | ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | 
| 19 | ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 
| 20 | ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | 
| 21 | ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 
| 22 | ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 
| 23 | ** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS | 
| 24 | ** IN THE MATERIALS. | 
| 25 | */ | 
| 26 |  | 
| 27 | #ifndef GLSLextAMD_H | 
| 28 | #define GLSLextAMD_H | 
| 29 |  | 
| 30 | static const int GLSLextAMDVersion = 100; | 
| 31 | static const int GLSLextAMDRevision = 7; | 
| 32 |  | 
| 33 | // SPV_AMD_shader_ballot | 
| 34 | static const char* const E_SPV_AMD_shader_ballot = "SPV_AMD_shader_ballot" ; | 
| 35 |  | 
| 36 | enum ShaderBallotAMD { | 
| 37 |     ShaderBallotBadAMD = 0, // Don't use | 
| 38 |  | 
| 39 |     SwizzleInvocationsAMD = 1, | 
| 40 |     SwizzleInvocationsMaskedAMD = 2, | 
| 41 |     WriteInvocationAMD = 3, | 
| 42 |     MbcntAMD = 4, | 
| 43 |  | 
| 44 |     ShaderBallotCountAMD | 
| 45 | }; | 
| 46 |  | 
| 47 | // SPV_AMD_shader_trinary_minmax | 
| 48 | static const char* const E_SPV_AMD_shader_trinary_minmax = "SPV_AMD_shader_trinary_minmax" ; | 
| 49 |  | 
| 50 | enum ShaderTrinaryMinMaxAMD { | 
| 51 |     ShaderTrinaryMinMaxBadAMD = 0, // Don't use | 
| 52 |  | 
| 53 |     FMin3AMD = 1, | 
| 54 |     UMin3AMD = 2, | 
| 55 |     SMin3AMD = 3, | 
| 56 |     FMax3AMD = 4, | 
| 57 |     UMax3AMD = 5, | 
| 58 |     SMax3AMD = 6, | 
| 59 |     FMid3AMD = 7, | 
| 60 |     UMid3AMD = 8, | 
| 61 |     SMid3AMD = 9, | 
| 62 |  | 
| 63 |     ShaderTrinaryMinMaxCountAMD | 
| 64 | }; | 
| 65 |  | 
| 66 | // SPV_AMD_shader_explicit_vertex_parameter | 
| 67 | static const char* const E_SPV_AMD_shader_explicit_vertex_parameter = "SPV_AMD_shader_explicit_vertex_parameter" ; | 
| 68 |  | 
| 69 | enum ShaderExplicitVertexParameterAMD { | 
| 70 |     ShaderExplicitVertexParameterBadAMD = 0, // Don't use | 
| 71 |  | 
| 72 |     InterpolateAtVertexAMD = 1, | 
| 73 |  | 
| 74 |     ShaderExplicitVertexParameterCountAMD | 
| 75 | }; | 
| 76 |  | 
| 77 | // SPV_AMD_gcn_shader | 
| 78 | static const char* const E_SPV_AMD_gcn_shader = "SPV_AMD_gcn_shader" ; | 
| 79 |  | 
| 80 | enum GcnShaderAMD { | 
| 81 |     GcnShaderBadAMD = 0, // Don't use | 
| 82 |  | 
| 83 |     CubeFaceIndexAMD = 1, | 
| 84 |     CubeFaceCoordAMD = 2, | 
| 85 |     TimeAMD = 3, | 
| 86 |  | 
| 87 |     GcnShaderCountAMD | 
| 88 | }; | 
| 89 |  | 
| 90 | // SPV_AMD_gpu_shader_half_float | 
| 91 | static const char* const E_SPV_AMD_gpu_shader_half_float = "SPV_AMD_gpu_shader_half_float" ; | 
| 92 |  | 
| 93 | // SPV_AMD_texture_gather_bias_lod | 
| 94 | static const char* const E_SPV_AMD_texture_gather_bias_lod = "SPV_AMD_texture_gather_bias_lod" ; | 
| 95 |  | 
| 96 | // SPV_AMD_gpu_shader_int16 | 
| 97 | static const char* const E_SPV_AMD_gpu_shader_int16 = "SPV_AMD_gpu_shader_int16" ; | 
| 98 |  | 
| 99 | // SPV_AMD_shader_image_load_store_lod | 
| 100 | static const char* const E_SPV_AMD_shader_image_load_store_lod = "SPV_AMD_shader_image_load_store_lod" ; | 
| 101 |  | 
| 102 | // SPV_AMD_shader_fragment_mask | 
| 103 | static const char* const E_SPV_AMD_shader_fragment_mask = "SPV_AMD_shader_fragment_mask" ; | 
| 104 |  | 
| 105 | // SPV_AMD_gpu_shader_half_float_fetch | 
| 106 | static const char* const E_SPV_AMD_gpu_shader_half_float_fetch = "SPV_AMD_gpu_shader_half_float_fetch" ; | 
| 107 |  | 
| 108 | #endif  // #ifndef GLSLextAMD_H | 
| 109 |  |