glsl/tests: Add UINT64 and INT64 types
authorRhys Kidd <rhyskidd@gmail.com>
Sat, 11 Feb 2017 22:31:09 +0000 (17:31 -0500)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 21 Feb 2017 18:03:14 +0000 (18:03 +0000)
glsl/tests/uniform_initializer_utils.cpp:83:14: warning: enumeration value ‘GLSL_TYPE_UINT64’ not handled in switch [-Wswitch]
       switch (type->base_type) {
              ^
glsl/tests/uniform_initializer_utils.cpp:83:14: warning: enumeration value ‘GLSL_TYPE_INT64’ not handled in switch [-Wswitch]

Fixes: 8ce53d4a2f3 ("glsl: Add basic ARB_gpu_shader_int64 types")
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Elie Tournier <tournier.elie@gmail.com>
src/compiler/glsl/tests/uniform_initializer_utils.cpp

index ec64be18cb36ddabffa5ee96a0fd76d1272c4729..2a1a16839b889cfa2fabf000eea2743974821408 100644 (file)
@@ -96,6 +96,12 @@ generate_data_element(void *mem_ctx, const glsl_type *type,
       case GLSL_TYPE_DOUBLE:
         data.d[i] = double(values[idx]);
         break;
+      case GLSL_TYPE_UINT64:
+        data.u64[i] = (uint64_t) values[idx];
+        break;
+      case GLSL_TYPE_INT64:
+        data.i64[i] = (int64_t) values[idx];
+        break;
       case GLSL_TYPE_ATOMIC_UINT:
       case GLSL_TYPE_STRUCT:
       case GLSL_TYPE_ARRAY:
@@ -130,6 +136,12 @@ generate_data_element(void *mem_ctx, const glsl_type *type,
       case GLSL_TYPE_DOUBLE:
         ASSERT_EQ(data.d[i], val->value.d[i]);
         break;
+      case GLSL_TYPE_UINT64:
+        ASSERT_EQ(data.u64[i], val->value.u64[i]);
+        break;
+      case GLSL_TYPE_INT64:
+        ASSERT_EQ(data.i64[i], val->value.i64[i]);
+        break;
       case GLSL_TYPE_ATOMIC_UINT:
       case GLSL_TYPE_STRUCT:
       case GLSL_TYPE_ARRAY:
@@ -236,6 +248,12 @@ verify_data(gl_constant_value *storage, unsigned storage_array_size,
         case GLSL_TYPE_DOUBLE:
            EXPECT_EQ(val->value.d[i], *(double *)&storage[i*2].i);
            break;
+        case GLSL_TYPE_UINT64:
+           EXPECT_EQ(val->value.u64[i], *(uint64_t *)&storage[i*2].i);
+           break;
+        case GLSL_TYPE_INT64:
+           EXPECT_EQ(val->value.i64[i], *(int64_t *)&storage[i*2].i);
+           break;
          case GLSL_TYPE_ATOMIC_UINT:
         case GLSL_TYPE_STRUCT:
         case GLSL_TYPE_ARRAY: