Improve crash handling in drawers
This commit is contained in:
parent
15c08f73d5
commit
27b432a930
7 changed files with 219 additions and 21 deletions
|
|
@ -104,6 +104,8 @@ public:
|
|||
LLVMDrawers::Instance()->DrawSpan(&args);
|
||||
}
|
||||
|
||||
FString DebugInfo() override { return "DrawSpanLLVMCommand"; }
|
||||
|
||||
protected:
|
||||
DrawSpanArgs args;
|
||||
|
||||
|
|
@ -247,6 +249,11 @@ public:
|
|||
WorkerThreadData d = ThreadData(thread);
|
||||
LLVMDrawers::Instance()->vlinec4(&args, &d);
|
||||
}
|
||||
|
||||
FString DebugInfo() override
|
||||
{
|
||||
return "DrawWall4LLVMCommand\n" + args.ToString();
|
||||
}
|
||||
};
|
||||
|
||||
class DrawWall1LLVMCommand : public DrawerCommand
|
||||
|
|
@ -301,6 +308,11 @@ public:
|
|||
WorkerThreadData d = ThreadData(thread);
|
||||
LLVMDrawers::Instance()->vlinec1(&args, &d);
|
||||
}
|
||||
|
||||
FString DebugInfo() override
|
||||
{
|
||||
return "DrawWall1LLVMCommand\n" + args.ToString();
|
||||
}
|
||||
};
|
||||
|
||||
class DrawColumnLLVMCommand : public DrawerCommand
|
||||
|
|
@ -318,6 +330,11 @@ protected:
|
|||
return d;
|
||||
}
|
||||
|
||||
FString DebugInfo() override
|
||||
{
|
||||
return "DrawColumnLLVMCommand";
|
||||
}
|
||||
|
||||
public:
|
||||
DrawColumnLLVMCommand()
|
||||
{
|
||||
|
|
@ -510,6 +527,11 @@ public:
|
|||
*dest = 0xff000000 | (red << 16) | (green << 8) | blue;
|
||||
}
|
||||
}
|
||||
|
||||
FString DebugInfo() override
|
||||
{
|
||||
return "DrawFuzzColumnRGBACommand";
|
||||
}
|
||||
};
|
||||
|
||||
class FillSpanRGBACommand : public DrawerCommand
|
||||
|
|
@ -544,6 +566,11 @@ public:
|
|||
for (int i = 0; i < count; i++)
|
||||
dest[i] = color;
|
||||
}
|
||||
|
||||
FString DebugInfo() override
|
||||
{
|
||||
return "FillSpanRGBACommand";
|
||||
}
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -663,6 +690,11 @@ public:
|
|||
dy--;
|
||||
}
|
||||
}
|
||||
|
||||
FString DebugInfo() override
|
||||
{
|
||||
return "DrawSlabRGBACommand";
|
||||
}
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -737,6 +769,11 @@ public:
|
|||
dest[x] = 0xff000000 | (red << 16) | (green << 8) | blue;
|
||||
} while (++x <= x2);
|
||||
}
|
||||
|
||||
FString DebugInfo() override
|
||||
{
|
||||
return "DrawFogBoundaryLineRGBACommand";
|
||||
}
|
||||
};
|
||||
|
||||
class DrawTiltedSpanRGBACommand : public DrawerCommand
|
||||
|
|
@ -886,6 +923,11 @@ public:
|
|||
count--;
|
||||
}
|
||||
}
|
||||
|
||||
FString DebugInfo() override
|
||||
{
|
||||
return "DrawTiltedSpanRGBACommand";
|
||||
}
|
||||
};
|
||||
|
||||
class DrawColoredSpanRGBACommand : public DrawerCommand
|
||||
|
|
@ -925,6 +967,11 @@ public:
|
|||
for (int i = 0; i < count; i++)
|
||||
dest[i] = color;
|
||||
}
|
||||
|
||||
FString DebugInfo() override
|
||||
{
|
||||
return "DrawColoredSpanRGBACommand";
|
||||
}
|
||||
};
|
||||
|
||||
class FillTransColumnRGBACommand : public DrawerCommand
|
||||
|
|
@ -992,6 +1039,11 @@ public:
|
|||
dest += spacing;
|
||||
}
|
||||
}
|
||||
|
||||
FString DebugInfo() override
|
||||
{
|
||||
return "FillTransColumnRGBACommand";
|
||||
}
|
||||
};
|
||||
|
||||
ApplySpecialColormapRGBACommand::ApplySpecialColormapRGBACommand(FSpecialColormap *colormap, DFrameBuffer *screen)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue