summaryrefslogtreecommitdiff
path: root/vcl/opengl/scale.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/opengl/scale.cxx')
-rw-r--r--vcl/opengl/scale.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/vcl/opengl/scale.cxx b/vcl/opengl/scale.cxx
index 9feb933d0ed4..3e2b9d4127fc 100644
--- a/vcl/opengl/scale.cxx
+++ b/vcl/opengl/scale.cxx
@@ -231,8 +231,14 @@ bool OpenGLSalBitmap::ImplScaleArea( const rtl::Reference< OpenGLContext > &xCon
// TODO Make sure the framebuffer is alright
+ OString sUseReducedRegisterVariantDefine;
+ if (xContext->getOpenGLCapabilitySwitch().mbLimitedShaderRegisters)
+ sUseReducedRegisterVariantDefine = OString("#define USE_REDUCED_REGISTER_VARIANT\n");
+
OpenGLProgram* pProgram = xContext->UseProgram( "textureVertexShader",
- fast ? OUString( "areaScaleFastFragmentShader" ) : OUString( "areaScaleFragmentShader" ));
+ fast ? OUString( "areaScaleFastFragmentShader" ) : OUString( "areaScaleFragmentShader" ),
+ sUseReducedRegisterVariantDefine);
+
if( pProgram == nullptr )
return false;
@@ -281,7 +287,7 @@ bool OpenGLSalBitmap::ImplScaleArea( const rtl::Reference< OpenGLContext > &xCon
ixscale = 1 / rScaleX;
iyscale = 1 / rScaleY;
- pProgram = xContext->UseProgram("textureVertexShader", "areaScaleFragmentShader");
+ pProgram = xContext->UseProgram("textureVertexShader", "areaScaleFragmentShader", sUseReducedRegisterVariantDefine);
if (pProgram == nullptr)
return false;