wined3d: Allow both SM4 parameter modifiers simultaneously.
It seems that negate and abs are the only source parameter modifiers allowed in SM 4 and 5. Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
0fb543bb71
commit
9adf1c21b6
|
@ -621,9 +621,6 @@ static BOOL shader_sm4_read_param(struct wined3d_sm4_data *priv, const DWORD **p
|
||||||
{
|
{
|
||||||
DWORD m = *(*ptr)++;
|
DWORD m = *(*ptr)++;
|
||||||
|
|
||||||
/* FIXME: This will probably break down at some point. The SM4
|
|
||||||
* modifiers look like flags, while wined3d currently has an enum
|
|
||||||
* with possible combinations, e.g. WINED3DSPSM_ABSNEG. */
|
|
||||||
switch (m)
|
switch (m)
|
||||||
{
|
{
|
||||||
case 0x41:
|
case 0x41:
|
||||||
|
@ -634,6 +631,10 @@ static BOOL shader_sm4_read_param(struct wined3d_sm4_data *priv, const DWORD **p
|
||||||
*modifier = WINED3DSPSM_ABS;
|
*modifier = WINED3DSPSM_ABS;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0xc1:
|
||||||
|
*modifier = WINED3DSPSM_ABSNEG;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
FIXME("Skipping modifier 0x%08x.\n", m);
|
FIXME("Skipping modifier 0x%08x.\n", m);
|
||||||
*modifier = WINED3DSPSM_NONE;
|
*modifier = WINED3DSPSM_NONE;
|
||||||
|
|
Loading…
Reference in New Issue