-
Splitting PixelRoutine into PixelProgram and PixelPipeline · f2a8c37eAlexis Hetu authored
This cl splits PixelRoutine into 2 specialized classes: PixelProgram and PixelPipeline. In this cl: - Moved all specialized behavior of PixelRoutine into the PixelProgram and PixelPipeline classes. - Inverted hierarchical dependency between PixelRoutine and QuadRasterizer. QuadRasterizer is now the base class. - Added a check to PixelProcessor::routine() to either create a PixelPipeline object or a PixelProgram object. - Moved a few interpolation related utility functions from PixelRoutine down to QuadRasterizer. - Added Registers hierarchy. PixelProgram specific Registers and PixelPipeline specific Registers are now mutually exclusive. - Made the quad functions virtual - Added a few virtual functions (setBuiltins, ps, alphaTest, rasterOperation) for Program/Pipeline specific implementations Bug 20257503 Change-Id: I6abe536a5521d9842f757a8bbb52e3947e3c9250 Reviewed-on: https://swiftshader-review.googlesource.com/3634Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
f2a8c37e
×