remove simd, scalar math + compiler optimizations are good enough

This commit is contained in:
asrael 2025-11-11 12:26:22 -06:00
parent e2c7998663
commit 4d84122ef3
8 changed files with 41 additions and 509 deletions

View file

@ -635,11 +635,11 @@ void pxl8_sprite(pxl8_gfx* gfx, u32 sprite_id, i32 x, i32 y, i32 w, i32 h) {
u32 atlas_width = pxl8_atlas_get_width(gfx->atlas);
const u8* atlas_pixels = pxl8_atlas_get_pixels(gfx->atlas);
if (is_1to1_scale && is_unclipped && pxl8_is_simd_aligned(w)) {
if (is_1to1_scale && is_unclipped) {
const u8* sprite_data = atlas_pixels + entry->y * atlas_width + entry->x;
if (gfx->color_mode == PXL8_COLOR_MODE_HICOLOR) {
pxl8_blit_simd_hicolor(
pxl8_blit_hicolor(
(u32*)gfx->framebuffer,
gfx->framebuffer_width,
(const u32*)sprite_data,
@ -647,7 +647,7 @@ void pxl8_sprite(pxl8_gfx* gfx, u32 sprite_id, i32 x, i32 y, i32 w, i32 h) {
x, y, w, h
);
} else {
pxl8_blit_simd_indexed(
pxl8_blit_indexed(
gfx->framebuffer,
gfx->framebuffer_width,
sprite_data,
@ -810,20 +810,9 @@ void pxl8_3d_clear_zbuffer(pxl8_gfx* gfx) {
i32 count = gfx->zbuffer_width * gfx->zbuffer_height;
const f32 far_z = 1e30f;
#if !defined(PXL8_SIMD_SCALAR)
pxl8_simd_vec_f32 far_vec = pxl8_simd_set1_f32(far_z);
i32 i = 0;
for (; i + PXL8_SIMD_WIDTH_F32 <= count; i += PXL8_SIMD_WIDTH_F32) {
pxl8_simd_store_f32(&gfx->zbuffer[i], far_vec);
}
for (; i < count; i++) {
gfx->zbuffer[i] = far_z;
}
#else
for (i32 i = 0; i < count; i++) {
gfx->zbuffer[i] = far_z;
}
#endif
}
void pxl8_3d_set_backface_culling(pxl8_gfx* gfx, bool culling) {