softgpu: Use pixel func ID to draw pixels.

This just reduces reliance on gstate directly, and should help keep things
consistent.
This commit is contained in:
Unknown W. Brackets 2021-11-20 14:22:55 -08:00
parent 953200c995
commit f7a31c992d
4 changed files with 145 additions and 141 deletions

View file

@ -17,7 +17,8 @@
#pragma once
#include "TransformUnit.h" // for DrawingCoords
#include "GPU/Software/FuncId.h"
#include "GPU/Software/TransformUnit.h" // for DrawingCoords
struct GPUDebugBuffer;
@ -33,8 +34,8 @@ bool GetCurrentStencilbuffer(GPUDebugBuffer &buffer);
bool GetCurrentTexture(GPUDebugBuffer &buffer, int level);
// Shared functions with RasterizerRectangle.cpp
Vec3<int> AlphaBlendingResult(const Vec4<int> &source, const Vec4<int> &dst);
void DrawSinglePixelNonClear(const DrawingCoords &p, u16 z, u8 fog, const Vec4<int> &color_in);
Vec3<int> AlphaBlendingResult(const PixelFuncID &pixelID, const Vec4<int> &source, const Vec4<int> &dst);
void DrawSinglePixelNonClear(const DrawingCoords &p, u16 z, u8 fog, const Vec4<int> &color_in, const PixelFuncID &pixelID);
Vec4<int> GetTextureFunctionOutput(const Vec4<int>& prim_color, const Vec4<int>& texcolor);
} // namespace Rasterizer