Browse Source

opengl: Fix love_PixelCoord and love_ScreenSize in shaders.

Fixes #1866.
Sasha Szpakowski 2 years ago
parent
commit
6599697835
2 changed files with 2 additions and 2 deletions
  1. 1 1
      src/modules/graphics/Shader.cpp
  2. 1 1
      src/modules/graphics/opengl/Shader.cpp

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

@@ -551,7 +551,7 @@ std::string Shader::createShaderStageCode(Graphics *gfx, ShaderStageType stage,
 	// Note: backends are expected to handle this situation if highp is ever
 	// conditional in that backend.
 	if (!gfx->getCapabilities().features[Graphics::FEATURE_PIXEL_SHADER_HIGHP])
-		ss << "#define LOVE_SPLIT_UNIFORMS_PER_DRAW 1";
+		ss << "#define LOVE_SPLIT_UNIFORMS_PER_DRAW 1\n";
 
 	for (const auto &def : options.defines)
 		ss << "#define " + def.first + " " + def.second + "\n";

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

@@ -469,7 +469,7 @@ bool Shader::loadVolatile()
 	// love::graphics::Shader sets up the shader code-side of this.
 	auto gfx = Module::getInstance<love::graphics::Graphics>(Module::M_GRAPHICS);
 	if (gfx != nullptr)
-		splitUniformsPerDraw = gfx->getCapabilities().features[Graphics::FEATURE_PIXEL_SHADER_HIGHP];
+		splitUniformsPerDraw = !gfx->getCapabilities().features[Graphics::FEATURE_PIXEL_SHADER_HIGHP];
 
 	// zero out active texture list
 	textureUnits.clear();