Commit ba53fbf9 by Nicolas Capens

Move parameter reading to routine constructor.

Bug 22652760 Change-Id: If2b41c4d3b24f4b8a9d9dd805a9ab3ce724b7726 Reviewed-on: https://swiftshader-review.googlesource.com/4553Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent 4f172c78
...@@ -55,7 +55,6 @@ COMMON_SRC_FILES += \ ...@@ -55,7 +55,6 @@ COMMON_SRC_FILES += \
Renderer/Plane.cpp \ Renderer/Plane.cpp \
Renderer/Point.cpp \ Renderer/Point.cpp \
Renderer/QuadRasterizer.cpp \ Renderer/QuadRasterizer.cpp \
Renderer/Rasterizer.cpp \
Renderer/Renderer.cpp \ Renderer/Renderer.cpp \
Renderer/Sampler.cpp \ Renderer/Sampler.cpp \
Renderer/SetupProcessor.cpp \ Renderer/SetupProcessor.cpp \
......
...@@ -214,7 +214,6 @@ ...@@ -214,7 +214,6 @@
<Unit filename="../../Renderer/Primitive.hpp" /> <Unit filename="../../Renderer/Primitive.hpp" />
<Unit filename="../../Renderer/QuadRasterizer.cpp" /> <Unit filename="../../Renderer/QuadRasterizer.cpp" />
<Unit filename="../../Renderer/QuadRasterizer.hpp" /> <Unit filename="../../Renderer/QuadRasterizer.hpp" />
<Unit filename="../../Renderer/Rasterizer.cpp" />
<Unit filename="../../Renderer/Rasterizer.hpp" /> <Unit filename="../../Renderer/Rasterizer.hpp" />
<Unit filename="../../Renderer/Renderer.cpp" /> <Unit filename="../../Renderer/Renderer.cpp" />
<Unit filename="../../Renderer/Renderer.hpp" /> <Unit filename="../../Renderer/Renderer.hpp" />
......
...@@ -213,7 +213,6 @@ ...@@ -213,7 +213,6 @@
<Unit filename="../../Renderer/Primitive.hpp" /> <Unit filename="../../Renderer/Primitive.hpp" />
<Unit filename="../../Renderer/QuadRasterizer.cpp" /> <Unit filename="../../Renderer/QuadRasterizer.cpp" />
<Unit filename="../../Renderer/QuadRasterizer.hpp" /> <Unit filename="../../Renderer/QuadRasterizer.hpp" />
<Unit filename="../../Renderer/Rasterizer.cpp" />
<Unit filename="../../Renderer/Rasterizer.hpp" /> <Unit filename="../../Renderer/Rasterizer.hpp" />
<Unit filename="../../Renderer/Renderer.cpp" /> <Unit filename="../../Renderer/Renderer.cpp" />
<Unit filename="../../Renderer/Renderer.hpp" /> <Unit filename="../../Renderer/Renderer.hpp" />
......
...@@ -1095,7 +1095,7 @@ namespace sw ...@@ -1095,7 +1095,7 @@ namespace sw
if(!routine) if(!routine)
{ {
const bool integerPipeline = (context->pixelShaderVersion() <= 0x0104); const bool integerPipeline = (context->pixelShaderVersion() <= 0x0104);
Rasterizer *generator = nullptr; QuadRasterizer *generator = nullptr;
if(integerPipeline) if(integerPipeline)
{ {
......
...@@ -25,7 +25,7 @@ namespace sw ...@@ -25,7 +25,7 @@ namespace sw
extern int clusterCount; extern int clusterCount;
QuadRasterizer::QuadRasterizer(const PixelProcessor::State &state, const PixelShader *pixelShader) : Rasterizer(state), shader(pixelShader) QuadRasterizer::QuadRasterizer(const PixelProcessor::State &state, const PixelShader *pixelShader) : state(state), shader(pixelShader)
{ {
} }
...@@ -44,11 +44,6 @@ namespace sw ...@@ -44,11 +44,6 @@ namespace sw
Long pixelTime = Ticks(); Long pixelTime = Ticks();
#endif #endif
primitive = Arg<0>();
Int count = Arg<1>();
Int cluster = Arg<2>();
data = Arg<3>();
constants = *Pointer<Pointer<Byte>>(data + OFFSET(DrawData,constants)); constants = *Pointer<Pointer<Byte>>(data + OFFSET(DrawData,constants));
occlusion = 0; occlusion = 0;
......
...@@ -22,14 +22,15 @@ namespace sw ...@@ -22,14 +22,15 @@ namespace sw
{ {
class QuadRasterizer : public Rasterizer class QuadRasterizer : public Rasterizer
{ {
protected: public:
QuadRasterizer(const PixelProcessor::State &state, const PixelShader *shader); QuadRasterizer(const PixelProcessor::State &state, const PixelShader *shader);
virtual ~QuadRasterizer(); virtual ~QuadRasterizer();
void generate();
protected:
Pointer<Byte> constants; Pointer<Byte> constants;
Pointer<Byte> primitive;
Pointer<Byte> data;
Float4 Dz[4]; Float4 Dz[4];
Float4 Dw; Float4 Dw;
...@@ -48,11 +49,10 @@ namespace sw ...@@ -48,11 +49,10 @@ namespace sw
bool interpolateW() const; bool interpolateW() const;
Float4 interpolate(Float4 &x, Float4 &D, Float4 &rhw, Pointer<Byte> planeEquation, bool flat, bool perspective); Float4 interpolate(Float4 &x, Float4 &D, Float4 &rhw, Pointer<Byte> planeEquation, bool flat, bool perspective);
const PixelProcessor::State &state;
const PixelShader *const shader; const PixelShader *const shader;
private: private:
void generate();
void rasterize(Int &yMin, Int &yMax); void rasterize(Int &yMin, Int &yMax);
}; };
} }
......
// SwiftShader Software Renderer
//
// Copyright(c) 2005-2011 TransGaming Inc.
//
// All rights reserved. No part of this software may be copied, distributed, transmitted,
// transcribed, stored in a retrieval system, translated into any human or computer
// language by any means, or disclosed to third parties without the explicit written
// agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express
// or implied, including but not limited to any patent rights, are granted to you.
//
#include "Rasterizer.hpp"
namespace sw
{
Rasterizer::Rasterizer(const PixelProcessor::State &state) : state(state)
{
}
Rasterizer::~Rasterizer()
{
}
}
...@@ -22,14 +22,14 @@ namespace sw ...@@ -22,14 +22,14 @@ namespace sw
class Rasterizer : public Function<Void(Pointer<Byte>, Int, Int, Pointer<Byte>)> class Rasterizer : public Function<Void(Pointer<Byte>, Int, Int, Pointer<Byte>)>
{ {
public: public:
Rasterizer(const PixelProcessor::State &state); Rasterizer() : primitive(Arg<0>()), count(Arg<1>()), cluster(Arg<2>()), data(Arg<3>()) {}
virtual ~Rasterizer() {};
virtual ~Rasterizer();
virtual void generate() = 0;
protected: protected:
const PixelProcessor::State &state; const Pointer<Byte> primitive;
const Int count;
const Int cluster;
const Pointer<Byte> data;
}; };
} }
......
...@@ -362,7 +362,6 @@ ...@@ -362,7 +362,6 @@
<PreprocessKeepComments Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</PreprocessKeepComments> <PreprocessKeepComments Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</PreprocessKeepComments>
<PreprocessKeepComments Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">false</PreprocessKeepComments> <PreprocessKeepComments Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">false</PreprocessKeepComments>
</ClCompile> </ClCompile>
<ClCompile Include="..\Renderer\Rasterizer.cpp" />
<ClCompile Include="..\Renderer\Renderer.cpp" /> <ClCompile Include="..\Renderer\Renderer.cpp" />
<ClCompile Include="..\Renderer\Sampler.cpp" /> <ClCompile Include="..\Renderer\Sampler.cpp" />
<ClCompile Include="..\Renderer\SetupProcessor.cpp" /> <ClCompile Include="..\Renderer\SetupProcessor.cpp" />
......
...@@ -95,9 +95,6 @@ ...@@ -95,9 +95,6 @@
<ClCompile Include="..\Renderer\QuadRasterizer.cpp"> <ClCompile Include="..\Renderer\QuadRasterizer.cpp">
<Filter>Source Files\Renderer</Filter> <Filter>Source Files\Renderer</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\Renderer\Rasterizer.cpp">
<Filter>Source Files\Renderer</Filter>
</ClCompile>
<ClCompile Include="..\Renderer\Renderer.cpp"> <ClCompile Include="..\Renderer\Renderer.cpp">
<Filter>Source Files\Renderer</Filter> <Filter>Source Files\Renderer</Filter>
</ClCompile> </ClCompile>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment