101e04c3fSmrg/* 201e04c3fSmrg** Copyright (c) 2014-2016 The Khronos Group Inc. 301e04c3fSmrg** 401e04c3fSmrg** Permission is hereby granted, free of charge, to any person obtaining a copy 501e04c3fSmrg** of this software and/or associated documentation files (the "Materials"), 601e04c3fSmrg** to deal in the Materials without restriction, including without limitation 701e04c3fSmrg** the rights to use, copy, modify, merge, publish, distribute, sublicense, 801e04c3fSmrg** and/or sell copies of the Materials, and to permit persons to whom the 901e04c3fSmrg** Materials are furnished to do so, subject to the following conditions: 1001e04c3fSmrg** 1101e04c3fSmrg** The above copyright notice and this permission notice shall be included in 1201e04c3fSmrg** all copies or substantial portions of the Materials. 1301e04c3fSmrg** 1401e04c3fSmrg** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS 1501e04c3fSmrg** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND 1601e04c3fSmrg** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 1701e04c3fSmrg** 1801e04c3fSmrg** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 1901e04c3fSmrg** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 2001e04c3fSmrg** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 2101e04c3fSmrg** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 2201e04c3fSmrg** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 2301e04c3fSmrg** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS 2401e04c3fSmrg** IN THE MATERIALS. 2501e04c3fSmrg*/ 2601e04c3fSmrg 2701e04c3fSmrg#ifndef GLSLextAMD_H 2801e04c3fSmrg#define GLSLextAMD_H 2901e04c3fSmrg 3001e04c3fSmrgenum BuiltIn; 3101e04c3fSmrgenum Capability; 3201e04c3fSmrgenum Decoration; 3301e04c3fSmrgenum Op; 3401e04c3fSmrg 3501e04c3fSmrgstatic const int GLSLextAMDVersion = 100; 3601e04c3fSmrgstatic const int GLSLextAMDRevision = 6; 3701e04c3fSmrg 3801e04c3fSmrg// SPV_AMD_shader_ballot 3901e04c3fSmrgstatic const char* const E_SPV_AMD_shader_ballot = "SPV_AMD_shader_ballot"; 4001e04c3fSmrg 4101e04c3fSmrgenum ShaderBallotAMD { 4201e04c3fSmrg ShaderBallotBadAMD = 0, // Don't use 4301e04c3fSmrg 4401e04c3fSmrg SwizzleInvocationsAMD = 1, 4501e04c3fSmrg SwizzleInvocationsMaskedAMD = 2, 4601e04c3fSmrg WriteInvocationAMD = 3, 4701e04c3fSmrg MbcntAMD = 4, 4801e04c3fSmrg 4901e04c3fSmrg ShaderBallotCountAMD 5001e04c3fSmrg}; 5101e04c3fSmrg 5201e04c3fSmrg// SPV_AMD_shader_trinary_minmax 5301e04c3fSmrgstatic const char* const E_SPV_AMD_shader_trinary_minmax = "SPV_AMD_shader_trinary_minmax"; 5401e04c3fSmrg 5501e04c3fSmrgenum ShaderTrinaryMinMaxAMD { 5601e04c3fSmrg ShaderTrinaryMinMaxBadAMD = 0, // Don't use 5701e04c3fSmrg 5801e04c3fSmrg FMin3AMD = 1, 5901e04c3fSmrg UMin3AMD = 2, 6001e04c3fSmrg SMin3AMD = 3, 6101e04c3fSmrg FMax3AMD = 4, 6201e04c3fSmrg UMax3AMD = 5, 6301e04c3fSmrg SMax3AMD = 6, 6401e04c3fSmrg FMid3AMD = 7, 6501e04c3fSmrg UMid3AMD = 8, 6601e04c3fSmrg SMid3AMD = 9, 6701e04c3fSmrg 6801e04c3fSmrg ShaderTrinaryMinMaxCountAMD 6901e04c3fSmrg}; 7001e04c3fSmrg 7101e04c3fSmrg// SPV_AMD_shader_explicit_vertex_parameter 7201e04c3fSmrgstatic const char* const E_SPV_AMD_shader_explicit_vertex_parameter = "SPV_AMD_shader_explicit_vertex_parameter"; 7301e04c3fSmrg 7401e04c3fSmrgenum ShaderExplicitVertexParameterAMD { 7501e04c3fSmrg ShaderExplicitVertexParameterBadAMD = 0, // Don't use 7601e04c3fSmrg 7701e04c3fSmrg InterpolateAtVertexAMD = 1, 7801e04c3fSmrg 7901e04c3fSmrg ShaderExplicitVertexParameterCountAMD 8001e04c3fSmrg}; 8101e04c3fSmrg 8201e04c3fSmrg// SPV_AMD_gcn_shader 8301e04c3fSmrgstatic const char* const E_SPV_AMD_gcn_shader = "SPV_AMD_gcn_shader"; 8401e04c3fSmrg 8501e04c3fSmrgenum GcnShaderAMD { 8601e04c3fSmrg GcnShaderBadAMD = 0, // Don't use 8701e04c3fSmrg 8801e04c3fSmrg CubeFaceIndexAMD = 1, 8901e04c3fSmrg CubeFaceCoordAMD = 2, 9001e04c3fSmrg TimeAMD = 3, 9101e04c3fSmrg 9201e04c3fSmrg GcnShaderCountAMD 9301e04c3fSmrg}; 9401e04c3fSmrg 9501e04c3fSmrg// SPV_AMD_gpu_shader_half_float 9601e04c3fSmrgstatic const char* const E_SPV_AMD_gpu_shader_half_float = "SPV_AMD_gpu_shader_half_float"; 9701e04c3fSmrg 9801e04c3fSmrg// SPV_AMD_texture_gather_bias_lod 9901e04c3fSmrgstatic const char* const E_SPV_AMD_texture_gather_bias_lod = "SPV_AMD_texture_gather_bias_lod"; 10001e04c3fSmrg 10101e04c3fSmrg// SPV_AMD_gpu_shader_int16 10201e04c3fSmrgstatic const char* const E_SPV_AMD_gpu_shader_int16 = "SPV_AMD_gpu_shader_int16"; 10301e04c3fSmrg 10401e04c3fSmrg// SPV_AMD_shader_image_load_store_lod 10501e04c3fSmrgstatic const char* const E_SPV_AMD_shader_image_load_store_lod = "SPV_AMD_shader_image_load_store_lod"; 10601e04c3fSmrg 10701e04c3fSmrg// SPV_AMD_shader_fragment_mask 10801e04c3fSmrgstatic const char* const E_SPV_AMD_shader_fragment_mask = "SPV_AMD_shader_fragment_mask"; 10901e04c3fSmrg 11001e04c3fSmrg#endif // #ifndef GLSLextAMD_H 111