Skip to content

Commit 521756c

Browse files
committed
Mark some global shaders for building at initialisation
1 parent a586221 commit 521756c

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

src/engine/renderer/tr_shade.cpp

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,8 @@ void GLSL_InitWorldShaders() {
207207
// Material system shaders that are always loaded if material system is available
208208
if ( glConfig2.usingMaterialSystem ) {
209209
gl_shaderManager.LoadShader( gl_cullShader );
210+
211+
gl_cullShader->MarkProgramForBuilding( 0 );
210212
}
211213
}
212214

@@ -240,6 +242,10 @@ static void GLSL_InitGPUShadersOrError()
240242
gl_shaderManager.LoadShader( gl_clearSurfacesShader );
241243
gl_shaderManager.LoadShader( gl_processSurfacesShader );
242244
gl_shaderManager.LoadShader( gl_depthReductionShader );
245+
246+
gl_clearSurfacesShader->MarkProgramForBuilding( 0 );
247+
gl_processSurfacesShader->MarkProgramForBuilding( 0 );
248+
gl_depthReductionShader->MarkProgramForBuilding( 0 );
243249
}
244250

245251
if ( tr.world ) // this only happens with /glsl_restart
@@ -267,6 +273,10 @@ static void GLSL_InitGPUShadersOrError()
267273
gl_shaderManager.LoadShader( gl_depthtile1Shader );
268274
gl_shaderManager.LoadShader( gl_depthtile2Shader );
269275
gl_shaderManager.LoadShader( gl_lighttileShader );
276+
277+
gl_depthtile1Shader->MarkProgramForBuilding( 0 );
278+
gl_depthtile2Shader->MarkProgramForBuilding( 0 );
279+
gl_lighttileShader->MarkProgramForBuilding( 0 );
270280
DAEMON_FALLTHROUGH;
271281
default:
272282
/* Dynamic shadowing code also needs this shader.
@@ -302,9 +312,13 @@ static void GLSL_InitGPUShadersOrError()
302312
// skybox drawing for abitrary polygons
303313
gl_shaderManager.LoadShader( gl_skyboxShader );
304314

315+
gl_skyboxShader->MarkProgramForBuilding( 0 );
316+
305317
if ( glConfig2.usingMaterialSystem )
306318
{
307319
gl_shaderManager.LoadShader( gl_skyboxShaderMaterial );
320+
321+
gl_skyboxShaderMaterial->MarkProgramForBuilding( 0 );
308322
}
309323
}
310324

@@ -320,6 +334,8 @@ static void GLSL_InitGPUShadersOrError()
320334

321335
// global fog post process effect
322336
gl_shaderManager.LoadShader( gl_fogGlobalShader );
337+
338+
gl_fogGlobalShader->MarkProgramForBuilding( 0 );
323339
}
324340

325341
if ( r_heatHaze->integer )
@@ -338,26 +354,38 @@ static void GLSL_InitGPUShadersOrError()
338354
// screen post process effect
339355
gl_shaderManager.LoadShader( gl_screenShader );
340356

357+
gl_screenShader->MarkProgramForBuilding( 0 );
358+
341359
if ( glConfig2.usingMaterialSystem )
342360
{
343361
gl_shaderManager.LoadShader( gl_screenShaderMaterial );
362+
363+
gl_screenShaderMaterial->MarkProgramForBuilding( 0 );
344364
}
345365

346366
// LDR bright pass filter
347367
gl_shaderManager.LoadShader( gl_contrastShader );
368+
369+
gl_contrastShader->MarkProgramForBuilding( 0 );
348370
}
349371

350372

351373
// portal process effect
352374
gl_shaderManager.LoadShader( gl_portalShader );
353375

376+
gl_portalShader->MarkProgramForBuilding( 0 );
377+
354378
// camera post process effect
355379
gl_shaderManager.LoadShader( gl_cameraEffectsShader );
356380

381+
gl_cameraEffectsShader->MarkProgramForBuilding( 0 );
382+
357383
if ( glConfig2.bloom || glConfig2.shadowMapping )
358384
{
359385
// gaussian blur
360386
gl_shaderManager.LoadShader( gl_blurShader );
387+
388+
gl_blurShader->MarkProgramForBuilding( 0 );
361389
}
362390

363391
if ( glConfig2.shadowMapping )
@@ -382,16 +410,22 @@ static void GLSL_InitGPUShadersOrError()
382410
if ( glConfig2.motionBlur )
383411
{
384412
gl_shaderManager.LoadShader( gl_motionblurShader );
413+
414+
gl_motionblurShader->MarkProgramForBuilding( 0 );
385415
}
386416

387417
if ( glConfig2.ssao )
388418
{
389419
gl_shaderManager.LoadShader( gl_ssaoShader );
420+
421+
gl_ssaoShader->MarkProgramForBuilding( 0 );
390422
}
391423

392424
if ( r_FXAA->integer != 0 )
393425
{
394426
gl_shaderManager.LoadShader( gl_fxaaShader );
427+
428+
gl_fxaaShader->MarkProgramForBuilding( 0 );
395429
}
396430

397431
if ( r_lazyShaders.Get() == 0 )

0 commit comments

Comments
 (0)