mirror of https://github.com/xemu-project/xemu.git
psh: Separate input component usage selection for RGB and ALPHA portion
This commit is contained in:
parent
f9ba5b9c8c
commit
851e478319
|
@ -296,24 +296,30 @@ static QString* get_input_var(struct PixelShader *ps, struct InputInfo in, bool
|
||||||
{
|
{
|
||||||
QString *reg = get_var(ps, in.reg, false);
|
QString *reg = get_var(ps, in.reg, false);
|
||||||
|
|
||||||
switch (in.chan) {
|
if (!is_alpha) {
|
||||||
case PS_CHANNEL_RGB:
|
switch (in.chan) {
|
||||||
if (is_alpha) {
|
case PS_CHANNEL_RGB:
|
||||||
qstring_append(reg, ".b");
|
|
||||||
} else {
|
|
||||||
qstring_append(reg, ".rgb");
|
qstring_append(reg, ".rgb");
|
||||||
}
|
break;
|
||||||
break;
|
case PS_CHANNEL_ALPHA:
|
||||||
case PS_CHANNEL_ALPHA:
|
|
||||||
if (is_alpha) {
|
|
||||||
qstring_append(reg, ".a");
|
|
||||||
} else {
|
|
||||||
qstring_append(reg, ".aaa");
|
qstring_append(reg, ".aaa");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
assert(false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
switch (in.chan) {
|
||||||
|
case PS_CHANNEL_BLUE:
|
||||||
|
qstring_append(reg, ".b");
|
||||||
|
break;
|
||||||
|
case PS_CHANNEL_ALPHA:
|
||||||
|
qstring_append(reg, ".a");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
assert(false);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
default:
|
|
||||||
assert(false);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString *res;
|
QString *res;
|
||||||
|
|
Loading…
Reference in New Issue