Add real support for VS1.1, ie make the relative addressing mode

work.
This commit is contained in:
Jason Edmeades 2003-09-25 20:22:40 +00:00 committed by Alexandre Julliard
parent de3b0dfffb
commit b3ca47c689
1 changed files with 3 additions and 3 deletions

View File

@ -410,7 +410,7 @@ inline static void vshader_program_dump_param(const DWORD param, int input) {
TRACE("V[%lu]", reg); TRACE("V[%lu]", reg);
break; break;
case D3DSPR_CONST: case D3DSPR_CONST:
TRACE("C[%s%lu]", (reg & D3DVS_ADDRMODE_RELATIVE) ? "a0.x + " : "", reg); TRACE("C[%s%lu]", (param & D3DVS_ADDRMODE_RELATIVE) ? "a0.x + " : "", reg);
break; break;
case D3DSPR_ADDR: /*case D3DSPR_TEXTURE:*/ case D3DSPR_ADDR: /*case D3DSPR_TEXTURE:*/
TRACE("a[%lu]", reg); TRACE("a[%lu]", reg);
@ -656,7 +656,7 @@ HRESULT WINAPI IDirect3DVertexShaderImpl_ExecuteSW(IDirect3DVertexShaderImpl* vs
p[i] = &input->V[reg]; p[i] = &input->V[reg];
break; break;
case D3DSPR_CONST: case D3DSPR_CONST:
if (reg & D3DVS_ADDRMODE_RELATIVE) { if (pToken[i] & D3DVS_ADDRMODE_RELATIVE) {
p[i] = &vshader->data->C[(DWORD) A[0].x + reg]; p[i] = &vshader->data->C[(DWORD) A[0].x + reg];
} else { } else {
p[i] = &vshader->data->C[reg]; p[i] = &vshader->data->C[reg];
@ -1050,7 +1050,7 @@ inline static void pshader_program_dump_param(const DWORD param, int input) {
TRACE("V[%lu]", reg); TRACE("V[%lu]", reg);
break; break;
case D3DSPR_CONST: case D3DSPR_CONST:
TRACE("C[%s%lu]", (reg & D3DVS_ADDRMODE_RELATIVE) ? "a0.x + " : "", reg); TRACE("C[%s%lu]", (param & D3DVS_ADDRMODE_RELATIVE) ? "a0.x + " : "", reg);
break; break;
case D3DSPR_TEXTURE: /* case D3DSPR_ADDR: */ case D3DSPR_TEXTURE: /* case D3DSPR_ADDR: */
TRACE("t[%lu]", reg); TRACE("t[%lu]", reg);