ladybird/Userland/Libraries/LibSoftGPU
Jelle Raaijmakers 4c1d8a7785 LibSoftGPU: Optimize clipping code
Three optimizations are applied:

1. If the list of vertices to clip is empty, return immediately after
   clearing the output list.

2. Remember the previous vertex instead of recalculating whether it is
   within the clip plane.

3. Instead of copying and swapping lists around, operate on the input
   and output lists directly. This prevents a lot of `malloc`/`free`
   traffic as a result of vector assignments.

This takes the clipping code CPU load from 3.9% down to 1.8% for
Quake 3 on my machine.
2022-04-11 19:31:23 -07:00
..
Buffer LibSoftGPU: Apply regular cartesian coordinate system 2022-02-22 23:48:59 +00:00
AlphaBlendFactors.h LibSoftGPU: Move alpha blend factor setup out of triangle rasterization 2022-01-09 16:21:13 +03:30
Clipper.cpp LibSoftGPU: Optimize clipping code 2022-04-11 19:31:23 -07:00
Clipper.h LibSoftGPU: Optimize clipping code 2022-04-11 19:31:23 -07:00
CMakeLists.txt LibSoftGPU: Generalize pixel buffers and standardize on BGRA8888 2022-02-22 23:48:59 +00:00
Config.h LibGL+LibGPU+LibSoftGPU: Move Vertex.h to LibGPU 2022-04-06 11:32:24 +02:00
Device.cpp LibGL+LibSoftGPU: Add GL_ADD Texture Environment 2022-04-09 11:40:33 +02:00
Device.h LibGL+LibGPU+LibSoftGPU: Add virtual base class for devices 2022-04-06 11:32:24 +02:00
Image.cpp LibGL+LibGPU+LibSoftGPU: Add virtual base class for Images 2022-04-06 11:32:24 +02:00
Image.h LibGL+LibGPU+LibSoftGPU: Add virtual base class for Images 2022-04-06 11:32:24 +02:00
PixelQuad.h LibGL+LibGPU+LibSoftGPU: Move Vertex.h to LibGPU 2022-04-06 11:32:24 +02:00
Sampler.cpp LibGL+LibGPU+LibSoftGPU: Add virtual base class for Images 2022-04-06 11:32:24 +02:00
Sampler.h LibGL+LibGPU+LibSoftGPU: Move SamplerConfig to LibGPU 2022-04-06 11:32:24 +02:00
SIMD.h LibSoftGPU: Add log2_approximate() 2022-03-03 13:50:25 +01:00
Triangle.h LibGL+LibGPU+LibSoftGPU: Move Vertex.h to LibGPU 2022-04-06 11:32:24 +02:00