quakeforge/libs/video/renderer
Bill Currie 6d5e8922a5 [qfcc] Add a handle type for engine resources
I never liked the various hacks I had come up with for representing
resource handles in Ruamoko. Structs with an int were awkward to test,
pointers and ints could be modified, etc etc. The new @handle keyword (@
used to keep handle free for use) works just like struct, union and
enum in syntax, but creates an opaque type suitable for a 32-bit handle.
The backing type is a function so v6 progs can use it without (all the
necessary opcodes exist) and no modifications were needed for
type-checking in binary expressions, but only assignment and comparisons
are supported, and (of course) nil. Tested using cbuf_t and QFile: seems
to work as desired.

I had considered 64-bit handles, but really, if more than 4G resource
objects are needed, I'm not sure QF can handle the game. However, that
limit is per resource manager, not total.
2023-05-25 10:41:28 +09:00
..
gl [renderer] Add fitted pic rendering 2023-01-17 11:33:47 +09:00
glsl [glsl] Be more null-safe for free/destroy functions 2023-03-06 18:21:13 +09:00
sw [vid] Allow render systems to unload late 2023-03-06 21:15:15 +09:00
vulkan [qfcc] Add a handle type for engine resources 2023-05-25 10:41:28 +09:00
crosshair.c [renderer] Make cross hair data easier to see in code 2022-11-18 11:11:38 +09:00
font8x8.c [renderer] Add a default 8x8 font 2021-01-08 14:37:52 +09:00
Makemodule.am [vulkan] Attempt to load the render info spec 2023-02-14 15:17:18 +09:00
noisetextures.c Change pointer_t to unsigned and clean up the mess. 2012-12-21 21:53:13 +09:00
r_alias.c [scene] Move entity_t etc into scene headers 2022-03-29 14:43:38 +09:00
r_billboard.c [scene] Make entity_t just an entity id for ECS 2022-10-23 22:24:36 +09:00
r_bsp.c [sw] Take advantage of the ECS for edge rendering 2022-10-25 19:36:09 +09:00
r_cvar.c [vid] Remove console view from viddef_t 2022-09-21 17:31:18 +09:00
r_draw.c [console] Resurrect console scaling 2022-11-14 09:49:13 +09:00
r_dyn_textures.c [image] Change tex_t data from array to pointer 2021-01-25 00:54:41 +09:00
r_ent.c [sound] Remove a pile of unwanted sound.h includes 2022-06-03 15:43:53 +09:00
r_fog.c [renderer] Fix some non-static linking issues 2022-03-09 06:55:31 +09:00
r_graph.c [renderer] Improve time graph display 2022-12-02 10:52:16 +09:00
r_init.c [glsl] Fix a pile of memory leaks 2023-03-05 18:31:30 +09:00
r_iqm.c [scene] Make entity_t just an entity id for ECS 2022-10-23 22:24:36 +09:00
r_light.c [glsl] Fix a pile of memory leaks 2023-03-05 18:31:30 +09:00
r_main.c [model] Move plane info into mnode_t, and visframe out 2022-05-22 12:41:23 +09:00
r_part.c [cvar] Make cvars properly typed 2022-04-24 19:15:22 +09:00
r_progs.c [glsl] Fix a pile of memory leaks 2023-03-05 18:31:30 +09:00
r_scrap.c [glsl] Be more null-safe for free/destroy functions 2023-03-06 18:21:13 +09:00
r_screen.c [glsl] Fix a pile of memory leaks 2023-03-05 18:31:30 +09:00
r_sprite.c [scene] Move entity_t etc into scene headers 2022-03-29 14:43:38 +09:00
vid_common.c [ui] Convert view_t to an ECS entity 2022-11-01 00:40:52 +09:00
vid_render_gl.c [vid] Allow render systems to unload late 2023-03-06 21:15:15 +09:00
vid_render_glsl.c [vid] Allow render systems to unload late 2023-03-06 21:15:15 +09:00
vid_render_sw.c [sw] Free alias model cache memory when clearing models 2023-03-20 17:45:28 +09:00
vid_render_vulkan.c [vid] Allow render systems to unload late 2023-03-06 21:15:15 +09:00