1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 12:07:45 +00:00
serenity/Userland/Libraries/LibSoftGPU
Jelle Raaijmakers 6dcc808994 LibSoftGPU: Reduce subpixel precision from 6 to 4 bits
With 6 bits of precision, the maximum triangle coordinate we can
handle is sqrt(2^31 / (1 << 6)^2) = ~724. Rendering to a target of
800x600 or higher quickly becomes a mess because of integer overflow.

By reducing the subpixel precision to 4 bits, we support coordinates up
to ~2896, which means that we can (try to) render to target sizes like
2560x1440.

This fixes the main menu backdrop for the Half-Life port. It also
introduces more white pixel artifacts in Quake's water / lava
rendering, but this is a level geometry visualization bug (see
`r_novis`).
2022-09-13 20:20:03 +02:00
..
Buffer LibGL+LibGPU+LibSoftGPU: Implement flexible pixel format conversion 2022-08-27 12:28:05 +02:00
AlphaBlendFactors.h LibSoftGPU: Move alpha blend factor setup out of triangle rasterization 2022-01-09 16:21:13 +03:30
Clipper.cpp LibGL+LibGPU+LibSoftGPU: Implement matrix stack per texture unit 2022-09-11 22:37:07 +01:00
Clipper.h LibGL+LibGPU+LibSoftGPU: Implement and expose glClipPlane 2022-05-11 23:09:47 +02:00
CMakeLists.txt LibGL+LibGPU+LibSoftGPU: Implement flexible pixel format conversion 2022-08-27 12:28:05 +02:00
Config.h LibSoftGPU: Reduce subpixel precision from 6 to 4 bits 2022-09-13 20:20:03 +02:00
Device.cpp LibGL+LibGPU+LibSoftGPU: Report texture clamp to edge support 2022-09-11 22:37:07 +01:00
Device.h LibGL+LibGPU+LibSoftGPU: Implement matrix stack per texture unit 2022-09-11 22:37:07 +01:00
Image.cpp LibGL+LibGPU+LibSoftGPU: Implement GL_GENERATE_MIPMAP 2022-09-11 22:37:07 +01:00
Image.h LibGL+LibGPU+LibSoftGPU: Implement GL_GENERATE_MIPMAP 2022-09-11 22:37:07 +01:00
PixelConverter.cpp LibGL+LibGPU+LibSoftGPU: Implement texture pixel format support 2022-08-27 12:28:05 +02:00
PixelConverter.h LibGL+LibGPU+LibSoftGPU: Implement texture pixel format support 2022-08-27 12:28:05 +02:00
PixelQuad.h LibGL+LibGPU+LibSoftGPU: Implement matrix stack per texture unit 2022-09-11 22:37:07 +01:00
Sampler.cpp LibGL: Implement GL_TEXTURE_LOD_BIAS for texture objects 2022-09-13 20:20:03 +02:00
Sampler.h LibGL+LibGPU+LibSoftGPU: Move SamplerConfig to LibGPU 2022-04-06 11:32:24 +02:00
SIMD.h LibGL+LibGPU+LibSoftGPU: Implement point and line drawing 2022-05-09 21:49:48 +02:00
Triangle.h LibGL+LibGPU+LibSoftGPU: Implement point and line drawing 2022-05-09 21:49:48 +02:00