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_11_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_1_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_11_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_1_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_11_SSE2);
|
||||
TriDrawNormal8.push_back(TriDrawNormal8_12_SSE2);
|
||||
TriDrawNormal8.push_back(TriDrawNormal8_13_SSE2);
|
||||
TriDrawNormal32.push_back(TriDrawNormal32_0_SSE2);
|
||||
TriDrawNormal32.push_back(TriDrawNormal32_1_SSE2);
|
||||
TriDrawNormal32.push_back(TriDrawNormal32_2_SSE2);
|
||||
|
@ -299,6 +302,7 @@ Drawers::Drawers()
|
|||
TriDrawNormal32.push_back(TriDrawNormal32_10_SSE2);
|
||||
TriDrawNormal32.push_back(TriDrawNormal32_11_SSE2);
|
||||
TriDrawNormal32.push_back(TriDrawNormal32_12_SSE2);
|
||||
TriDrawNormal32.push_back(TriDrawNormal32_13_SSE2);
|
||||
TriFillNormal8.push_back(TriFillNormal8_0_SSE2);
|
||||
TriFillNormal8.push_back(TriFillNormal8_1_SSE2);
|
||||
TriFillNormal8.push_back(TriFillNormal8_2_SSE2);
|
||||
|
@ -312,6 +316,7 @@ Drawers::Drawers()
|
|||
TriFillNormal8.push_back(TriFillNormal8_10_SSE2);
|
||||
TriFillNormal8.push_back(TriFillNormal8_11_SSE2);
|
||||
TriFillNormal8.push_back(TriFillNormal8_12_SSE2);
|
||||
TriFillNormal8.push_back(TriFillNormal8_13_SSE2);
|
||||
TriFillNormal32.push_back(TriFillNormal32_0_SSE2);
|
||||
TriFillNormal32.push_back(TriFillNormal32_1_SSE2);
|
||||
TriFillNormal32.push_back(TriFillNormal32_2_SSE2);
|
||||
|
@ -325,6 +330,7 @@ Drawers::Drawers()
|
|||
TriFillNormal32.push_back(TriFillNormal32_10_SSE2);
|
||||
TriFillNormal32.push_back(TriFillNormal32_11_SSE2);
|
||||
TriFillNormal32.push_back(TriFillNormal32_12_SSE2);
|
||||
TriFillNormal32.push_back(TriFillNormal32_13_SSE2);
|
||||
TriDrawSubsector8.push_back(TriDrawSubsector8_0_SSE2);
|
||||
TriDrawSubsector8.push_back(TriDrawSubsector8_1_SSE2);
|
||||
TriDrawSubsector8.push_back(TriDrawSubsector8_2_SSE2);
|
||||
|
@ -338,6 +344,7 @@ Drawers::Drawers()
|
|||
TriDrawSubsector8.push_back(TriDrawSubsector8_10_SSE2);
|
||||
TriDrawSubsector8.push_back(TriDrawSubsector8_11_SSE2);
|
||||
TriDrawSubsector8.push_back(TriDrawSubsector8_12_SSE2);
|
||||
TriDrawSubsector8.push_back(TriDrawSubsector8_13_SSE2);
|
||||
TriDrawSubsector32.push_back(TriDrawSubsector32_0_SSE2);
|
||||
TriDrawSubsector32.push_back(TriDrawSubsector32_1_SSE2);
|
||||
TriDrawSubsector32.push_back(TriDrawSubsector32_2_SSE2);
|
||||
|
@ -351,6 +358,7 @@ Drawers::Drawers()
|
|||
TriDrawSubsector32.push_back(TriDrawSubsector32_10_SSE2);
|
||||
TriDrawSubsector32.push_back(TriDrawSubsector32_11_SSE2);
|
||||
TriDrawSubsector32.push_back(TriDrawSubsector32_12_SSE2);
|
||||
TriDrawSubsector32.push_back(TriDrawSubsector32_13_SSE2);
|
||||
TriFillSubsector8.push_back(TriFillSubsector8_0_SSE2);
|
||||
TriFillSubsector8.push_back(TriFillSubsector8_1_SSE2);
|
||||
TriFillSubsector8.push_back(TriFillSubsector8_2_SSE2);
|
||||
|
@ -364,6 +372,7 @@ Drawers::Drawers()
|
|||
TriFillSubsector8.push_back(TriFillSubsector8_10_SSE2);
|
||||
TriFillSubsector8.push_back(TriFillSubsector8_11_SSE2);
|
||||
TriFillSubsector8.push_back(TriFillSubsector8_12_SSE2);
|
||||
TriFillSubsector8.push_back(TriFillSubsector8_13_SSE2);
|
||||
TriFillSubsector32.push_back(TriFillSubsector32_0_SSE2);
|
||||
TriFillSubsector32.push_back(TriFillSubsector32_1_SSE2);
|
||||
TriFillSubsector32.push_back(TriFillSubsector32_2_SSE2);
|
||||
|
@ -377,6 +386,7 @@ Drawers::Drawers()
|
|||
TriFillSubsector32.push_back(TriFillSubsector32_10_SSE2);
|
||||
TriFillSubsector32.push_back(TriFillSubsector32_11_SSE2);
|
||||
TriFillSubsector32.push_back(TriFillSubsector32_12_SSE2);
|
||||
TriFillSubsector32.push_back(TriFillSubsector32_13_SSE2);
|
||||
TriStencil = TriStencil_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 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