From 037ffd377f4c32ea62fa7cc8c50ab6dd929b1c5a Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Sat, 3 May 2008 20:08:46 -0400 Subject: [PATCH] Fixed relative addressing in GLSL profile. It was using wrong variable name ("a0" instead of "vs_a0"). --HG-- branch : trunk --- mojoshader.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/mojoshader.c b/mojoshader.c index 484ec853..b11d23b9 100644 --- a/mojoshader.c +++ b/mojoshader.c @@ -1836,7 +1836,6 @@ static char *make_GLSL_srcarg_string(Context *ctx, const int idx, const char *rel_lbracket = ""; const char *rel_rbracket = ""; char rel_swizzle[4] = { '\0' }; - char rel_regnum_str[16] = { '\0' }; const char *rel_regtype_str = ""; if (arg->relative) { @@ -1845,10 +1844,8 @@ static char *make_GLSL_srcarg_string(Context *ctx, const int idx, rel_swizzle[2] = '\0'; rel_lbracket = "["; rel_rbracket = "]"; - rel_regtype_str = get_GLSL_register_string(ctx, arg->relative_regtype, - arg->relative_regnum, - rel_regnum_str, - sizeof (rel_regnum_str)); + rel_regtype_str = get_GLSL_varname(ctx, arg->relative_regtype, + arg->relative_regnum); if (regtype_str == NULL) { @@ -1873,9 +1870,9 @@ static char *make_GLSL_srcarg_string(Context *ctx, const int idx, const char *shader_type_str = get_shader_type_string(ctx); char *retval = get_scratch_buffer(ctx); - snprintf(retval, SCRATCH_BUFFER_SIZE, "%s%s_%s%s%s%s%s%s%s%s%s", + snprintf(retval, SCRATCH_BUFFER_SIZE, "%s%s_%s%s%s%s%s%s%s%s", premod_str, shader_type_str, regtype_str, regnum_str, - rel_lbracket, rel_regtype_str, rel_regnum_str, rel_swizzle, + rel_lbracket, rel_regtype_str, rel_swizzle, rel_rbracket, swiz_str, postmod_str); // !!! FIXME: make sure the scratch buffer was large enough. return retval;