mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-23 12:11:49 +00:00
[renderer] Allow render config to be specified
The config is a pre-parsed property list. Currently unsupported by anything but Vulkan (but only a warning is given, not a hard error at this stage), and Vulkan doesn't use it yet.
This commit is contained in:
parent
db46dc8a55
commit
f5e39ba263
11 changed files with 24 additions and 15 deletions
|
@ -117,7 +117,7 @@ typedef struct vid_render_funcs_s {
|
|||
|
||||
struct psystem_s *(*ParticleSystem) (void);
|
||||
struct psystem_s *(*TrailSystem) (void);
|
||||
void (*R_Init) (void);
|
||||
void (*R_Init) (struct plitem_s *config);
|
||||
void (*R_ClearState) (void);
|
||||
void (*R_LoadSkys) (const char *);
|
||||
void (*R_NewScene) (struct scene_s *scene);
|
||||
|
|
|
@ -187,7 +187,8 @@ typedef struct {
|
|||
|
||||
extern struct texture_s *r_notexture_mip;
|
||||
|
||||
void R_Init (void);
|
||||
struct plitem_s;
|
||||
void R_Init (struct plitem_s *config);
|
||||
struct vid_internal_s;
|
||||
void R_LoadModule (struct vid_internal_s *vid_internal);
|
||||
struct progs_s;
|
||||
|
@ -195,7 +196,6 @@ void R_Progs_Init (struct progs_s *pr);
|
|||
|
||||
void Fog_Update (float density, float red, float green, float blue,
|
||||
float time);
|
||||
struct plitem_s;
|
||||
void Fog_ParseWorldspawn (struct plitem_s *worldspawn);
|
||||
|
||||
vec4f_t Fog_Get (void) __attribute__((pure));
|
||||
|
|
|
@ -27,10 +27,10 @@ extern int r_viewsize;
|
|||
void R_LineGraph (int x, int y, int *h_vals, int count, int height);
|
||||
|
||||
|
||||
void gl_R_Init (void);
|
||||
void glsl_R_Init (void);
|
||||
void gl_R_Init (struct plitem_s *config);
|
||||
void glsl_R_Init (struct plitem_s *config);
|
||||
void glsl_R_Shutdown (void);
|
||||
void sw_R_Init (void);
|
||||
void sw_R_Init (struct plitem_s *config);
|
||||
void R_RenderFrame (SCR_Func *scr_funcs);
|
||||
void R_Init_Cvars (void);
|
||||
void R_InitEfrags (void);
|
||||
|
|
|
@ -115,8 +115,11 @@ gl_R_TimeRefresh_f (void)
|
|||
}
|
||||
|
||||
void
|
||||
gl_R_Init (void)
|
||||
gl_R_Init (struct plitem_s *config)
|
||||
{
|
||||
if (config) {
|
||||
Sys_Printf (ONG"WARNING"DFL": gl_R_Init: render config ignored\n");
|
||||
}
|
||||
r_notexture_mip->render = &gl_notexture;
|
||||
|
||||
R_Init_Cvars ();
|
||||
|
|
|
@ -174,8 +174,11 @@ glsl_R_TimeRefresh_f (void)
|
|||
}
|
||||
|
||||
void
|
||||
glsl_R_Init (void)
|
||||
glsl_R_Init (struct plitem_s *config)
|
||||
{
|
||||
if (config) {
|
||||
Sys_Printf (ONG"WARNING"DFL": glsl_R_Init: render config ignored\n");
|
||||
}
|
||||
Cmd_AddCommand ("timerefresh", glsl_R_TimeRefresh_f,
|
||||
"Test the current refresh rate for the current location.");
|
||||
R_Init_Cvars ();
|
||||
|
|
|
@ -101,10 +101,10 @@ R_LoadModule (vid_internal_t *vid_internal)
|
|||
}
|
||||
|
||||
VISIBLE void
|
||||
R_Init (void)
|
||||
R_Init (struct plitem_s *config)
|
||||
{
|
||||
qfZoneScoped (true);
|
||||
r_funcs->R_Init ();
|
||||
r_funcs->R_Init (config);
|
||||
R_ClearEfrags (); //FIXME force link of r_efrag.o for qwaq
|
||||
Fog_Init ();
|
||||
R_Trails_Init ();
|
||||
|
|
|
@ -105,8 +105,11 @@ float r_viewmatrix[3][4];
|
|||
float r_aliastransition, r_resfudge;
|
||||
|
||||
void
|
||||
sw_R_Init (void)
|
||||
sw_R_Init (struct plitem_s *config)
|
||||
{
|
||||
if (config) {
|
||||
Sys_Printf (ONG"WARNING"DFL": sw_R_Init: render config ignored\n");
|
||||
}
|
||||
int dummy;
|
||||
|
||||
// get stack position so we can guess if we are going to overflow
|
||||
|
|
|
@ -90,7 +90,7 @@ vulkan_ParticleSystem (void)
|
|||
}
|
||||
|
||||
static void
|
||||
vulkan_R_Init (void)
|
||||
vulkan_R_Init (struct plitem_s *config)
|
||||
{
|
||||
QFV_Render_Init (vulkan_ctx);
|
||||
|
||||
|
|
|
@ -735,7 +735,7 @@ CL_Init (cbuf_t *cbuf)
|
|||
VID_Init (basepal, colormap);
|
||||
IN_Init ();
|
||||
GIB_Key_Init ();
|
||||
R_Init ();
|
||||
R_Init (nullptr);
|
||||
r_data->lightstyle = cl.lightstyle;
|
||||
S_Init (&cl.viewentity, &host_frametime);
|
||||
Font_Init (); //FIXME not here
|
||||
|
|
|
@ -1472,7 +1472,7 @@ CL_Init (void)
|
|||
VID_Init (basepal, colormap);
|
||||
IN_Init ();
|
||||
Mod_Init ();
|
||||
R_Init ();
|
||||
R_Init (nullptr);
|
||||
r_data->lightstyle = cl.lightstyle;
|
||||
Font_Init (); //FIXME not here
|
||||
|
||||
|
|
|
@ -383,7 +383,7 @@ BI_Graphics_Init (progs_t *pr)
|
|||
VID_Init (default_palette[0], default_colormap);
|
||||
IN_Init ();
|
||||
Mod_Init ();
|
||||
R_Init ();
|
||||
R_Init (nullptr);
|
||||
Font_Init ();
|
||||
|
||||
R_Progs_Init (pr);
|
||||
|
|
Loading…
Reference in a new issue