glsl/standalone: Enable ARB_gpu_shader_int64
authorIan Romanick <ian.d.romanick@intel.com>
Thu, 15 Sep 2016 18:21:28 +0000 (11:21 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 20 Jan 2017 23:41:23 +0000 (15:41 -0800)
v2: Add missing break in GLSL_TYPE_INT64 case.  Notice by Matt.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/compiler/glsl/ir_builder_print_visitor.cpp
src/compiler/glsl/standalone_scaffolding.cpp

index 91a73c9efbcce9fc2ef812bbf3030725f25f0ef6..2638e7d42226ae8c9c50198926230491219f1ffa 100644 (file)
@@ -396,13 +396,24 @@ ir_builder_print_visitor::visit(ir_constant *ir)
 
             memcpy(&v, &ir->value.d[i], sizeof(v));
             if (v != 0)
-               /* FIXME: This won't actually work until ARB_gpu_shader_int64
-                * support lands.
-                */
                print_without_indent("r%04X_data.u64[%u] = 0x%016" PRIx64 "; /* %g */\n",
                                     my_index, i, v, ir->value.d[i]);
             break;
          }
+         case GLSL_TYPE_UINT64:
+            if (ir->value.u64[i] != 0)
+               print_without_indent("r%04X_data.u64[%u] = %" PRIu64 ";\n",
+                                    my_index,
+                                    i,
+                                    ir->value.u64[i]);
+            break;
+         case GLSL_TYPE_INT64:
+            if (ir->value.i64[i] != 0)
+               print_without_indent("r%04X_data.i64[%u] = %" PRId64 ";\n",
+                                    my_index,
+                                    i,
+                                    ir->value.i64[i]);
+            break;
          case GLSL_TYPE_BOOL:
             if (ir->value.u[i] != 0)
                print_without_indent("r%04X_data.u[%u] = 1;\n", my_index, i);
index 546ba722ed3803ee3eda6a106e0425af8f5f8cb1..5f1b2d0c3121462c78ac5005e0992b2ea61d3a94 100644 (file)
@@ -178,6 +178,7 @@ void initialize_context_to_defaults(struct gl_context *ctx, gl_api api)
    ctx->Extensions.ARB_fragment_layer_viewport = true;
    ctx->Extensions.ARB_gpu_shader5 = true;
    ctx->Extensions.ARB_gpu_shader_fp64 = true;
+   ctx->Extensions.ARB_gpu_shader_int64 = true;
    ctx->Extensions.ARB_sample_shading = true;
    ctx->Extensions.ARB_shader_bit_encoding = true;
    ctx->Extensions.ARB_shader_draw_parameters = true;