mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-11 15:22:16 +00:00
Fix new blend mode
This commit is contained in:
parent
a7a779dd31
commit
34bf581957
2 changed files with 11 additions and 1 deletions
|
@ -106,6 +106,7 @@ extern "C"
|
||||||
void TriDrawNormal8_10_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriDrawNormal8_10_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
void TriDrawNormal8_11_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriDrawNormal8_11_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
void TriDrawNormal8_12_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriDrawNormal8_12_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
|
void TriDrawNormal8_13_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
void TriDrawNormal32_0_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriDrawNormal32_0_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
void TriDrawNormal32_1_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriDrawNormal32_1_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
void TriDrawNormal32_2_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriDrawNormal32_2_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
|
@ -133,6 +134,7 @@ extern "C"
|
||||||
void TriFillNormal8_10_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriFillNormal8_10_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
void TriFillNormal8_11_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriFillNormal8_11_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
void TriFillNormal8_12_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriFillNormal8_12_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
|
void TriFillNormal8_13_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
void TriFillNormal32_0_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriFillNormal32_0_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
void TriFillNormal32_1_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriFillNormal32_1_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
void TriFillNormal32_2_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
void TriFillNormal32_2_SSE2(const TriDrawTriangleArgs *, WorkerThreadData *);
|
||||||
|
@ -286,6 +288,7 @@ Drawers::Drawers()
|
||||||
TriDrawNormal8.push_back(TriDrawNormal8_10_SSE2);
|
TriDrawNormal8.push_back(TriDrawNormal8_10_SSE2);
|
||||||
TriDrawNormal8.push_back(TriDrawNormal8_11_SSE2);
|
TriDrawNormal8.push_back(TriDrawNormal8_11_SSE2);
|
||||||
TriDrawNormal8.push_back(TriDrawNormal8_12_SSE2);
|
TriDrawNormal8.push_back(TriDrawNormal8_12_SSE2);
|
||||||
|
TriDrawNormal8.push_back(TriDrawNormal8_13_SSE2);
|
||||||
TriDrawNormal32.push_back(TriDrawNormal32_0_SSE2);
|
TriDrawNormal32.push_back(TriDrawNormal32_0_SSE2);
|
||||||
TriDrawNormal32.push_back(TriDrawNormal32_1_SSE2);
|
TriDrawNormal32.push_back(TriDrawNormal32_1_SSE2);
|
||||||
TriDrawNormal32.push_back(TriDrawNormal32_2_SSE2);
|
TriDrawNormal32.push_back(TriDrawNormal32_2_SSE2);
|
||||||
|
@ -299,6 +302,7 @@ Drawers::Drawers()
|
||||||
TriDrawNormal32.push_back(TriDrawNormal32_10_SSE2);
|
TriDrawNormal32.push_back(TriDrawNormal32_10_SSE2);
|
||||||
TriDrawNormal32.push_back(TriDrawNormal32_11_SSE2);
|
TriDrawNormal32.push_back(TriDrawNormal32_11_SSE2);
|
||||||
TriDrawNormal32.push_back(TriDrawNormal32_12_SSE2);
|
TriDrawNormal32.push_back(TriDrawNormal32_12_SSE2);
|
||||||
|
TriDrawNormal32.push_back(TriDrawNormal32_13_SSE2);
|
||||||
TriFillNormal8.push_back(TriFillNormal8_0_SSE2);
|
TriFillNormal8.push_back(TriFillNormal8_0_SSE2);
|
||||||
TriFillNormal8.push_back(TriFillNormal8_1_SSE2);
|
TriFillNormal8.push_back(TriFillNormal8_1_SSE2);
|
||||||
TriFillNormal8.push_back(TriFillNormal8_2_SSE2);
|
TriFillNormal8.push_back(TriFillNormal8_2_SSE2);
|
||||||
|
@ -312,6 +316,7 @@ Drawers::Drawers()
|
||||||
TriFillNormal8.push_back(TriFillNormal8_10_SSE2);
|
TriFillNormal8.push_back(TriFillNormal8_10_SSE2);
|
||||||
TriFillNormal8.push_back(TriFillNormal8_11_SSE2);
|
TriFillNormal8.push_back(TriFillNormal8_11_SSE2);
|
||||||
TriFillNormal8.push_back(TriFillNormal8_12_SSE2);
|
TriFillNormal8.push_back(TriFillNormal8_12_SSE2);
|
||||||
|
TriFillNormal8.push_back(TriFillNormal8_13_SSE2);
|
||||||
TriFillNormal32.push_back(TriFillNormal32_0_SSE2);
|
TriFillNormal32.push_back(TriFillNormal32_0_SSE2);
|
||||||
TriFillNormal32.push_back(TriFillNormal32_1_SSE2);
|
TriFillNormal32.push_back(TriFillNormal32_1_SSE2);
|
||||||
TriFillNormal32.push_back(TriFillNormal32_2_SSE2);
|
TriFillNormal32.push_back(TriFillNormal32_2_SSE2);
|
||||||
|
@ -325,6 +330,7 @@ Drawers::Drawers()
|
||||||
TriFillNormal32.push_back(TriFillNormal32_10_SSE2);
|
TriFillNormal32.push_back(TriFillNormal32_10_SSE2);
|
||||||
TriFillNormal32.push_back(TriFillNormal32_11_SSE2);
|
TriFillNormal32.push_back(TriFillNormal32_11_SSE2);
|
||||||
TriFillNormal32.push_back(TriFillNormal32_12_SSE2);
|
TriFillNormal32.push_back(TriFillNormal32_12_SSE2);
|
||||||
|
TriFillNormal32.push_back(TriFillNormal32_13_SSE2);
|
||||||
TriDrawSubsector8.push_back(TriDrawSubsector8_0_SSE2);
|
TriDrawSubsector8.push_back(TriDrawSubsector8_0_SSE2);
|
||||||
TriDrawSubsector8.push_back(TriDrawSubsector8_1_SSE2);
|
TriDrawSubsector8.push_back(TriDrawSubsector8_1_SSE2);
|
||||||
TriDrawSubsector8.push_back(TriDrawSubsector8_2_SSE2);
|
TriDrawSubsector8.push_back(TriDrawSubsector8_2_SSE2);
|
||||||
|
@ -338,6 +344,7 @@ Drawers::Drawers()
|
||||||
TriDrawSubsector8.push_back(TriDrawSubsector8_10_SSE2);
|
TriDrawSubsector8.push_back(TriDrawSubsector8_10_SSE2);
|
||||||
TriDrawSubsector8.push_back(TriDrawSubsector8_11_SSE2);
|
TriDrawSubsector8.push_back(TriDrawSubsector8_11_SSE2);
|
||||||
TriDrawSubsector8.push_back(TriDrawSubsector8_12_SSE2);
|
TriDrawSubsector8.push_back(TriDrawSubsector8_12_SSE2);
|
||||||
|
TriDrawSubsector8.push_back(TriDrawSubsector8_13_SSE2);
|
||||||
TriDrawSubsector32.push_back(TriDrawSubsector32_0_SSE2);
|
TriDrawSubsector32.push_back(TriDrawSubsector32_0_SSE2);
|
||||||
TriDrawSubsector32.push_back(TriDrawSubsector32_1_SSE2);
|
TriDrawSubsector32.push_back(TriDrawSubsector32_1_SSE2);
|
||||||
TriDrawSubsector32.push_back(TriDrawSubsector32_2_SSE2);
|
TriDrawSubsector32.push_back(TriDrawSubsector32_2_SSE2);
|
||||||
|
@ -351,6 +358,7 @@ Drawers::Drawers()
|
||||||
TriDrawSubsector32.push_back(TriDrawSubsector32_10_SSE2);
|
TriDrawSubsector32.push_back(TriDrawSubsector32_10_SSE2);
|
||||||
TriDrawSubsector32.push_back(TriDrawSubsector32_11_SSE2);
|
TriDrawSubsector32.push_back(TriDrawSubsector32_11_SSE2);
|
||||||
TriDrawSubsector32.push_back(TriDrawSubsector32_12_SSE2);
|
TriDrawSubsector32.push_back(TriDrawSubsector32_12_SSE2);
|
||||||
|
TriDrawSubsector32.push_back(TriDrawSubsector32_13_SSE2);
|
||||||
TriFillSubsector8.push_back(TriFillSubsector8_0_SSE2);
|
TriFillSubsector8.push_back(TriFillSubsector8_0_SSE2);
|
||||||
TriFillSubsector8.push_back(TriFillSubsector8_1_SSE2);
|
TriFillSubsector8.push_back(TriFillSubsector8_1_SSE2);
|
||||||
TriFillSubsector8.push_back(TriFillSubsector8_2_SSE2);
|
TriFillSubsector8.push_back(TriFillSubsector8_2_SSE2);
|
||||||
|
@ -364,6 +372,7 @@ Drawers::Drawers()
|
||||||
TriFillSubsector8.push_back(TriFillSubsector8_10_SSE2);
|
TriFillSubsector8.push_back(TriFillSubsector8_10_SSE2);
|
||||||
TriFillSubsector8.push_back(TriFillSubsector8_11_SSE2);
|
TriFillSubsector8.push_back(TriFillSubsector8_11_SSE2);
|
||||||
TriFillSubsector8.push_back(TriFillSubsector8_12_SSE2);
|
TriFillSubsector8.push_back(TriFillSubsector8_12_SSE2);
|
||||||
|
TriFillSubsector8.push_back(TriFillSubsector8_13_SSE2);
|
||||||
TriFillSubsector32.push_back(TriFillSubsector32_0_SSE2);
|
TriFillSubsector32.push_back(TriFillSubsector32_0_SSE2);
|
||||||
TriFillSubsector32.push_back(TriFillSubsector32_1_SSE2);
|
TriFillSubsector32.push_back(TriFillSubsector32_1_SSE2);
|
||||||
TriFillSubsector32.push_back(TriFillSubsector32_2_SSE2);
|
TriFillSubsector32.push_back(TriFillSubsector32_2_SSE2);
|
||||||
|
@ -377,6 +386,7 @@ Drawers::Drawers()
|
||||||
TriFillSubsector32.push_back(TriFillSubsector32_10_SSE2);
|
TriFillSubsector32.push_back(TriFillSubsector32_10_SSE2);
|
||||||
TriFillSubsector32.push_back(TriFillSubsector32_11_SSE2);
|
TriFillSubsector32.push_back(TriFillSubsector32_11_SSE2);
|
||||||
TriFillSubsector32.push_back(TriFillSubsector32_12_SSE2);
|
TriFillSubsector32.push_back(TriFillSubsector32_12_SSE2);
|
||||||
|
TriFillSubsector32.push_back(TriFillSubsector32_13_SSE2);
|
||||||
TriStencil = TriStencil_SSE2;
|
TriStencil = TriStencil_SSE2;
|
||||||
TriStencilClose = TriStencilClose_SSE2;
|
TriStencilClose = TriStencilClose_SSE2;
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,5 +165,5 @@ SSAVec4i DrawerCodegen::blend_add_srccolor_oneminussrccolor(SSAVec4i fg, SSAVec4
|
||||||
{
|
{
|
||||||
SSAVec4i fgcolor = fg + (fg >> 7); // 255 -> 256
|
SSAVec4i fgcolor = fg + (fg >> 7); // 255 -> 256
|
||||||
SSAVec4i inv_fgcolor = SSAVec4i(256) - fgcolor;
|
SSAVec4i inv_fgcolor = SSAVec4i(256) - fgcolor;
|
||||||
return fg + (bg * inv_fgcolor + 128) >> 8;
|
return fg + ((bg * inv_fgcolor + 128) >> 8);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue