mirror of
https://github.com/love2d/love.git
synced 2026-08-21 05:00:08 +02:00
opengl: Fix love_PixelCoord and love_ScreenSize in shaders.
Fixes #1866.
This commit is contained in:
@@ -551,7 +551,7 @@ std::string Shader::createShaderStageCode(Graphics *gfx, ShaderStageType stage,
|
|||||||
// Note: backends are expected to handle this situation if highp is ever
|
// Note: backends are expected to handle this situation if highp is ever
|
||||||
// conditional in that backend.
|
// conditional in that backend.
|
||||||
if (!gfx->getCapabilities().features[Graphics::FEATURE_PIXEL_SHADER_HIGHP])
|
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)
|
for (const auto &def : options.defines)
|
||||||
ss << "#define " + def.first + " " + def.second + "\n";
|
ss << "#define " + def.first + " " + def.second + "\n";
|
||||||
|
|||||||
@@ -469,7 +469,7 @@ bool Shader::loadVolatile()
|
|||||||
// love::graphics::Shader sets up the shader code-side of this.
|
// love::graphics::Shader sets up the shader code-side of this.
|
||||||
auto gfx = Module::getInstance<love::graphics::Graphics>(Module::M_GRAPHICS);
|
auto gfx = Module::getInstance<love::graphics::Graphics>(Module::M_GRAPHICS);
|
||||||
if (gfx != nullptr)
|
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
|
// zero out active texture list
|
||||||
textureUnits.clear();
|
textureUnits.clear();
|
||||||
|
|||||||
Reference in New Issue
Block a user