wined3d: Pass a struct wined3d_shader_register to shader_is_scalar().
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 3be9422..92be8dc 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c
@@ -1242,7 +1242,7 @@ { DWORD mask = param->write_mask; - if (shader_is_scalar(param->reg.type, param->reg.idx)) + if (shader_is_scalar(¶m->reg)) { mask = WINED3DSP_WRITEMASK_0; *write_mask = '\0'; @@ -1285,7 +1285,7 @@ static void shader_glsl_get_swizzle(const struct wined3d_shader_src_param *param, BOOL fixup, DWORD mask, char *swizzle_str) { - if (shader_is_scalar(param->reg.type, param->reg.idx)) + if (shader_is_scalar(¶m->reg)) *swizzle_str = '\0'; else shader_glsl_swizzle_to_str(param->swizzle, fixup, mask, swizzle_str); @@ -1970,7 +1970,7 @@ char mask_char[6]; BOOL temp_destination = FALSE; - if (shader_is_scalar(ins->src[0].reg.type, ins->src[0].reg.idx)) + if (shader_is_scalar(&ins->src[0].reg)) { write_mask = shader_glsl_append_dst(ins->ctx->buffer, ins);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 8bda76a..2b63364 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h
@@ -2594,13 +2594,13 @@ return type == WINED3D_SHADER_TYPE_VERTEX; } -static inline BOOL shader_is_scalar(WINED3DSHADER_PARAM_REGISTER_TYPE register_type, UINT register_idx) +static inline BOOL shader_is_scalar(const struct wined3d_shader_register *reg) { - switch (register_type) + switch (reg->type) { case WINED3DSPR_RASTOUT: /* oFog & oPts */ - if (register_idx != 0) return TRUE; + if (reg->idx != 0) return TRUE; /* oPos */ return FALSE; @@ -2611,7 +2611,7 @@ return TRUE; case WINED3DSPR_MISCTYPE: - switch(register_idx) + switch(reg->idx) { case 0: /* vPos */ return FALSE;