Splitting PixelRoutine into PixelProgram and PixelPipeline
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>
Showing
src/Shader/PixelPipeline.cpp
0 → 100644
This diff is collapsed.
Click to expand it.
src/Shader/PixelPipeline.hpp
0 → 100644
src/Shader/PixelProgram.cpp
0 → 100644
This diff is collapsed.
Click to expand it.
src/Shader/PixelProgram.hpp
0 → 100644
This source diff could not be displayed because it is too large.
You can
view the blob
instead.
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment