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