From 6637cfc556825436a998f12231dd0974a8bf4677 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Thu, 10 Feb 2011 18:37:29 -0500 Subject: [PATCH] More work on overloaded intrinsic functions. I really dislike this whole piece of code. Would really like to not flood the symbol table with thousands of overloads like this. --- mojoshader_compiler.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/mojoshader_compiler.c b/mojoshader_compiler.c index 63f1bae9..fbf00324 100644 --- a/mojoshader_compiler.c +++ b/mojoshader_compiler.c @@ -3614,8 +3614,7 @@ static void add_intrinsic_SAME1_Vf_SAME1_SAME1(Context *ctx, const char *fn) static void add_intrinsic_SAME1_Vf_SAME1_f(Context *ctx, const char *fn) { - const MOJOSHADER_astDataType *f = &ctx->dt_float; - ADD_INTRINSIC_VECTOR_FLOAT(add_intrinsic3(ctx, fn, dt, dt, dt, f)); + ADD_INTRINSIC_VECTOR_FLOAT(add_intrinsic3(ctx, fn, dt, dt, dt, dt->vector.base)); } // add_intrinsic_SAME1_Vf_SAME1_f static void add_intrinsic_VOID_ANYf(Context *ctx, const char *fn) @@ -3638,19 +3637,18 @@ static void add_intrinsic_f_SQUAREMATRIXf(Context *ctx, const char *fn) static void add_intrinsic_f_Vf(Context *ctx, const char *fn) { - ADD_INTRINSIC_VECTOR_FLOAT(add_intrinsic1(ctx, fn, &ctx->dt_float, dt)); + ADD_INTRINSIC_VECTOR_FLOAT(add_intrinsic1(ctx, fn, dt->vector.base, dt)); } // add_intrinsic_f_Vf static void add_intrinsic_fi_Vfi_SAME1(Context *ctx, const char *fn) { - ADD_INTRINSIC_VECTOR_INT(add_intrinsic2(ctx, fn, &ctx->dt_int, dt, dt)); - ADD_INTRINSIC_VECTOR_FLOAT(add_intrinsic2(ctx, fn, &ctx->dt_float, dt, dt)); + ADD_INTRINSIC_VECTOR_INT(add_intrinsic2(ctx, fn, dt->vector.base, dt, dt)); + ADD_INTRINSIC_VECTOR_FLOAT(add_intrinsic2(ctx, fn, dt->vector.base, dt, dt)); } // add_intrinsic_fi_Vfi_SAME1 static void add_intrinsic_f_Vf_SAME1(Context *ctx, const char *fn) { - const MOJOSHADER_astDataType *f = &ctx->dt_float; - ADD_INTRINSIC_VECTOR_FLOAT(add_intrinsic2(ctx, fn, f, dt, dt)); + ADD_INTRINSIC_VECTOR_FLOAT(add_intrinsic2(ctx, fn, dt->vector.base, dt, dt)); } // add_intrinsic_f_Vf_SAME1 static void add_intrinsic_3f_3f_3f(Context *ctx, const char *fn)