mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-15 01:11:27 +00:00
765b61d133
This was one of the biggest reasons I had trouble understanding the bsp display list code, but it turns out it was for dealing with GLES's 16-bit limit on vertex indices. Since vulkan uses 32-bit indices, there's no need for the extra layer of indirection. I'm pretty sure it was that lack of understanding that prevented me from removing it when I first converted the glsl bsp code to vulkan (ie, that 16-bit indices were the only reason for elements_t). It's hard to tell whether the change makes much difference to performance, though it seems it might (noisy stats even over 50 timedemo loops) and the better data localization indicate it should at least be just as good if not better. However, the reason for the change is simplifying the data structures so I can make bsp rendering thread-safe in preparation for rendering shadow maps. |
||
---|---|---|
.. | ||
gl | ||
glsl | ||
sw | ||
vulkan | ||
crosshair.c | ||
font8x8.c | ||
Makemodule.am | ||
noisetextures.c | ||
r_alias.c | ||
r_billboard.c | ||
r_bsp.c | ||
r_cvar.c | ||
r_dyn_textures.c | ||
r_efrag.c | ||
r_ent.c | ||
r_fog.c | ||
r_graph.c | ||
r_init.c | ||
r_iqm.c | ||
r_light.c | ||
r_main.c | ||
r_part.c | ||
r_progs.c | ||
r_scrap.c | ||
r_screen.c | ||
r_sprite.c | ||
vid_common.c | ||
vid_render_gl.c | ||
vid_render_glsl.c | ||
vid_render_sw.c | ||
vid_render_vulkan.c |