Minor tweaking
This commit is contained in:
parent
9b98c4d512
commit
6d295a25c2
2 changed files with 55 additions and 19 deletions
|
|
@ -37,6 +37,8 @@
|
|||
#include "r_poly_triangle.h"
|
||||
#include "r_draw_rgba.h"
|
||||
|
||||
CVAR(Bool, r_debug_trisetup, false, 0);
|
||||
|
||||
int PolyTriangleDrawer::viewport_x;
|
||||
int PolyTriangleDrawer::viewport_y;
|
||||
int PolyTriangleDrawer::viewport_width;
|
||||
|
|
@ -93,19 +95,22 @@ void PolyTriangleDrawer::draw_arrays(const PolyDrawArgs &drawargs, WorkerThreadD
|
|||
int num_drawfuncs = 0;
|
||||
|
||||
drawfuncs[num_drawfuncs++] = drawargs.subsectorTest ? &ScreenTriangle::SetupSubsector : &ScreenTriangle::SetupNormal;
|
||||
|
||||
int bmode = (int)drawargs.blendmode;
|
||||
if (drawargs.writeColor && drawargs.texturePixels)
|
||||
drawfuncs[num_drawfuncs++] = dest_bgra ? llvm->TriDraw32[bmode] : llvm->TriDraw8[bmode];
|
||||
else if (drawargs.writeColor)
|
||||
drawfuncs[num_drawfuncs++] = dest_bgra ? llvm->TriFill32[bmode] : llvm->TriFill8[bmode];
|
||||
|
||||
|
||||
if (!r_debug_trisetup) // For profiling how much time is spent in setup vs drawal
|
||||
{
|
||||
int bmode = (int)drawargs.blendmode;
|
||||
if (drawargs.writeColor && drawargs.texturePixels)
|
||||
drawfuncs[num_drawfuncs++] = dest_bgra ? llvm->TriDraw32[bmode] : llvm->TriDraw8[bmode];
|
||||
else if (drawargs.writeColor)
|
||||
drawfuncs[num_drawfuncs++] = dest_bgra ? llvm->TriFill32[bmode] : llvm->TriFill8[bmode];
|
||||
}
|
||||
|
||||
if (drawargs.writeStencil)
|
||||
drawfuncs[num_drawfuncs++] = &ScreenTriangle::StencilWrite;
|
||||
|
||||
|
||||
if (drawargs.writeSubsector)
|
||||
drawfuncs[num_drawfuncs++] = &ScreenTriangle::SubsectorWrite;
|
||||
|
||||
|
||||
TriDrawTriangleArgs args;
|
||||
args.dest = dest;
|
||||
args.pitch = dest_pitch;
|
||||
|
|
@ -793,6 +798,9 @@ void ScreenTriangle::SetupNormal(const TriDrawTriangleArgs *args, WorkerThreadDa
|
|||
span->Length = 0;
|
||||
}
|
||||
|
||||
if (mask0 == 0 && mask1 == 0)
|
||||
continue;
|
||||
|
||||
partial->X = x;
|
||||
partial->Y = y;
|
||||
partial->Mask0 = mask0;
|
||||
|
|
@ -997,6 +1005,9 @@ void ScreenTriangle::SetupSubsector(const TriDrawTriangleArgs *args, WorkerThrea
|
|||
span->Length = 0;
|
||||
}
|
||||
|
||||
if (mask0 == 0 && mask1 == 0)
|
||||
continue;
|
||||
|
||||
partial->X = x;
|
||||
partial->Y = y;
|
||||
partial->Mask0 = mask0;
|
||||
|
|
@ -1083,6 +1094,9 @@ void ScreenTriangle::SetupSubsector(const TriDrawTriangleArgs *args, WorkerThrea
|
|||
span->Length = 0;
|
||||
}
|
||||
|
||||
if (mask0 == 0 && mask1 == 0)
|
||||
continue;
|
||||
|
||||
partial->X = x;
|
||||
partial->Y = y;
|
||||
partial->Mask0 = mask0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue