remove simd, scalar math + compiler optimizations are good enough
This commit is contained in:
parent
e2c7998663
commit
4d84122ef3
8 changed files with 41 additions and 509 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue