Home | History | Annotate | Download | only in SPIRV
      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 enum BuiltIn;
     31 enum Capability;
     32 enum Decoration;
     33 enum Op;
     34 
     35 static const int GLSLextAMDVersion = 100;
     36 static const int GLSLextAMDRevision = 5;
     37 
     38 // SPV_AMD_shader_ballot
     39 static const char* const E_SPV_AMD_shader_ballot = "SPV_AMD_shader_ballot";
     40 
     41 enum ShaderBallotAMD {
     42     ShaderBallotBadAMD = 0, // Don't use
     43 
     44     SwizzleInvocationsAMD = 1,
     45     SwizzleInvocationsMaskedAMD = 2,
     46     WriteInvocationAMD = 3,
     47     MbcntAMD = 4,
     48 
     49     ShaderBallotCountAMD
     50 };
     51 
     52 // SPV_AMD_shader_trinary_minmax
     53 static const char* const E_SPV_AMD_shader_trinary_minmax = "SPV_AMD_shader_trinary_minmax";
     54 
     55 enum ShaderTrinaryMinMaxAMD {
     56     ShaderTrinaryMinMaxBadAMD = 0, // Don't use
     57 
     58     FMin3AMD = 1,
     59     UMin3AMD = 2,
     60     SMin3AMD = 3,
     61     FMax3AMD = 4,
     62     UMax3AMD = 5,
     63     SMax3AMD = 6,
     64     FMid3AMD = 7,
     65     UMid3AMD = 8,
     66     SMid3AMD = 9,
     67 
     68     ShaderTrinaryMinMaxCountAMD
     69 };
     70 
     71 // SPV_AMD_shader_explicit_vertex_parameter
     72 static const char* const E_SPV_AMD_shader_explicit_vertex_parameter = "SPV_AMD_shader_explicit_vertex_parameter";
     73 
     74 enum ShaderExplicitVertexParameterAMD {
     75     ShaderExplicitVertexParameterBadAMD = 0, // Don't use
     76 
     77     InterpolateAtVertexAMD = 1,
     78 
     79     ShaderExplicitVertexParameterCountAMD
     80 };
     81 
     82 // SPV_AMD_gcn_shader
     83 static const char* const E_SPV_AMD_gcn_shader = "SPV_AMD_gcn_shader";
     84 
     85 enum GcnShaderAMD {
     86     GcnShaderBadAMD = 0, // Don't use
     87 
     88     CubeFaceIndexAMD = 1,
     89     CubeFaceCoordAMD = 2,
     90     TimeAMD = 3,
     91 
     92     GcnShaderCountAMD
     93 };
     94 
     95 // SPV_AMD_gpu_shader_half_float
     96 static const char* const E_SPV_AMD_gpu_shader_half_float = "SPV_AMD_gpu_shader_half_float";
     97 
     98 // SPV_AMD_texture_gather_bias_lod
     99 static const char* const E_SPV_AMD_texture_gather_bias_lod = "SPV_AMD_texture_gather_bias_lod";
    100 
    101 // SPV_AMD_gpu_shader_int16
    102 static const char* const E_SPV_AMD_gpu_shader_int16 = "SPV_AMD_gpu_shader_int16";
    103 
    104 // SPV_AMD_shader_image_load_store_lod
    105 static const char* const E_SPV_AMD_shader_image_load_store_lod = "SPV_AMD_shader_image_load_store_lod";
    106 
    107 static const Capability CapabilityImageReadWriteLodAMD = static_cast<Capability>(5015);
    108 
    109 #endif  // #ifndef GLSLextAMD_H
    110