]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/spirvconstants.h
Add support for storage images in shaders
[libs/gl.git] / source / glsl / spirvconstants.h
index 3f780b1b247f706e0a833cc87e2e1555b4ad0844..ac934eae1209c5f9fa2689a3a8b95e3961011d51 100644 (file)
@@ -64,7 +64,14 @@ enum SpirVOpcode
        OP_IMAGE_SAMPLE_DREF_IMPLICIT_LOD = 89,
        OP_IMAGE_SAMPLE_DREF_EXPLICIT_LOD = 89,
        OP_IMAGE_FETCH = 95,
+       OP_IMAGE_READ = 98,
+       OP_IMAGE_WRITE = 99,
+       OP_IMAGE = 100,
        OP_IMAGE_QUERY_SIZE_LOD = 103,
+       OP_IMAGE_QUERY_SIZE = 104,
+       OP_IMAGE_QUERY_LOD = 105,
+       OP_IMAGE_QUERY_LEVELS = 106,
+       OP_IMAGE_QUERY_SAMPLES = 107,
        OP_CONVERT_F_TO_U = 109,
        OP_CONVERT_F_TO_S = 110,
        OP_CONVERT_S_TO_F = 111,
@@ -155,15 +162,20 @@ enum SpirVCapability
 {
        CAP_SHADER = 1,
        CAP_GEOMETRY = 2,
+       CAP_STORAGE_IMAGE_MULTISAMPLE = 27,
        CAP_IMAGE_CUBE_ARRAY = 34,
        CAP_SAMPLED_1D = 43,
        CAP_IMAGE_1D = 44,
        CAP_SAMPLED_CUBE_ARRAY = 45,
+       CAP_IMAGE_QUERY = 50,
+       CAP_DERIVATIVE_CONTROL = 51,
        CAP_INTERPOLATION_FUNCTION = 52
 };
 
 enum SpirVExecutionMode
 {
+       EXEC_INVOCATIONS = 0,
+       EXEC_ORIGIN_UPPER_LEFT = 7,
        EXEC_ORIGIN_LOWER_LEFT = 8,
        EXEC_INPUT_POINTS = 19,
        EXEC_INPUT_LINES = 20,
@@ -183,7 +195,8 @@ enum SpirVStorageClass
        STORAGE_UNIFORM = 2,
        STORAGE_OUTPUT = 3,
        STORAGE_PRIVATE = 6,
-       STORAGE_FUNCTION = 7
+       STORAGE_FUNCTION = 7,
+       STORAGE_PUSH_CONSTANT = 9
 };
 
 enum SpirVDecoration
@@ -219,6 +232,29 @@ enum SpirVBuiltin
        BUILTIN_FRAG_DEPTH = 22
 };
 
+enum SpirVFormat
+{
+       FORMAT_UNKNOWN = 0,
+       FORMAT_RGBA32F = 1,
+       FORMAT_RGBA16F = 2,
+       FORMAT_R32F = 3,
+       FORMAT_RGBA8 = 4,
+       FORMAT_RGBA8_SNORM = 5,
+       FORMAT_RG32F = 6,
+       FORMAT_RG16F = 7,
+       FORMAT_R16F = 9,
+       FORMAT_RGBA16 = 10,
+       FORMAT_RG16 = 12,
+       FORMAT_RG8 = 13,
+       FORMAT_R16 = 14,
+       FORMAT_R8 = 15,
+       FORMAT_RGBA16_SNORM = 16,
+       FORMAT_RG16_SNORM = 17,
+       FORMAT_RG8_SNORM = 18,
+       FORMAT_R16_SNORM = 19,
+       FORMAT_R8_SNORM = 20
+};
+
 enum SpirVGlslStd450Opcode
 {
        GLSL450_ROUND = 1,
@@ -254,7 +290,7 @@ enum SpirVGlslStd450Opcode
        GLSL450_SQRT = 31,
        GLSL450_INVERSE_SQRT = 32,
        GLSL450_DETERMINANT = 33,
-       GLSL450_MATRIX_INVERSE = 33,
+       GLSL450_MATRIX_INVERSE = 34,
        GLSL450_F_MIN = 37,
        GLSL450_U_MIN = 38,
        GLSL450_S_MIN = 39,