@@ -171,6 +171,10 @@ static Cvar::Cvar<bool> workaround_glDriver_nvidia_v340_disableTextureGather(
171171 " workaround.glDriver.nvidia.v340.disableTextureGather" ,
172172 " Disable ARB_texture_gather on Nvidia 340 driver" ,
173173 Cvar::NONE, true );
174+ static Cvar::Cvar<bool > workaround_glDriver_zhaoxin_disableRealtimeLighting (
175+ " workaround.glDriver.zhaoxin.disableRealtimeLighting" ,
176+ " Disable realtime lighting on Zhaoxin driver" ,
177+ Cvar::NONE, true );
174178static Cvar::Cvar<bool > workaround_glExtension_missingArbFbo_useExtFbo (
175179 " workaround.glExtension.missingArbFbo.useExtFbo" ,
176180 " Use EXT_framebuffer_object and EXT_framebuffer_blit when ARB_framebuffer_object is not available" ,
@@ -2681,6 +2685,12 @@ static void GLimp_EnableAvailableFeatures()
26812685
26822686 if ( glConfig.realtimeLighting )
26832687 {
2688+ if ( workaround_glDriver_zhaoxin_disableRealtimeLighting.Get () )
2689+ {
2690+ Log::Warn (" Tiled dynamic light renderer disabled because of buggy Zhaoxin driver." );
2691+ glConfig.realtimeLighting = false ;
2692+ }
2693+
26842694 if ( !glConfig.uniformBufferObjectAvailable ) {
26852695 Log::Warn ( " Tiled dynamic light renderer disabled because GL_ARB_uniform_buffer_object is not available." );
26862696 glConfig.realtimeLighting = false ;
@@ -2892,6 +2902,7 @@ bool GLimp_Init()
28922902 Cvar::Latch ( workaround_glDriver_mesa_intel_gma3_stubOcclusionQuery );
28932903 Cvar::Latch ( workaround_glDriver_mesa_v241_disableBindlessTexture );
28942904 Cvar::Latch ( workaround_glDriver_nvidia_v340_disableTextureGather );
2905+ Cvar::Latch ( workaround_glDriver_zhaoxin_disableRealtimeLighting );
28952906 Cvar::Latch ( workaround_glExtension_missingArbFbo_useExtFbo );
28962907 Cvar::Latch ( workaround_glExtension_glsl120_disableShaderDrawParameters );
28972908 Cvar::Latch ( workaround_glExtension_glsl120_disableTextureBarrier );
0 commit comments