aboutsummaryrefslogtreecommitdiff
path: root/plugins/gpu_unai/gpu_raster_polygon.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gpu_unai/gpu_raster_polygon.h')
-rw-r--r--plugins/gpu_unai/gpu_raster_polygon.h222
1 files changed, 58 insertions, 164 deletions
diff --git a/plugins/gpu_unai/gpu_raster_polygon.h b/plugins/gpu_unai/gpu_raster_polygon.h
index 5d370f8..4b338f7 100644
--- a/plugins/gpu_unai/gpu_raster_polygon.h
+++ b/plugins/gpu_unai/gpu_raster_polygon.h
@@ -135,34 +135,16 @@ void gpuDrawF3(const PP gpuPolySpanDriver)
u16* PixelBase = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(0, ya)];
- if (!progressInterlace)
+ for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4)
{
- for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4)
- {
- if (ya&li) continue;
- xa = x2i(x3);
- xb = x2i(x4);
- if( (xa>xmax) || (xb<xmin) ) continue;
- if(xa < xmin) xa = xmin;
- if(xb > xmax) xb = xmax;
- xb-=xa;
- if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
- }
- }
- else
- {
- bool flag=progressInterlace_flag;
- for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4)
- {
- if ((ya&li) && (flag=!flag)) continue;
- xa = x2i(x3);
- xb = x2i(x4);
- if( (xa>xmax) || (xb<xmin) ) continue;
- if(xa < xmin) xa = xmin;
- if(xb > xmax) xb = xmax;
- xb-=xa;
- if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
- }
+ if (ya&li) continue;
+ xa = x2i(x3);
+ xb = x2i(x4);
+ if( (xa>xmax) || (xb<xmin) ) continue;
+ if(xa < xmin) xa = xmin;
+ if(xb > xmax) xb = xmax;
+ xb-=xa;
+ if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
}
}
}
@@ -328,58 +310,28 @@ void gpuDrawFT3(const PP gpuPolySpanDriver)
u16* PixelBase = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(0, ya)];
- if (!progressInterlace)
+ for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4, u3+=du3, v3+=dv3)
{
- for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4, u3+=du3, v3+=dv3)
+ if (ya&li) continue;
+ xa = x2i(x3);
+ xb = x2i(x4);
+ if( (xa>xmax) || (xb<xmin) ) continue;
+
+ temp = xmin - xa;
+ if(temp > 0)
{
- if (ya&li) continue;
- xa = x2i(x3);
- xb = x2i(x4);
- if( (xa>xmax) || (xb<xmin) ) continue;
-
- temp = xmin - xa;
- if(temp > 0)
- {
- xa = xmin;
- u4 = u3 + du4*temp;
- v4 = v3 + dv4*temp;
- }
- else
- {
- u4 = u3;
- v4 = v3;
- }
- if(xb > xmax) xb = xmax;
- xb-=xa;
- if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
+ xa = xmin;
+ u4 = u3 + du4*temp;
+ v4 = v3 + dv4*temp;
}
- }
- else
- {
- bool flag=progressInterlace_flag;
- for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4, u3+=du3, v3+=dv3)
+ else
{
- if ((ya&li) && (flag=!flag)) continue;
- xa = x2i(x3);
- xb = x2i(x4);
- if( (xa>xmax) || (xb<xmin) ) continue;
-
- temp = xmin - xa;
- if(temp > 0)
- {
- xa = xmin;
- u4 = u3 + du4*temp;
- v4 = v3 + dv4*temp;
- }
- else
- {
- u4 = u3;
- v4 = v3;
- }
- if(xb > xmax) xb = xmax;
- xb-=xa;
- if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
+ u4 = u3;
+ v4 = v3;
}
+ if(xb > xmax) xb = xmax;
+ xb-=xa;
+ if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
}
}
}
@@ -542,54 +494,26 @@ void gpuDrawG3(const PP gpuPolySpanDriver)
u16* PixelBase = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(0, ya)];
- if (!progressInterlace)
+ for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4, r3+=dr3, g3+=dg3, b3+=db3)
{
- for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4, r3+=dr3, g3+=dg3, b3+=db3)
+ if (ya&li) continue;
+ xa = x2i(x3);
+ xb = x2i(x4);
+ if( (xa>xmax) || (xb<xmin) ) continue;
+
+ temp = xmin - xa;
+ if(temp > 0)
{
- if (ya&li) continue;
- xa = x2i(x3);
- xb = x2i(x4);
- if( (xa>xmax) || (xb<xmin) ) continue;
-
- temp = xmin - xa;
- if(temp > 0)
- {
- xa = xmin;
- r4 = r3 + dr4*temp; g4 = g3 + dg4*temp; b4 = b3 + db4*temp;
- }
- else
- {
- r4 = r3; g4 = g3; b4 = b3;
- }
- if(xb > xmax) xb = xmax;
- xb-=xa;
- if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
+ xa = xmin;
+ r4 = r3 + dr4*temp; g4 = g3 + dg4*temp; b4 = b3 + db4*temp;
}
- }
- else
- {
- bool flag=progressInterlace_flag;
- for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4, r3+=dr3, g3+=dg3, b3+=db3)
+ else
{
- if ((ya&li) && (flag=!flag)) continue;
- xa = x2i(x3);
- xb = x2i(x4);
- if( (xa>xmax) || (xb<xmin) ) continue;
-
- temp = xmin - xa;
- if(temp > 0)
- {
- xa = xmin;
- r4 = r3 + dr4*temp; g4 = g3 + dg4*temp; b4 = b3 + db4*temp;
- }
- else
- {
- r4 = r3; g4 = g3; b4 = b3;
- }
- if(xb > xmax) xb = xmax;
- xb-=xa;
- if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
+ r4 = r3; g4 = g3; b4 = b3;
}
+ if(xb > xmax) xb = xmax;
+ xb-=xa;
+ if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
}
}
}
@@ -780,58 +704,28 @@ void gpuDrawGT3(const PP gpuPolySpanDriver)
r3+= fixed_HALF; g3+= fixed_HALF; b3+= fixed_HALF;
u16* PixelBase = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(0, ya)];
- if (!progressInterlace)
+ for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4, u3+=du3, v3+=dv3, r3+=dr3, g3+=dg3, b3+=db3)
{
- for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4, u3+=du3, v3+=dv3, r3+=dr3, g3+=dg3, b3+=db3)
+ if (ya&li) continue;
+ xa = x2i(x3);
+ xb = x2i(x4);
+ if( (xa>xmax) || (xb<xmin)) continue;
+
+ temp = xmin - xa;
+ if(temp > 0)
{
- if (ya&li) continue;
- xa = x2i(x3);
- xb = x2i(x4);
- if( (xa>xmax) || (xb<xmin)) continue;
-
- temp = xmin - xa;
- if(temp > 0)
- {
- xa = xmin;
- u4 = u3 + du4*temp; v4 = v3 + dv4*temp;
- r4 = r3 + dr4*temp; g4 = g3 + dg4*temp; b4 = b3 + db4*temp;
- }
- else
- {
- u4 = u3; v4 = v3;
- r4 = r3; g4 = g3; b4 = b3;
- }
- if(xb > xmax) xb = xmax;
- xb-=xa;
- if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
+ xa = xmin;
+ u4 = u3 + du4*temp; v4 = v3 + dv4*temp;
+ r4 = r3 + dr4*temp; g4 = g3 + dg4*temp; b4 = b3 + db4*temp;
}
- }
- else
- {
- bool flag=progressInterlace_flag;
- for(;ya<yb;++ya, PixelBase += FRAME_WIDTH, x3+=dx3, x4+=dx4, u3+=du3, v3+=dv3, r3+=dr3, g3+=dg3, b3+=db3)
+ else
{
- if ((ya&li) && (flag=!flag)) continue;
- xa = x2i(x3);
- xb = x2i(x4);
- if ((xa>xmax) || (xb<xmin)) continue;
-
- temp = xmin - xa;
- if(temp > 0)
- {
- xa = xmin;
- u4 = u3 + du4*temp; v4 = v3 + dv4*temp;
- r4 = r3 + dr4*temp; g4 = g3 + dg4*temp; b4 = b3 + db4*temp;
- }
- else
- {
- u4 = u3; v4 = v3;
- r4 = r3; g4 = g3; b4 = b3;
- }
- if(xb > xmax) xb = xmax;
- xb-=xa;
- if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
+ u4 = u3; v4 = v3;
+ r4 = r3; g4 = g3; b4 = b3;
}
+ if(xb > xmax) xb = xmax;
+ xb-=xa;
+ if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb);
}
}
}