1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:17:35 +00:00

LibGL+LibGPU+LibSoftGPU: Implement matrix stack per texture unit

Each texture unit now has its own texture transformation matrix stack.
Introduce a new texture unit configuration that is synced when changed.
Because we're no longer passing a silly `Vector` when drawing each
primitive, this results in a slightly improved frames per second :^)
This commit is contained in:
Jelle Raaijmakers 2022-09-05 00:40:27 +02:00 committed by Linus Groh
parent 1540c56e6c
commit 00d46e5d77
22 changed files with 208 additions and 152 deletions

View file

@ -25,7 +25,7 @@ struct PixelQuad final {
Vector3<f32x4> barycentrics;
f32x4 depth;
Vector4<f32x4> vertex_color;
Array<Vector4<f32x4>, GPU::NUM_SAMPLERS> texture_coordinates;
Array<Vector4<f32x4>, GPU::NUM_TEXTURE_UNITS> texture_coordinates;
Vector4<f32x4> out_color;
f32x4 fog_depth;
i32x4 mask;