Stefan Dösinger : wined3d: Get rid of the strcat in shader_arb_add_dst_param and make it shader_arb_get_dst_param .
Alexandre Julliard
julliard at winehq.org
Mon May 11 09:10:47 CDT 2009
Module: wine
Branch: master
Commit: 7a1f9c84f19d9b6c928f44aefcedd71efe847ba9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7a1f9c84f19d9b6c928f44aefcedd71efe847ba9
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Thu May 7 18:18:34 2009 +0200
wined3d: Get rid of the strcat in shader_arb_add_dst_param and make it shader_arb_get_dst_param.
---
dlls/wined3d/arb_program_shader.c | 19 ++++++++++---------
1 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 44ee5f8..67987ba 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -567,18 +567,16 @@ static void shader_arb_get_register_name(IWineD3DBaseShader *iface, WINED3DSHADE
}
}
-static void shader_arb_add_dst_param(const struct wined3d_shader_instruction *ins,
+static void shader_arb_get_dst_param(const struct wined3d_shader_instruction *ins,
const struct wined3d_shader_dst_param *wined3d_dst, char *str)
{
char register_name[255];
char write_mask[6];
BOOL is_color;
- strcat(str, " ");
-
shader_arb_get_register_name(ins->ctx->shader, wined3d_dst->reg.type,
wined3d_dst->reg.idx, !!wined3d_dst->reg.rel_addr, register_name, &is_color);
- strcat(str, register_name);
+ strcpy(str, register_name);
shader_arb_get_write_mask(ins, wined3d_dst, write_mask);
strcat(str, write_mask);
@@ -1011,15 +1009,15 @@ static void shader_hw_map2gl(const struct wined3d_shader_instruction *ins)
}
shader_addline(buffer, "%s%s %s;\n", instruction, modifier, arguments);
} else {
- /* Note that shader_arb_add_dst_param() adds spaces. */
-
arguments[0] = '\0';
if (ins->dst_count)
{
- shader_arb_add_dst_param(ins, &ins->dst[0], arguments);
+ char operand[100];
+ shader_arb_get_dst_param(ins, &ins->dst[0], operand);
+ strcat(arguments, " ");
+ strcat(arguments, operand);
for (i = 0; i < ins->src_count; ++i)
{
- char operand[100];
strcat(arguments, ", ");
shader_arb_get_src_param(ins, &ins->src[i], i, operand);
strcat(arguments, operand);
@@ -1616,6 +1614,7 @@ static void vshader_hw_rsq_rcp(const struct wined3d_shader_instruction *ins)
const char *instruction;
char tmpLine[256];
+ char dst[50];
char src[50];
switch(ins->handler_idx)
@@ -1628,7 +1627,9 @@ static void vshader_hw_rsq_rcp(const struct wined3d_shader_instruction *ins)
}
strcpy(tmpLine, instruction);
- shader_arb_add_dst_param(ins, &ins->dst[0], tmpLine); /* Destination */
+ shader_arb_get_dst_param(ins, &ins->dst[0], dst); /* Destination */
+ strcat(tmpLine, " ");
+ strcat(tmpLine, dst);
strcat(tmpLine, ", ");
shader_arb_get_src_param(ins, &ins->src[0], 0, src);
strcat(tmpLine, src);
More information about the wine-cvs
mailing list