]> 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 64daa9ff01a58f60a92b2ca54669f1f9ac026b73..ac934eae1209c5f9fa2689a3a8b95e3961011d51 100644 (file)
@@ -64,8 +64,11 @@ 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,
@@ -159,6 +162,7 @@ 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,
@@ -228,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,