mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 15:27:35 +00:00
LibGL+LibSoftGPU: Implement the stencil buffer
This implements an 8-bit front stencil buffer. Stencil operations are SIMD optimized. LibGL changes include: * New `glStencilMask` and `glStencilMaskSeparate` functions * New context parameter `GL_STENCIL_CLEAR_VALUE`
This commit is contained in:
parent
6386671944
commit
11c807ebd1
13 changed files with 430 additions and 77 deletions
|
@ -109,6 +109,17 @@ ALWAYS_INLINE static f32x4 load4_masked(float const* a, float const* b, float co
|
|||
};
|
||||
}
|
||||
|
||||
ALWAYS_INLINE static i32x4 load4_masked(u8 const* a, u8 const* b, u8 const* c, u8 const* d, i32x4 mask)
|
||||
{
|
||||
int bits = maskbits(mask);
|
||||
return i32x4 {
|
||||
bits & 1 ? *a : 0,
|
||||
bits & 2 ? *b : 0,
|
||||
bits & 4 ? *c : 0,
|
||||
bits & 8 ? *d : 0,
|
||||
};
|
||||
}
|
||||
|
||||
ALWAYS_INLINE static u32x4 load4_masked(u32 const* a, u32 const* b, u32 const* c, u32 const* d, i32x4 mask)
|
||||
{
|
||||
int bits = maskbits(mask);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue