Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/engine/renderer/Material.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1526,6 +1526,7 @@ void MaterialSystem::DepthReduction() {
uint32_t globalWorkgroupX = ( width + 7 ) / 8;
uint32_t globalWorkgroupY = ( height + 7 ) / 8;

// FIXME: u_DepthMap object on the shader is not actually used
GL_Bind( tr.currentDepthImage );
glBindImageTexture( 2, depthImage->texnum, 0, GL_FALSE, 0, GL_WRITE_ONLY, GL_R32F );

Expand Down
77 changes: 3 additions & 74 deletions src/engine/renderer/gl_shader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2407,11 +2407,6 @@ GLShader_genericMaterial::GLShader_genericMaterial() :
GLCompileMacro_USE_DEPTH_FADE( this ) {
}

void GLShader_genericMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_ColorMap" ), 0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 1 );
}

GLShader_lightMapping::GLShader_lightMapping() :
GLShader( "lightMapping", ATTR_POSITION | ATTR_TEXCOORD | ATTR_QTANGENT | ATTR_COLOR,
false, "lightMapping", "lightMapping" ),
Expand Down Expand Up @@ -2477,9 +2472,6 @@ void GLShader_lightMapping::SetShaderProgramUniforms( ShaderProgramDescriptor *s
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_EnvironmentMap0" ), BIND_ENVIRONMENTMAP0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_EnvironmentMap1" ), BIND_ENVIRONMENTMAP1 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_LightTiles" ), BIND_LIGHTTILES );
if( !glConfig2.uniformBufferObjectAvailable ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_Lights" ), BIND_LIGHTS );
}
}

GLShader_lightMappingMaterial::GLShader_lightMappingMaterial() :
Expand Down Expand Up @@ -2528,22 +2520,6 @@ GLShader_lightMappingMaterial::GLShader_lightMappingMaterial() :
GLCompileMacro_USE_PHYSICAL_MAPPING( this ) {
}

void GLShader_lightMappingMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DiffuseMap" ), BIND_DIFFUSEMAP );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), BIND_NORMALMAP );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), BIND_HEIGHTMAP );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_MaterialMap" ), BIND_MATERIALMAP );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_LightMap" ), BIND_LIGHTMAP );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DeluxeMap" ), BIND_DELUXEMAP );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_GlowMap" ), BIND_GLOWMAP );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_EnvironmentMap0" ), BIND_ENVIRONMENTMAP0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_EnvironmentMap1" ), BIND_ENVIRONMENTMAP1 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_LightTiles" ), BIND_LIGHTTILES );
if ( !glConfig2.uniformBufferObjectAvailable ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_Lights" ), BIND_LIGHTS );
}
}

GLShader_reflection::GLShader_reflection():
GLShader( "reflection", ATTR_POSITION | ATTR_TEXCOORD | ATTR_QTANGENT,
false, "reflection_CB", "reflection_CB" ),
Expand All @@ -2570,7 +2546,7 @@ GLShader_reflection::GLShader_reflection():

void GLShader_reflection::SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram )
{
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_ColorMap" ), 0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_ColorMapCube" ), 0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), 1 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), 15 );
}
Expand All @@ -2594,12 +2570,6 @@ GLShader_reflectionMaterial::GLShader_reflectionMaterial() :
GLCompileMacro_USE_RELIEF_MAPPING( this ) {
}

void GLShader_reflectionMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_ColorMap" ), 0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), 1 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), 15 );
}

GLShader_skybox::GLShader_skybox() :
GLShader( "skybox", ATTR_POSITION,
false, "skybox", "skybox" ),
Expand Down Expand Up @@ -2631,11 +2601,6 @@ GLShader_skyboxMaterial::GLShader_skyboxMaterial() :
u_ModelViewProjectionMatrix( this )
{}

void GLShader_skyboxMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_ColorMap" ), 0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_CloudMap" ), 1 );
}

GLShader_fogQuake3::GLShader_fogQuake3() :
GLShader( "fogQuake3", ATTR_POSITION | ATTR_QTANGENT,
false, "fogQuake3", "fogQuake3" ),
Expand Down Expand Up @@ -2673,10 +2638,6 @@ GLShader_fogQuake3Material::GLShader_fogQuake3Material() :
GLDeformStage( this ) {
}

void GLShader_fogQuake3Material::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_FogMap" ), 0 );
}

GLShader_fogGlobal::GLShader_fogGlobal() :
GLShader( "fogGlobal", ATTR_POSITION,
false, "screenSpace", "fogGlobal" ),
Expand All @@ -2700,7 +2661,6 @@ GLShader_heatHaze::GLShader_heatHaze() :
false, "heatHaze", "heatHaze" ),
u_CurrentMap( this ),
u_NormalMap( this ),
u_HeightMap( this ),
u_TextureMatrix( this ),
u_DeformMagnitude( this ),
u_ModelViewProjectionMatrix( this ),
Expand All @@ -2719,15 +2679,13 @@ void GLShader_heatHaze::SetShaderProgramUniforms( ShaderProgramDescriptor *shade
{
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), 0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_CurrentMap" ), 1 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), 15 );
}

GLShader_heatHazeMaterial::GLShader_heatHazeMaterial() :
GLShader( "heatHazeMaterial", ATTR_POSITION | ATTR_TEXCOORD | ATTR_QTANGENT,
true, "heatHaze", "heatHaze" ),
u_CurrentMap( this ),
u_NormalMap( this ),
u_HeightMap( this ),
u_TextureMatrix( this ),
u_DeformEnable( this ),
u_DeformMagnitude( this ),
Expand All @@ -2739,12 +2697,6 @@ GLShader_heatHazeMaterial::GLShader_heatHazeMaterial() :
{
}

void GLShader_heatHazeMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), 0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_CurrentMap" ), 1 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), 15 );
}

GLShader_screen::GLShader_screen() :
GLShader( "screen", ATTR_POSITION,
false, "screen", "screen" ),
Expand All @@ -2765,10 +2717,6 @@ GLShader_screenMaterial::GLShader_screenMaterial() :
u_ModelViewProjectionMatrix( this ) {
}

void GLShader_screenMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_CurrentMap" ), 0 );
}

GLShader_portal::GLShader_portal() :
GLShader( "portal", ATTR_POSITION,
false, "portal", "portal" ),
Expand Down Expand Up @@ -2909,17 +2857,6 @@ GLShader_liquidMaterial::GLShader_liquidMaterial() :
GLCompileMacro_USE_RELIEF_MAPPING( this ) {
}

void GLShader_liquidMaterial::SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram )
{
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_CurrentMap" ), 0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_PortalMap" ), 1 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 2 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_NormalMap" ), 3 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_LightGrid1" ), 6 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_LightGrid2" ), 7 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_HeightMap" ), 15 );
}

GLShader_motionblur::GLShader_motionblur() :
GLShader( "motionblur", ATTR_POSITION,
false, "screenSpace", "motionblur" ),
Expand Down Expand Up @@ -2971,7 +2908,7 @@ GLShader_depthtile2::GLShader_depthtile2() :

void GLShader_depthtile2::SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram )
{
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 0 );
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthTile1" ), 0 );
}

GLShader_lighttile::GLShader_lighttile() :
Expand All @@ -2988,11 +2925,7 @@ GLShader_lighttile::GLShader_lighttile() :

void GLShader_lighttile::SetShaderProgramUniforms( ShaderProgramDescriptor *shaderProgram )
{
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 0 );

if( !glConfig2.uniformBufferObjectAvailable ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_Lights" ), 1 );
}
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthTile2" ), 0 );
}

GLShader_fxaa::GLShader_fxaa() :
Expand Down Expand Up @@ -3035,10 +2968,6 @@ GLShader_depthReduction::GLShader_depthReduction() :
u_InitialDepthLevel( this ) {
}

void GLShader_depthReduction::SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) {
glUniform1i( glGetUniformLocation( shaderProgram->id, "u_DepthMap" ), 0 );
}

GLShader_clearSurfaces::GLShader_clearSurfaces() :
GLShader( "clearSurfaces",
false, "clearSurfaces" ),
Expand Down
11 changes: 0 additions & 11 deletions src/engine/renderer/gl_shader.h
Original file line number Diff line number Diff line change
Expand Up @@ -3276,7 +3276,6 @@ class GLShader_genericMaterial :
public GLCompileMacro_USE_DEPTH_FADE {
public:
GLShader_genericMaterial();
void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override;
};

class GLShader_lightMapping :
Expand Down Expand Up @@ -3377,7 +3376,6 @@ class GLShader_lightMappingMaterial :
public GLCompileMacro_USE_PHYSICAL_MAPPING {
public:
GLShader_lightMappingMaterial();
void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override;
};

class GLShader_reflection :
Expand Down Expand Up @@ -3424,7 +3422,6 @@ class GLShader_reflectionMaterial :
public GLCompileMacro_USE_RELIEF_MAPPING {
public:
GLShader_reflectionMaterial();
void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override;
};

class GLShader_skybox :
Expand Down Expand Up @@ -3453,7 +3450,6 @@ class GLShader_skyboxMaterial :
public u_ModelViewProjectionMatrix {
public:
GLShader_skyboxMaterial();
void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override;
};

class GLShader_fogQuake3 :
Expand Down Expand Up @@ -3489,7 +3485,6 @@ class GLShader_fogQuake3Material :
public GLDeformStage {
public:
GLShader_fogQuake3Material();
void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override;
};

class GLShader_fogGlobal :
Expand All @@ -3510,7 +3505,6 @@ class GLShader_heatHaze :
public GLShader,
public u_CurrentMap,
public u_NormalMap,
public u_HeightMap,
public u_TextureMatrix,
public u_DeformMagnitude,
public u_ModelViewProjectionMatrix,
Expand All @@ -3532,7 +3526,6 @@ class GLShader_heatHazeMaterial :
public GLShader,
public u_CurrentMap,
public u_NormalMap,
public u_HeightMap,
public u_TextureMatrix,
public u_DeformEnable,
public u_DeformMagnitude,
Expand All @@ -3544,7 +3537,6 @@ class GLShader_heatHazeMaterial :
{
public:
GLShader_heatHazeMaterial();
void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override;
};

class GLShader_screen :
Expand All @@ -3563,7 +3555,6 @@ class GLShader_screenMaterial :
public u_ModelViewProjectionMatrix {
public:
GLShader_screenMaterial();
void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override;
};

class GLShader_portal :
Expand Down Expand Up @@ -3684,7 +3675,6 @@ class GLShader_liquidMaterial :
public GLCompileMacro_USE_RELIEF_MAPPING {
public:
GLShader_liquidMaterial();
void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override;
};

class GLShader_motionblur :
Expand Down Expand Up @@ -3779,7 +3769,6 @@ class GLShader_depthReduction :
public u_InitialDepthLevel {
public:
GLShader_depthReduction();
void SetShaderProgramUniforms( ShaderProgramDescriptor* shaderProgram ) override;
};

class GLShader_clearSurfaces :
Expand Down
2 changes: 1 addition & 1 deletion src/engine/renderer/tr_backend.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1306,7 +1306,7 @@ void RB_RenderPostDepthLightTile()
gl_lighttileShader->SetUniformBlock_Lights( tr.dlightUBO );

gl_lighttileShader->SetUniform_DepthTile2Bindless(
GL_BindToTMU( 1, tr.depthtile2RenderImage )
GL_BindToTMU( 0, tr.depthtile2RenderImage )
);

R_BindVBO( tr.lighttileVBO );
Expand Down