return 1;
}
break;
+ case GLSL_TYPE_UINT64:
+ case GLSL_TYPE_INT64:
+ if (type->vector_elements > 2)
+ return 2;
+ else
+ return 1;
case GLSL_TYPE_ARRAY:
assert(type->length > 0);
return type_size(type->fields.array) * type->length;
case ir_unop_vote_any:
case ir_unop_vote_all:
case ir_unop_vote_eq:
+ case ir_unop_bitcast_u642d:
+ case ir_unop_bitcast_i642d:
+ case ir_unop_bitcast_d2u64:
+ case ir_unop_bitcast_d2i64:
+ case ir_unop_i642i:
+ case ir_unop_u642i:
+ case ir_unop_i642u:
+ case ir_unop_u642u:
+ case ir_unop_i642b:
+ case ir_unop_i642f:
+ case ir_unop_u642f:
+ case ir_unop_i642d:
+ case ir_unop_u642d:
+ case ir_unop_i2i64:
+ case ir_unop_u2i64:
+ case ir_unop_b2i64:
+ case ir_unop_f2i64:
+ case ir_unop_d2i64:
+ case ir_unop_i2u64:
+ case ir_unop_u2u64:
+ case ir_unop_f2u64:
+ case ir_unop_d2u64:
+ case ir_unop_u642i64:
+ case ir_unop_i642u64:
+ case ir_unop_pack_int_2x32:
+ case ir_unop_unpack_int_2x32:
+ case ir_unop_pack_uint_2x32:
+ case ir_unop_unpack_uint_2x32:
assert(!"not supported");
break;
unsigned columns = 0;
int dmul = 4 * sizeof(float);
switch (storage->type->base_type) {
+ case GLSL_TYPE_UINT64:
+ if (storage->type->vector_elements > 2)
+ dmul *= 2;
+ /* fallthrough */
case GLSL_TYPE_UINT:
assert(ctx->Const.NativeIntegers);
format = uniform_native;
columns = 1;
break;
+ case GLSL_TYPE_INT64:
+ if (storage->type->vector_elements > 2)
+ dmul *= 2;
+ /* fallthrough */
case GLSL_TYPE_INT:
format =
(ctx->Const.NativeIntegers) ? uniform_native : uniform_int_float;
do_set_program_inouts(shader->ir, prog, shader->Stage);
- prog->SamplersUsed = shader->active_samplers;
prog->ShadowSamplers = shader->shadow_samplers;
- prog->ExternalSamplersUsed = gl_external_samplers(shader);
+ prog->ExternalSamplersUsed = gl_external_samplers(prog);
_mesa_update_shader_textures_used(shader_program, prog);
/* Set the gl_FragDepth layout. */