Module: wine Branch: refs/heads/master Commit: 21d62ed1f1b6cb7cfc2ffbc9a2f63174a6a5f267 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=21d62ed1f1b6cb7cfc2ffbc9...
Author: H. Verbeet hverbeet@gmail.com Date: Wed Mar 8 23:51:18 2006 +0000
wined3d: Minor vshader_program_add_param cleanup.
- In vshader_program_add_param, pass a pointer to the shader object instead of individual parameters. - In vshader_program_add_param, rename input to is_input to make it clearer what the parameter does. - Fix a typo & cleanup a comment.
---
dlls/wined3d/vertexshader.c | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c index f444ca7..12960ae 100644 --- a/dlls/wined3d/vertexshader.c +++ b/dlls/wined3d/vertexshader.c @@ -948,13 +948,14 @@ inline static void vshader_program_add_i } }
-inline static void vshader_program_add_param(const DWORD param, int input, int is_color, char *hwLine, BOOL namedArrays, CHAR constantsUsedBitmap[]) { - /*static const char* rastout_reg_names[] = { "oPos", "oFog", "oPts" }; */ +inline static void vshader_program_add_param(IWineD3DVertexShaderImpl *This, const DWORD param, BOOL is_input, char *hwLine) { + /* oPos, oFog and oPts in D3D */ static const char* hwrastout_reg_names[] = { "result.position", "result.fogcoord", "result.pointsize" };
DWORD reg = param & 0x00001FFF; DWORD regtype = ((param & D3DSP_REGTYPE_MASK) >> D3DSP_REGTYPE_SHIFT); char tmpReg[255]; + BOOL is_color = FALSE;
if ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_NEG) { strcat(hwLine, " -"); @@ -969,7 +970,7 @@ inline static void vshader_program_add_p break; case D3DSPR_INPUT: /* if the attributes come in as named dcl's then use a named vertex (called namedVertexN) */ - if (namedArrays) { + if (This->namedArrays) { sprintf(tmpReg, "namedVertex%lu", reg); } else { /* otherwise the input is on a numbered attribute so use opengl numbered attributes */ @@ -979,9 +980,9 @@ inline static void vshader_program_add_p break; case D3DSPR_CONST: /* FIXME: some constants are named so we need a constants map*/ - if (constantsUsedBitmap[reg] == VS_CONSTANT_CONSTANT) { + if (This->constantsUsedBitmap[reg] == VS_CONSTANT_CONSTANT) { if (param & D3DVS_ADDRMODE_RELATIVE) { - FIXME("Relitive addressing not expected for a named constant %lu\n", reg); + FIXME("Relative addressing not expected for a named constant %lu\n", reg); } sprintf(tmpReg, "const%lu", reg); } else { @@ -1013,7 +1014,7 @@ inline static void vshader_program_add_p break; }
- if (!input) { + if (!is_input) { vshader_program_add_output_param_swizzle(param, is_color, hwLine); } else { vshader_program_add_input_param_swizzle(param, is_color, hwLine); @@ -1560,7 +1561,7 @@ inline static VOID IWineD3DVertexShaderI char tmpChar[80]; ++pToken; sprintf(tmpLine, "ATTRIB "); - vshader_program_add_param(*pToken, 0, 0, tmpLine, This->namedArrays, This->constantsUsedBitmap); + vshader_program_add_param(This, *pToken, FALSE, tmpLine); sprintf(tmpChar," = %s", attribName); strcat(tmpLine, tmpChar); strcat(tmpLine,";\n"); @@ -1612,12 +1613,12 @@ inline static VOID IWineD3DVertexShaderI } } if (curOpcode->num_params > 0) { - vshader_program_add_param(*pToken, 0, 0, tmpLine, This->namedArrays, This->constantsUsedBitmap); + vshader_program_add_param(This, *pToken, FALSE, tmpLine);
++pToken; for (i = 1; i < curOpcode->num_params; ++i) { strcat(tmpLine, ","); - vshader_program_add_param(*pToken, 1, 0, tmpLine, This->namedArrays, This->constantsUsedBitmap); + vshader_program_add_param(This, *pToken, TRUE, tmpLine); ++pToken; } }