Browse Source

opengl: only populate Shader:getWarnings string when there are warnings.

Sasha Szpakowski 1 year ago
parent
commit
ff06718f8a
2 changed files with 2 additions and 2 deletions
  1. 1 1
      src/modules/graphics/opengl/Shader.cpp
  2. 1 1
      testing/tests/graphics.lua

+ 1 - 1
src/modules/graphics/opengl/Shader.cpp

@@ -600,7 +600,7 @@ std::string Shader::getWarnings() const
 
 		const std::string &stagewarnings = stage->getWarnings();
 
-		if (ShaderStage::getConstant(stage->getStageType(), stagestr))
+		if (!stagewarnings.empty() && ShaderStage::getConstant(stage->getStageType(), stagestr))
 			warnings += std::string(stagestr) + std::string(" shader:\n") + stagewarnings;
 	}
 

+ 1 - 1
testing/tests/graphics.lua

@@ -803,7 +803,7 @@ love.test.graphics.Shader = function(test)
   ]]
   local shader1 = love.graphics.newShader(pixelcode1, vertexcode1, {debugname = 'testshader'})
   test:assertObject(shader1)
-  test:assertEquals('vertex shader:\npixel shader:\n', shader1:getWarnings(), 'check shader valid')
+  test:assertEquals('', shader1:getWarnings(), 'check shader valid')
   test:assertFalse(shader1:hasUniform('tex1'), 'check invalid uniform')
   test:assertTrue(shader1:hasUniform('tex2'), 'check valid uniform')
   test:assertEquals('testshader', shader1:getDebugName())