From: Eunki Hong Date: Thu, 6 Feb 2025 14:54:02 +0000 (+0900) Subject: [Tizen] Make TextureCoordinate relative shader codes use highp X-Git-Tag: accepted/tizen/9.0/unified/20250210.170334^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ad177af9ca6f96cd42f67ed26cacfba72394ef52;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [Tizen] Make TextureCoordinate relative shader codes use highp Let we make texture coordinates and relative shader codes use highp instead of mediump. It will reduce visual defect for high-resolution UI system Change-Id: I2c326c90cf98ff0496aeb294825bf72c519821e2 Signed-off-by: Eunki Hong --- diff --git a/dali-scene3d/internal/graphics/shaders/default-physically-based-shader.frag b/dali-scene3d/internal/graphics/shaders/default-physically-based-shader.frag index e9d48648ca..3b6680230b 100644 --- a/dali-scene3d/internal/graphics/shaders/default-physically-based-shader.frag +++ b/dali-scene3d/internal/graphics/shaders/default-physically-based-shader.frag @@ -16,11 +16,7 @@ // [4] \"An Inexpensive BRDF Model for Physically based Rendering\" by Christophe Schlick // https://www.cs.virginia.edu/~jdl/bib/appearance/analytic%20models/schlick94b.pdf -#ifdef HIGHP precision highp float; -#else -precision mediump float; -#endif #ifdef GLTF_CHANNELS #define METALLIC b @@ -90,8 +86,8 @@ uniform sampler2D sSpecularColor; // For Light (Currently Directional Only) #define MAX_LIGHTS 5 uniform mediump int uLightCount; -uniform mediump vec3 uLightDirection[MAX_LIGHTS]; -uniform mediump vec3 uLightColor[MAX_LIGHTS]; +uniform highp vec3 uLightDirection[MAX_LIGHTS]; +uniform highp vec3 uLightColor[MAX_LIGHTS]; // For Shadow Map uniform lowp int uIsShadowEnabled; @@ -117,9 +113,9 @@ uniform lowp float uMask; uniform lowp float uAlphaThreshold; // TODO: Multiple texture coordinate will be supported. -INPUT mediump vec2 vUV; -INPUT lowp mat3 vTBN; -INPUT lowp vec4 vColor; +INPUT highp vec2 vUV; +INPUT highp mat3 vTBN; +INPUT highp vec4 vColor; INPUT highp vec3 vPositionToCamera; const float c_MinRoughness = 0.04; @@ -167,7 +163,7 @@ void main() #ifdef THREE_TEX // The albedo may be defined from a base texture or a flat color #ifdef BASECOLOR_TEX - mediump vec2 baseColorTexCoords = mix(vUV, computeTextureTransform(vUV, uBaseColorTextureTransform), uBaseColorTextureTransformAvailable); + highp vec2 baseColorTexCoords = mix(vUV, computeTextureTransform(vUV, uBaseColorTextureTransform), uBaseColorTextureTransformAvailable); lowp vec4 baseColor = TEXTURE(sAlbedoAlpha, baseColorTexCoords); baseColor = vColor * vec4(linear(baseColor.rgb), baseColor.w) * uColorFactor; #else // BASECOLOR_TEX @@ -175,25 +171,25 @@ void main() #endif // BASECOLOR_TEX #ifdef METALLIC_ROUGHNESS_TEX - mediump vec2 metalRoughnessTexCoords = mix(vUV, computeTextureTransform(vUV, uMetalRoughnessTextureTransform), uMetalRoughnessTextureTransformAvailable); + highp vec2 metalRoughnessTexCoords = mix(vUV, computeTextureTransform(vUV, uMetalRoughnessTextureTransform), uMetalRoughnessTextureTransformAvailable); lowp vec4 metrou = TEXTURE(sMetalRoughness, metalRoughnessTexCoords); metallic = metrou.METALLIC * metallic; perceptualRoughness = metrou.ROUGHNESS * perceptualRoughness; #endif // METALLIC_ROUGHNESS_TEX #ifdef NORMAL_TEX - mediump vec2 normalTexCoords = mix(vUV, computeTextureTransform(vUV, uNormalTextureTransform), uNormalTextureTransformAvailable); + highp vec2 normalTexCoords = mix(vUV, computeTextureTransform(vUV, uNormalTextureTransform), uNormalTextureTransformAvailable); n = TEXTURE(sNormal, normalTexCoords).rgb; n = normalize(vTBN * ((2.0 * n - 1.0) * vec3(uNormalScale, uNormalScale, 1.0))); #endif // NORMAL_TEX #else // THREE_TEX - mediump vec2 baseColorTexCoords = mix(vUV, computeTextureTransform(vUV, uBaseColorTextureTransform), uBaseColorTextureTransformAvailable); + highp vec2 baseColorTexCoords = mix(vUV, computeTextureTransform(vUV, uBaseColorTextureTransform), uBaseColorTextureTransformAvailable); vec4 albedoMetal = TEXTURE(sAlbedoMetal, baseColorTexCoords); lowp vec4 baseColor = vec4(linear(albedoMetal.rgb), 1.0) * vColor * uColorFactor; metallic = albedoMetal.METALLIC * metallic; - mediump vec2 normalRoughnessTexCoords = mix(vUV, computeTextureTransform(vUV, uNormalRoughnessTextureTransform), uNormalRoughnessTextureTransformAvailable); + highp vec2 normalRoughnessTexCoords = mix(vUV, computeTextureTransform(vUV, uNormalRoughnessTextureTransform), uNormalRoughnessTextureTransformAvailable); vec4 normalRoughness = TEXTURE(sNormalRoughness, normalRoughnessTexCoords); perceptualRoughness = normalRoughness.ROUGHNESS * perceptualRoughness; @@ -233,9 +229,9 @@ void main() f0 = min(f0 * uSpecularColorFactor * materialSpecularTexture.rgb, vec3(1.0)); f0 = mix(f0, baseColor.rgb, metallic); - mediump vec3 v = normalize(vPositionToCamera); // Vector from surface point to camera - mediump float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0); - mediump vec3 reflection = -normalize(reflect(v, n)); + highp vec3 v = normalize(vPositionToCamera); // Vector from surface point to camera + highp float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0); + highp vec3 reflection = -normalize(reflect(v, n)); lowp vec3 brdf = TEXTURE(sbrdfLUT, vec2(NdotV, 1.0 - perceptualRoughness)).rgb; vec3 Fr = max(vec3(1.0 - perceptualRoughness), f0) - f0; vec3 k_S = f0 + Fr * pow(1.0 - NdotV, 5.0); @@ -305,7 +301,7 @@ void main() if(float(uIsShadowReceiving) * float(uIsShadowEnabled) * uShadowIntensity > 0.0) { - mediump float exposureFactor = 0.0; + highp float exposureFactor = 0.0; highp vec3 l = normalize(-uLightDirection[uShadowLightIndex]); highp float NdotL = dot(n, l); @@ -316,8 +312,8 @@ void main() #else ivec2 texSize = textureSize(sShadowMap, 0); #endif - mediump vec2 texelSize = vec2(1.0) / vec2(texSize.x, texSize.y); - mediump vec2 pcfSample = vec2(1.0, 0.0); + highp vec2 texelSize = vec2(1.0) / vec2(texSize.x, texSize.y); + highp vec2 pcfSample = vec2(1.0, 0.0); for (int i = 0; i < kPcfSampleCount; ++i) { pcfSample = vec2(kCosPcfTheta * pcfSample.x - kSinPcfTheta * pcfSample.y, @@ -335,7 +331,7 @@ void main() { if(NdotL > 0.0) { - mediump float depthValue = TEXTURE(sShadowMap, positionFromLightView.xy).r; + highp float depthValue = TEXTURE(sShadowMap, positionFromLightView.xy).r; exposureFactor = (depthValue < positionFromLightView.z - uShadowBias) ? 0.0 : 1.0; } } @@ -344,13 +340,13 @@ void main() } #ifdef OCCLUSION - mediump vec2 occlusionTexCoords = mix(vUV, computeTextureTransform(vUV, uOcclusionTextureTransform), uOcclusionTextureTransformAvailable); + highp vec2 occlusionTexCoords = mix(vUV, computeTextureTransform(vUV, uOcclusionTextureTransform), uOcclusionTextureTransformAvailable); lowp float ao = TEXTURE(sOcclusion, occlusionTexCoords).r; color = mix(color, color * ao, uOcclusionStrength); #endif // OCCLUSION #ifdef EMISSIVE_TEXTURE - mediump vec2 emissiveTexCoords = mix(vUV, computeTextureTransform(vUV, uEmissiveTextureTransform), uEmissiveTextureTransformAvailable); + highp vec2 emissiveTexCoords = mix(vUV, computeTextureTransform(vUV, uEmissiveTextureTransform), uEmissiveTextureTransformAvailable); lowp vec3 emissive = linear(TEXTURE(sEmissive, emissiveTexCoords).rgb) * uEmissiveFactor; #else lowp vec3 emissive = uEmissiveFactor; diff --git a/dali-scene3d/internal/graphics/shaders/default-physically-based-shader.vert b/dali-scene3d/internal/graphics/shaders/default-physically-based-shader.vert index 8ee1bf4282..f5d9a26f1f 100644 --- a/dali-scene3d/internal/graphics/shaders/default-physically-based-shader.vert +++ b/dali-scene3d/internal/graphics/shaders/default-physically-based-shader.vert @@ -44,9 +44,9 @@ uniform int uBlendShapeGeometryHeight; #endif #endif -OUTPUT mediump vec2 vUV; +OUTPUT highp vec2 vUV; OUTPUT highp mat3 vTBN; -OUTPUT lowp vec4 vColor; +OUTPUT highp vec4 vColor; OUTPUT highp vec3 vPositionToCamera; uniform highp mat4 uViewMatrix; diff --git a/dali-scene3d/internal/graphics/shaders/scene3d-joint-debug.frag b/dali-scene3d/internal/graphics/shaders/scene3d-joint-debug.frag index 3ce016bd7b..c7b229e1c8 100644 --- a/dali-scene3d/internal/graphics/shaders/scene3d-joint-debug.frag +++ b/dali-scene3d/internal/graphics/shaders/scene3d-joint-debug.frag @@ -1,5 +1,5 @@ -precision mediump float; +precision highp float; uniform lowp vec4 uColor; FLAT INPUT float vColor; diff --git a/dali-scene3d/internal/graphics/shaders/scene3d-joint-debug.vert b/dali-scene3d/internal/graphics/shaders/scene3d-joint-debug.vert index 49860c8a27..6c9b536cd2 100644 --- a/dali-scene3d/internal/graphics/shaders/scene3d-joint-debug.vert +++ b/dali-scene3d/internal/graphics/shaders/scene3d-joint-debug.vert @@ -1,5 +1,5 @@ -precision mediump float; +precision highp float; uniform mat4 uMvpMatrix; INPUT vec3 aPosition; INPUT float aColor; diff --git a/dali-scene3d/internal/graphics/shaders/shadow-map-shader.frag b/dali-scene3d/internal/graphics/shaders/shadow-map-shader.frag index 7d72c367f1..35e74f6149 100644 --- a/dali-scene3d/internal/graphics/shaders/shadow-map-shader.frag +++ b/dali-scene3d/internal/graphics/shaders/shadow-map-shader.frag @@ -3,8 +3,8 @@ uniform lowp vec4 uColorFactor; // Color from material uniform lowp float uMask; uniform lowp float uAlphaThreshold; -INPUT mediump vec2 vUV; -INPUT lowp vec4 vColor; +INPUT highp vec2 vUV; +INPUT highp vec4 vColor; //INPUT highp float depth; //OUTPUT highp vec4 FragColor; diff --git a/dali-scene3d/internal/graphics/shaders/shadow-map-shader.vert b/dali-scene3d/internal/graphics/shaders/shadow-map-shader.vert index 521870098c..648e2c4a1f 100644 --- a/dali-scene3d/internal/graphics/shaders/shadow-map-shader.vert +++ b/dali-scene3d/internal/graphics/shaders/shadow-map-shader.vert @@ -27,8 +27,8 @@ uniform int uBlendShapeGeometryHeight; #endif #endif -OUTPUT mediump vec2 vUV; -OUTPUT lowp vec4 vColor; +OUTPUT highp vec2 vUV; +OUTPUT highp vec4 vColor; uniform highp mat4 uViewMatrix; uniform highp mat4 uModelMatrix; diff --git a/dali-toolkit/internal/graphics/shaders/alpha-discard-effect.frag b/dali-toolkit/internal/graphics/shaders/alpha-discard-effect.frag index d9b3d5af6c..937dd894c8 100644 --- a/dali-toolkit/internal/graphics/shaders/alpha-discard-effect.frag +++ b/dali-toolkit/internal/graphics/shaders/alpha-discard-effect.frag @@ -1,4 +1,5 @@ -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform lowp vec4 uColor; diff --git a/dali-toolkit/internal/graphics/shaders/animated-gradient-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/animated-gradient-visual-shader.frag index 7855bf055c..32f1c59900 100644 --- a/dali-toolkit/internal/graphics/shaders/animated-gradient-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/animated-gradient-visual-shader.frag @@ -1,12 +1,12 @@ -precision mediump float; +precision highp float; -uniform mediump vec4 start_color; -uniform mediump vec4 end_color; -uniform mediump float gradient_offset; +uniform highp vec4 start_color; +uniform highp vec4 end_color; +uniform highp float gradient_offset; -varying mediump vec2 vTexCoord; -varying mediump vec2 vStart; -varying mediump vec2 vEnd; +varying highp vec2 vTexCoord; +varying highp vec2 vStart; +varying highp vec2 vEnd; float get_position(vec2 x, vec2 s, vec2 e) { diff --git a/dali-toolkit/internal/graphics/shaders/animated-gradient-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/animated-gradient-visual-shader.vert index 5faf423eb8..6e17f0b5f5 100644 --- a/dali-toolkit/internal/graphics/shaders/animated-gradient-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/animated-gradient-visual-shader.vert @@ -1,15 +1,17 @@ -attribute mediump vec2 aPosition; +precision highp float; + +attribute highp vec2 aPosition; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; -uniform mediump vec2 start_point; -uniform mediump vec2 end_point; -uniform mediump vec2 rotate_center; -uniform mediump float rotate_angle; +uniform highp vec2 start_point; +uniform highp vec2 end_point; +uniform highp vec2 rotate_center; +uniform highp float rotate_angle; -varying mediump vec2 vTexCoord; -varying mediump vec2 vStart; -varying mediump vec2 vEnd; +varying highp vec2 vTexCoord; +varying highp vec2 vStart; +varying highp vec2 vEnd; vec2 rotate(vec2 x, vec2 c, float a) { @@ -28,7 +30,7 @@ vec2 rotate(vec2 x, vec2 c, float a) } //Visual size and offset -uniform mediump vec2 offset; +uniform highp vec2 offset; uniform highp vec2 size; uniform mediump vec4 offsetSizeMode; uniform mediump vec2 origin; diff --git a/dali-toolkit/internal/graphics/shaders/arc-visual-butt-cap-shader.frag b/dali-toolkit/internal/graphics/shaders/arc-visual-butt-cap-shader.frag index 4720ae8f29..908e7964eb 100644 --- a/dali-toolkit/internal/graphics/shaders/arc-visual-butt-cap-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/arc-visual-butt-cap-shader.frag @@ -1,27 +1,30 @@ -INPUT mediump vec2 vPosition; +precision highp float; + +INPUT highp vec2 vPosition; uniform lowp vec4 uColor; -uniform mediump float thickness; -uniform mediump float radius; -uniform mediump float startAngle; -uniform mediump float sweepAngle; +uniform highp float thickness; +uniform highp float radius; +uniform highp float startAngle; +uniform highp float sweepAngle; -const mediump float M_PI_OVER_2 = 1.57079632679; -const mediump float M_PI = 3.14159265359; -const mediump float M_PI_2 = 6.28318530718; +const highp float M_PI_OVER_2 = 1.57079632679; +const highp float M_PI = 3.14159265359; +const highp float M_PI_2 = 6.28318530718; mediump float GetOpacity() { - mediump float start = radians( mod( startAngle, 360.0 ) ); - mediump float angle = mod( atan( vPosition.y, vPosition.x ) + M_PI_OVER_2 - start, M_PI_2 ); - mediump float dist = length( vPosition ); + highp float start = radians( mod( startAngle, 360.0 ) ); + highp float angle = mod( atan( vPosition.y, vPosition.x ) + M_PI_OVER_2 - start, M_PI_2 ); + highp float dist = length( vPosition ); if( angle <= radians( sweepAngle ) ) { return smoothstep( -1.0, 1.0, thickness / 2.0 - ( abs( dist - radius ) ) ); } - mediump float end = radians( mod( startAngle + sweepAngle, 360.0 ) ); - mediump vec2 q0 = vec2( dist * cos( start - M_PI_OVER_2 ), dist * sin( start - M_PI_OVER_2 ) ); - mediump vec2 q1 = vec2( dist * cos( end - M_PI_OVER_2 ), dist * sin( end - M_PI_OVER_2 ) ); + highp float end = radians( mod( startAngle + sweepAngle, 360.0 ) ); + highp vec2 q0 = vec2( dist * cos( start - M_PI_OVER_2 ), dist * sin( start - M_PI_OVER_2 ) ); + highp vec2 q1 = vec2( dist * cos( end - M_PI_OVER_2 ), dist * sin( end - M_PI_OVER_2 ) ); + mediump float opacity = 1.0 - smoothstep( 0.0, 2.0, min( length( vPosition - q0 ), length( vPosition - q1 ) ) ); opacity *= step( 0.0, thickness / 2.0 - abs( dist - radius ) ); return opacity; diff --git a/dali-toolkit/internal/graphics/shaders/arc-visual-round-cap-shader.frag b/dali-toolkit/internal/graphics/shaders/arc-visual-round-cap-shader.frag index a73cc94084..d605963571 100644 --- a/dali-toolkit/internal/graphics/shaders/arc-visual-round-cap-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/arc-visual-round-cap-shader.frag @@ -1,26 +1,26 @@ -INPUT mediump vec2 vPosition; +INPUT highp vec2 vPosition; uniform lowp vec4 uColor; -uniform mediump float thickness; -uniform mediump float radius; -uniform mediump float startAngle; -uniform mediump float sweepAngle; +uniform highp float thickness; +uniform highp float radius; +uniform highp float startAngle; +uniform highp float sweepAngle; -const mediump float M_PI_OVER_2 = 1.57079632679; -const mediump float M_PI_2 = 6.28318530718; +const highp float M_PI_OVER_2 = 1.57079632679; +const highp float M_PI_2 = 6.28318530718; mediump float GetOpacity() { - mediump float start = radians( mod( startAngle, 360.0 ) ); - mediump float angle = mod( atan( vPosition.y, vPosition.x ) + M_PI_OVER_2 - start, M_PI_2 ); - mediump float dist = length( vPosition ); + highp float start = radians( mod( startAngle, 360.0 ) ); + highp float angle = mod( atan( vPosition.y, vPosition.x ) + M_PI_OVER_2 - start, M_PI_2 ); + highp float dist = length( vPosition ); if( angle <= radians( sweepAngle ) ) { return smoothstep( -1.0, 1.0, thickness / 2.0 - ( abs( dist - radius ) ) ); } - mediump float end = radians( mod( startAngle + sweepAngle, 360.0 ) ); - mediump vec2 q0 = vec2( radius * cos( start - M_PI_OVER_2 ), radius * sin( start - M_PI_OVER_2 ) ); - mediump vec2 q1 = vec2( radius * cos( end - M_PI_OVER_2 ), radius * sin( end - M_PI_OVER_2 ) ); + highp float end = radians( mod( startAngle + sweepAngle, 360.0 ) ); + highp vec2 q0 = vec2( radius * cos( start - M_PI_OVER_2 ), radius * sin( start - M_PI_OVER_2 ) ); + highp vec2 q1 = vec2( radius * cos( end - M_PI_OVER_2 ), radius * sin( end - M_PI_OVER_2 ) ); return smoothstep( -1.0, 1.0, thickness / 2.0 - min( length( vPosition - q0 ), length( vPosition - q1 ) ) ); } diff --git a/dali-toolkit/internal/graphics/shaders/arc-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/arc-visual-shader.vert index 4f6dab5789..80aff58dd1 100644 --- a/dali-toolkit/internal/graphics/shaders/arc-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/arc-visual-shader.vert @@ -1,11 +1,13 @@ -INPUT mediump vec2 aPosition; -OUTPUT mediump vec2 vPosition; +precision highp float; + +INPUT highp vec2 aPosition; +OUTPUT highp vec2 vPosition; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; //Visual size and offset -uniform mediump vec2 offset; +uniform highp vec2 offset; uniform highp vec2 size; uniform mediump vec4 offsetSizeMode; uniform mediump vec2 origin; diff --git a/dali-toolkit/internal/graphics/shaders/bloom-view-composite-shader.frag b/dali-toolkit/internal/graphics/shaders/bloom-view-composite-shader.frag index ff5778b8f4..acd347eb17 100644 --- a/dali-toolkit/internal/graphics/shaders/bloom-view-composite-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/bloom-view-composite-shader.frag @@ -1,12 +1,12 @@ -precision mediump float; -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform sampler2D sEffect; uniform lowp vec4 uColor; -uniform float uBloomIntensity; -uniform float uImageIntensity; -uniform float uBloomSaturation; -uniform float uImageSaturation; +uniform highp float uBloomIntensity; +uniform highp float uImageIntensity; +uniform highp float uBloomSaturation; +uniform highp float uImageSaturation; vec4 ChangeSaturation(vec4 col, float sat) { @@ -16,8 +16,8 @@ vec4 ChangeSaturation(vec4 col, float sat) void main() { - mediump vec4 image; - mediump vec4 bloom; + highp vec4 image; + highp vec4 bloom; image = texture2D(sTexture, vTexCoord); bloom = texture2D(sEffect, vTexCoord); image = ChangeSaturation(image, uImageSaturation) * uImageIntensity; diff --git a/dali-toolkit/internal/graphics/shaders/bloom-view-extract-shader.frag b/dali-toolkit/internal/graphics/shaders/bloom-view-extract-shader.frag index 98439ed87d..e805142957 100644 --- a/dali-toolkit/internal/graphics/shaders/bloom-view-extract-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/bloom-view-extract-shader.frag @@ -1,12 +1,13 @@ -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform lowp vec4 uColor; -uniform mediump float uBloomThreshold; -uniform mediump float uRecipOneMinusBloomThreshold; +uniform highp float uBloomThreshold; +uniform highp float uRecipOneMinusBloomThreshold; void main() { - mediump vec4 col; + highp vec4 col; col = texture2D(sTexture, vTexCoord); col = (col - uBloomThreshold) * uRecipOneMinusBloomThreshold; // remove intensities lower than the thresold and remap intensities above the threshold to [0..1] gl_FragColor = clamp(col, 0.0, 1.0); diff --git a/dali-toolkit/internal/graphics/shaders/blur-effect.frag b/dali-toolkit/internal/graphics/shaders/blur-effect.frag index 0f0ca14c22..00d2491f94 100644 --- a/dali-toolkit/internal/graphics/shaders/blur-effect.frag +++ b/dali-toolkit/internal/graphics/shaders/blur-effect.frag @@ -1,3 +1,4 @@ +precision highp float; varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform highp vec2 uSampleOffsets[NUM_SAMPLES]; diff --git a/dali-toolkit/internal/graphics/shaders/blur-two-images-shader.frag b/dali-toolkit/internal/graphics/shaders/blur-two-images-shader.frag index 7572a28e0a..2de2ae0fab 100644 --- a/dali-toolkit/internal/graphics/shaders/blur-two-images-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/blur-two-images-shader.frag @@ -2,7 +2,7 @@ precision highp float; uniform float uBlurStrength; uniform sampler2D sTexture; uniform sampler2D sEffect; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/blur-two-pass-shader.frag b/dali-toolkit/internal/graphics/shaders/blur-two-pass-shader.frag index 0017e28533..864413111a 100644 --- a/dali-toolkit/internal/graphics/shaders/blur-two-pass-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/blur-two-pass-shader.frag @@ -1,5 +1,5 @@ precision highp float; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform vec2 uSampleOffsets[NUM_SAMPLES]; uniform float uSampleWeights[NUM_SAMPLES]; diff --git a/dali-toolkit/internal/graphics/shaders/border-visual-anti-aliasing-shader.frag b/dali-toolkit/internal/graphics/shaders/border-visual-anti-aliasing-shader.frag index 11950925c8..488a9b560d 100644 --- a/dali-toolkit/internal/graphics/shaders/border-visual-anti-aliasing-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/border-visual-anti-aliasing-shader.frag @@ -1,8 +1,9 @@ -INPUT mediump float vAlpha; +precision highp float; +INPUT highp float vAlpha; uniform lowp vec4 uColor; uniform lowp vec4 borderColor; -uniform mediump float borderSize; +uniform highp float borderSize; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/border-visual-anti-aliasing-shader.vert b/dali-toolkit/internal/graphics/shaders/border-visual-anti-aliasing-shader.vert index e573f37916..4baeded407 100644 --- a/dali-toolkit/internal/graphics/shaders/border-visual-anti-aliasing-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/border-visual-anti-aliasing-shader.vert @@ -1,14 +1,15 @@ -INPUT mediump vec2 aPosition; -INPUT mediump vec2 aDrift; -OUTPUT mediump float vAlpha; +precision highp float; +INPUT highp vec2 aPosition; +INPUT highp vec2 aDrift; +OUTPUT highp float vAlpha; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; -uniform mediump float borderSize; +uniform highp float borderSize; void main() { - vec2 position = aPosition*(uSize.xy+vec2(0.75)) + aDrift*(borderSize+1.5); + highp vec2 position = aPosition*(uSize.xy+vec2(0.75)) + aDrift*(borderSize+1.5); gl_Position = uMvpMatrix * vec4(position, 0.0, 1.0); vAlpha = min( abs(aDrift.x), abs(aDrift.y) )*(borderSize+1.5); } \ No newline at end of file diff --git a/dali-toolkit/internal/graphics/shaders/border-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/border-visual-shader.frag index de9da9894d..ff503cc6e1 100644 --- a/dali-toolkit/internal/graphics/shaders/border-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/border-visual-shader.frag @@ -1,3 +1,4 @@ +precision highp float; uniform lowp vec4 uColor; uniform lowp vec4 borderColor; diff --git a/dali-toolkit/internal/graphics/shaders/border-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/border-visual-shader.vert index 6bf08fac45..404662f3d7 100644 --- a/dali-toolkit/internal/graphics/shaders/border-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/border-visual-shader.vert @@ -1,12 +1,13 @@ -INPUT mediump vec2 aPosition; -INPUT mediump vec2 aDrift; +precision highp float; +INPUT highp vec2 aPosition; +INPUT highp vec2 aDrift; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; -uniform mediump float borderSize; +uniform highp float borderSize; //Visual size and offset -uniform mediump vec2 offset; +uniform highp vec2 offset; uniform highp vec2 size; uniform mediump vec4 offsetSizeMode; uniform mediump vec2 origin; @@ -14,13 +15,13 @@ uniform mediump vec2 anchorPoint; vec2 ComputeVertexPosition() { - vec2 visualSize = mix(size * uSize.xy, size, offsetSizeMode.zw ); - vec2 visualOffset = mix(offset * uSize.xy, offset, offsetSizeMode.xy); + highp vec2 visualSize = mix(size * uSize.xy, size, offsetSizeMode.zw ); + highp vec2 visualOffset = mix(offset * uSize.xy, offset, offsetSizeMode.xy); return (aPosition + anchorPoint)*visualSize + visualOffset + origin * uSize.xy; } void main() { - vec2 position = ComputeVertexPosition() + aDrift*borderSize; + highp vec2 position = ComputeVertexPosition() + aDrift*borderSize; gl_Position = uMvpMatrix * vec4(position, 0.0, 1.0); } \ No newline at end of file diff --git a/dali-toolkit/internal/graphics/shaders/bouncing-effect-mesh-shader.frag b/dali-toolkit/internal/graphics/shaders/bouncing-effect-mesh-shader.frag index b62f151af5..163fbb7c35 100644 --- a/dali-toolkit/internal/graphics/shaders/bouncing-effect-mesh-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/bouncing-effect-mesh-shader.frag @@ -1,3 +1,4 @@ +precision highp float; // Use the actor color to paint every layer uniform lowp vec4 uColor; diff --git a/dali-toolkit/internal/graphics/shaders/bouncing-effect-mesh-shader.vert b/dali-toolkit/internal/graphics/shaders/bouncing-effect-mesh-shader.vert index da6933200f..df93307a4e 100644 --- a/dali-toolkit/internal/graphics/shaders/bouncing-effect-mesh-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/bouncing-effect-mesh-shader.vert @@ -1,9 +1,10 @@ +precision highp float; // Modify the vertex position according to the bounce coefficient -attribute mediump vec3 aPosition1; -attribute mediump vec3 aPosition2; -uniform mediump mat4 uMvpMatrix; -uniform mediump vec3 uSize; -uniform mediump float uBounceCoefficient; +attribute highp vec3 aPosition1; +attribute highp vec3 aPosition2; +uniform highp mat4 uMvpMatrix; +uniform highp vec3 uSize; +uniform highp float uBounceCoefficient; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/bubble-effect-color-adjuster.frag b/dali-toolkit/internal/graphics/shaders/bubble-effect-color-adjuster.frag index 69ff187aa8..d1537254f4 100644 --- a/dali-toolkit/internal/graphics/shaders/bubble-effect-color-adjuster.frag +++ b/dali-toolkit/internal/graphics/shaders/bubble-effect-color-adjuster.frag @@ -1,7 +1,7 @@ precision highp float; uniform vec3 uHSVDelta; uniform float uIgnoreAlpha; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; float rand(vec2 co) diff --git a/dali-toolkit/internal/graphics/shaders/bubble-effect.frag b/dali-toolkit/internal/graphics/shaders/bubble-effect.frag index fa06063367..17b39d0434 100644 --- a/dali-toolkit/internal/graphics/shaders/bubble-effect.frag +++ b/dali-toolkit/internal/graphics/shaders/bubble-effect.frag @@ -1,9 +1,10 @@ -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform lowp vec4 uColor; uniform sampler2D sBackground; uniform sampler2D sBubbleShape; -varying mediump float vPercentage; -varying mediump vec2 vEffectTexCoord; +varying highp float vPercentage; +varying highp vec2 vEffectTexCoord; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/bubble-effect.vert b/dali-toolkit/internal/graphics/shaders/bubble-effect.vert index 538d282a0d..c6753e3d3a 100644 --- a/dali-toolkit/internal/graphics/shaders/bubble-effect.vert +++ b/dali-toolkit/internal/graphics/shaders/bubble-effect.vert @@ -1,10 +1,11 @@ -attribute mediump float aIndex; -attribute mediump vec2 aPosition; +precision highp float; +attribute highp float aIndex; +attribute highp vec2 aPosition; attribute highp vec2 aTexCoord; -varying mediump vec2 vTexCoord; -uniform mediump mat4 uMvpMatrix; +varying highp vec2 vTexCoord; +uniform highp mat4 uMvpMatrix; // the gravity applied to the y direction -uniform mediump float uGravity; +uniform highp float uGravity; // xy: the emit position of the bubble; zw: the destination of the bubble. // The bubble is moving from (xy) to (zw plus the y drop influenced by gravity). uniform vec4 uStartEndPosition[NUMBER_OF_BUBBLE]; diff --git a/dali-toolkit/internal/graphics/shaders/bubble-emitter.frag b/dali-toolkit/internal/graphics/shaders/bubble-emitter.frag index 06690f8779..bb9aa231ba 100644 --- a/dali-toolkit/internal/graphics/shaders/bubble-emitter.frag +++ b/dali-toolkit/internal/graphics/shaders/bubble-emitter.frag @@ -1,6 +1,6 @@ precision highp float; uniform vec3 uHSVDelta; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; float rand(vec2 co) diff --git a/dali-toolkit/internal/graphics/shaders/bubble-emitter.vert b/dali-toolkit/internal/graphics/shaders/bubble-emitter.vert index f7bd5779bf..2705ad59d7 100644 --- a/dali-toolkit/internal/graphics/shaders/bubble-emitter.vert +++ b/dali-toolkit/internal/graphics/shaders/bubble-emitter.vert @@ -1,8 +1,9 @@ -attribute mediump vec2 aPosition; -attribute mediump vec2 aTexCoord; -uniform mediump vec3 uSize; -uniform mediump mat4 uMvpMatrix; -varying mediump vec2 vTexCoord; +precision highp float; +attribute highp vec2 aPosition; +attribute highp vec2 aTexCoord; +uniform highp vec3 uSize; +uniform highp mat4 uMvpMatrix; +varying highp vec2 vTexCoord; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/canvas-view.frag b/dali-toolkit/internal/graphics/shaders/canvas-view.frag index e122bca414..91cb54ebaf 100644 --- a/dali-toolkit/internal/graphics/shaders/canvas-view.frag +++ b/dali-toolkit/internal/graphics/shaders/canvas-view.frag @@ -1,5 +1,6 @@ +precision highp float; uniform lowp vec4 uColor; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; void main() diff --git a/dali-toolkit/internal/graphics/shaders/canvas-view.vert b/dali-toolkit/internal/graphics/shaders/canvas-view.vert index 69889936da..a7b041532a 100644 --- a/dali-toolkit/internal/graphics/shaders/canvas-view.vert +++ b/dali-toolkit/internal/graphics/shaders/canvas-view.vert @@ -1,5 +1,6 @@ -attribute mediump vec2 aPosition; -varying mediump vec2 vTexCoord; +precision highp float; +attribute highp vec2 aPosition; +varying highp vec2 vTexCoord; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; diff --git a/dali-toolkit/internal/graphics/shaders/color-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/color-visual-shader.frag index 698717643a..7a5228cc32 100644 --- a/dali-toolkit/internal/graphics/shaders/color-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/color-visual-shader.frag @@ -1,3 +1,4 @@ +precision highp float; #if defined(IS_REQUIRED_ROUNDED_CORNER) || defined(IS_REQUIRED_BORDERLINE) || defined(IS_REQUIRED_BLUR) INPUT highp vec2 vPosition; FLAT INPUT highp vec2 vRectSize; @@ -176,8 +177,8 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) borderlineOpacity *= min(1.0, borderlineWidth / gPotentialRange); } - lowp vec3 borderlineColorRGB = borderlineColor.rgb * uActorColor.rgb; - lowp float borderlineColorAlpha = borderlineColor.a * uActorColor.a; + highp vec3 borderlineColorRGB = borderlineColor.rgb * uActorColor.rgb; + highp float borderlineColorAlpha = borderlineColor.a * uActorColor.a; // NOTE : color-visual is always preMultiplied. borderlineColorRGB *= borderlineColorAlpha; @@ -197,7 +198,7 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) else { // potential is in texture range. - lowp float textureAlphaScale = mix(1.0, 0.0, smoothstep(MinTexturelinePotential, MaxTexturelinePotential, potential)); + highp float textureAlphaScale = mix(1.0, 0.0, smoothstep(MinTexturelinePotential, MaxTexturelinePotential, potential)); textureColor.a *= textureAlphaScale; textureColor.rgb *= textureAlphaScale; } @@ -214,8 +215,8 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) // If premultipliedAlpha == 1.0, just return vec4(rgb*alpha, alpha) // Else, return vec4((rgb*alpha) / alpha, alpha) - lowp float finalAlpha = mix(textureColor.a, 1.0, borderlineColorAlpha); - lowp vec3 finalMultipliedRGB = borderlineColorRGB + (1.0 - borderlineColorAlpha) * textureColor.rgb; + highp float finalAlpha = mix(textureColor.a, 1.0, borderlineColorAlpha); + highp vec3 finalMultipliedRGB = borderlineColorRGB + (1.0 - borderlineColorAlpha) * textureColor.rgb; return vec4(finalMultipliedRGB, finalAlpha); } return mix(textureColor, vec4(borderlineColorRGB, borderlineColorAlpha), borderlineOpacity); diff --git a/dali-toolkit/internal/graphics/shaders/color-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/color-visual-shader.vert index 0e02279307..05e87e9eea 100644 --- a/dali-toolkit/internal/graphics/shaders/color-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/color-visual-shader.vert @@ -1,4 +1,5 @@ -INPUT mediump vec2 aPosition; +precision highp float; +INPUT highp vec2 aPosition; #if defined(IS_REQUIRED_ROUNDED_CORNER) || defined(IS_REQUIRED_BORDERLINE) || defined(IS_REQUIRED_BLUR) OUTPUT highp vec2 vPosition; FLAT OUTPUT highp vec2 vRectSize; diff --git a/dali-toolkit/internal/graphics/shaders/cube-transition-effect.frag b/dali-toolkit/internal/graphics/shaders/cube-transition-effect.frag index b8b19ac5a6..32227c6b3c 100644 --- a/dali-toolkit/internal/graphics/shaders/cube-transition-effect.frag +++ b/dali-toolkit/internal/graphics/shaders/cube-transition-effect.frag @@ -1,4 +1,5 @@ -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform lowp vec4 uColor; uniform lowp vec4 uSamplerRect; diff --git a/dali-toolkit/internal/graphics/shaders/cube-transition-effect.vert b/dali-toolkit/internal/graphics/shaders/cube-transition-effect.vert index fccd0355e0..b19d304bdf 100644 --- a/dali-toolkit/internal/graphics/shaders/cube-transition-effect.vert +++ b/dali-toolkit/internal/graphics/shaders/cube-transition-effect.vert @@ -1,12 +1,13 @@ -attribute mediump vec2 aPosition; -varying mediump vec2 vTexCoord; -uniform mediump mat4 uMvpMatrix; -uniform mediump vec3 uSize; -uniform mediump vec4 uTextureRect; +precision highp float; +attribute highp vec2 aPosition; +varying highp vec2 vTexCoord; +uniform highp mat4 uMvpMatrix; +uniform highp vec3 uSize; +uniform highp vec4 uTextureRect; void main() { - mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); + highp vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); vertexPosition.xyz *= uSize; vertexPosition = uMvpMatrix * vertexPosition; diff --git a/dali-toolkit/internal/graphics/shaders/dissolve-effect.frag b/dali-toolkit/internal/graphics/shaders/dissolve-effect.frag index e28a074879..910e67eeca 100644 --- a/dali-toolkit/internal/graphics/shaders/dissolve-effect.frag +++ b/dali-toolkit/internal/graphics/shaders/dissolve-effect.frag @@ -1,5 +1,6 @@ +precision highp float; varying float vPercentage; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform lowp vec4 uColor; diff --git a/dali-toolkit/internal/graphics/shaders/dissolve-effect.vert b/dali-toolkit/internal/graphics/shaders/dissolve-effect.vert index be8c3dfc77..b7b82797c9 100644 --- a/dali-toolkit/internal/graphics/shaders/dissolve-effect.vert +++ b/dali-toolkit/internal/graphics/shaders/dissolve-effect.vert @@ -1,6 +1,7 @@ -attribute mediump vec2 aPosition; +precision highp float; +attribute highp vec2 aPosition; -uniform mediump mat4 uMvpMatrix; +uniform highp mat4 uMvpMatrix; uniform vec3 uSize; uniform vec4 uTextureRect; @@ -15,7 +16,7 @@ varying vec2 vTexCoord; void main() { - mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); + highp vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); vertexPosition.xyz *= uSize; vertexPosition = uMvpMatrix * vertexPosition; gl_Position = vertexPosition; diff --git a/dali-toolkit/internal/graphics/shaders/distance-field-effect.frag b/dali-toolkit/internal/graphics/shaders/distance-field-effect.frag index 82c294da23..cd5b152460 100644 --- a/dali-toolkit/internal/graphics/shaders/distance-field-effect.frag +++ b/dali-toolkit/internal/graphics/shaders/distance-field-effect.frag @@ -1,10 +1,11 @@ -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; -uniform mediump float uGlowBoundary; -uniform mediump vec2 uOutlineParams; +uniform highp float uGlowBoundary; +uniform highp vec2 uOutlineParams; uniform lowp vec4 uOutlineColor; uniform lowp vec4 uShadowColor; -uniform mediump vec2 uShadowOffset; +uniform highp vec2 uShadowOffset; uniform lowp vec4 uGlowColor; uniform lowp float uDoOutline; uniform lowp float uDoShadow; @@ -16,22 +17,22 @@ uniform lowp vec4 uColor; void main() { // sample distance field - mediump float smoothing = 0.5; + highp float smoothing = 0.5; - mediump float distance = texture2D(sTexture, vTexCoord).a; - mediump float smoothWidth = fwidth(distance); - mediump float alphaFactor = smoothstep(smoothing - smoothWidth, smoothing + smoothWidth, distance); + highp float distance = texture2D(sTexture, vTexCoord).a; + highp float smoothWidth = fwidth(distance); + highp float alphaFactor = smoothstep(smoothing - smoothWidth, smoothing + smoothWidth, distance); lowp vec4 color; if (uDoShadow == 0.0) { - mediump float alpha = uColor.a * alphaFactor; + highp float alpha = uColor.a * alphaFactor; lowp vec4 rgb = uColor; if (uDoOutline > 0.0) { - mediump float outlineWidth = uOutlineParams[1] + smoothWidth; - mediump float outlineBlend = smoothstep(uOutlineParams[0] - outlineWidth, uOutlineParams[0] + outlineWidth, distance); + highp float outlineWidth = uOutlineParams[1] + smoothWidth; + highp float outlineBlend = smoothstep(uOutlineParams[0] - outlineWidth, uOutlineParams[0] + outlineWidth, distance); alpha = smoothstep(smoothing - smoothWidth, smoothing + smoothWidth, distance); rgb = mix(uOutlineColor, uColor, outlineBlend); } @@ -48,9 +49,9 @@ void main() else // (uDoShadow > 0.0) { - mediump float shadowDistance = texture2D(sTexture, vTexCoord - uShadowOffset).a; - mediump float inText = alphaFactor; - mediump float inShadow = smoothstep(smoothing - smoothWidth, smoothing + smoothWidth, shadowDistance); + highp float shadowDistance = texture2D(sTexture, vTexCoord - uShadowOffset).a; + highp float inText = alphaFactor; + highp float inShadow = smoothstep(smoothing - smoothWidth, smoothing + smoothWidth, shadowDistance); // inside object, outside shadow if (inText == 1.0) diff --git a/dali-toolkit/internal/graphics/shaders/effects-view.frag b/dali-toolkit/internal/graphics/shaders/effects-view.frag index 9c66b3b2a9..078da8100c 100644 --- a/dali-toolkit/internal/graphics/shaders/effects-view.frag +++ b/dali-toolkit/internal/graphics/shaders/effects-view.frag @@ -1,4 +1,5 @@ -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform lowp vec4 effectColor; diff --git a/dali-toolkit/internal/graphics/shaders/effects-view.vert b/dali-toolkit/internal/graphics/shaders/effects-view.vert index e8b7984db9..59619a3e9e 100644 --- a/dali-toolkit/internal/graphics/shaders/effects-view.vert +++ b/dali-toolkit/internal/graphics/shaders/effects-view.vert @@ -1,12 +1,13 @@ -attribute mediump vec2 aPosition; -varying mediump vec2 vTexCoord; -uniform mediump mat4 uMvpMatrix; -uniform mediump vec3 uSize; -uniform mediump vec3 effectOffset; +precision highp float; +attribute highp vec2 aPosition; +varying highp vec2 vTexCoord; +uniform highp mat4 uMvpMatrix; +uniform highp vec3 uSize; +uniform highp vec3 effectOffset; void main() { - mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); + highp vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); vertexPosition.xyz *= uSize; vertexPosition.xyz += effectOffset; vertexPosition = uMvpMatrix * vertexPosition; diff --git a/dali-toolkit/internal/graphics/shaders/emboss-filter-composite-shader.frag b/dali-toolkit/internal/graphics/shaders/emboss-filter-composite-shader.frag index 1ef9fc19a8..fb7b11a52f 100644 --- a/dali-toolkit/internal/graphics/shaders/emboss-filter-composite-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/emboss-filter-composite-shader.frag @@ -1,4 +1,5 @@ -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform lowp vec4 uEffectColor; diff --git a/dali-toolkit/internal/graphics/shaders/emboss-filter-shader.frag b/dali-toolkit/internal/graphics/shaders/emboss-filter-shader.frag index 2a6761aea4..a40820bb24 100644 --- a/dali-toolkit/internal/graphics/shaders/emboss-filter-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/emboss-filter-shader.frag @@ -1,5 +1,5 @@ precision highp float; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform vec2 uTexScale; uniform vec3 uCoefficient; diff --git a/dali-toolkit/internal/graphics/shaders/gaussian-blur-view.frag b/dali-toolkit/internal/graphics/shaders/gaussian-blur-view.frag index 0f0ca14c22..00d2491f94 100644 --- a/dali-toolkit/internal/graphics/shaders/gaussian-blur-view.frag +++ b/dali-toolkit/internal/graphics/shaders/gaussian-blur-view.frag @@ -1,3 +1,4 @@ +precision highp float; varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform highp vec2 uSampleOffsets[NUM_SAMPLES]; diff --git a/dali-toolkit/internal/graphics/shaders/gl-view.frag b/dali-toolkit/internal/graphics/shaders/gl-view.frag index 9b0b917552..ed5664052e 100644 --- a/dali-toolkit/internal/graphics/shaders/gl-view.frag +++ b/dali-toolkit/internal/graphics/shaders/gl-view.frag @@ -1,5 +1,6 @@ +precision highp float; uniform lowp vec4 uColor; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; uniform samplerExternalOES sTexture; void main() diff --git a/dali-toolkit/internal/graphics/shaders/gl-view.vert b/dali-toolkit/internal/graphics/shaders/gl-view.vert index eeec383732..401fb48df1 100644 --- a/dali-toolkit/internal/graphics/shaders/gl-view.vert +++ b/dali-toolkit/internal/graphics/shaders/gl-view.vert @@ -1,7 +1,8 @@ -attribute mediump vec2 aPosition; -uniform mediump mat4 uMvpMatrix; -uniform mediump vec3 uSize; -varying mediump vec2 vTexCoord; +precision highp float; +attribute highp vec2 aPosition; +uniform highp mat4 uMvpMatrix; +uniform highp vec3 uSize; +varying highp vec2 vTexCoord; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/gradient-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/gradient-visual-shader.frag index 8c89734117..bbe0fa0574 100644 --- a/dali-toolkit/internal/graphics/shaders/gradient-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/gradient-visual-shader.frag @@ -1,4 +1,5 @@ -INPUT mediump vec2 vTexCoord; +precision highp float; +INPUT highp vec2 vTexCoord; #if defined(IS_REQUIRED_ROUNDED_CORNER) || defined(IS_REQUIRED_BORDERLINE) INPUT highp vec2 vPosition; FLAT INPUT highp vec2 vRectSize; @@ -10,7 +11,7 @@ FLAT INPUT highp vec4 vCornerRadius; #endif // scale factor to fit start and end position of gradient. -uniform mediump float uTextureCoordinateScaleFactor; +uniform highp float uTextureCoordinateScaleFactor; uniform sampler2D sTexture; // sampler1D? uniform lowp vec4 uColor; @@ -167,8 +168,8 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) borderlineOpacity *= min(1.0, borderlineWidth / gPotentialRange); } - lowp vec3 borderlineColorRGB = borderlineColor.rgb * uActorColor.rgb; - lowp float borderlineColorAlpha = borderlineColor.a * uActorColor.a; + highp vec3 borderlineColorRGB = borderlineColor.rgb * uActorColor.rgb; + highp float borderlineColorAlpha = borderlineColor.a * uActorColor.a; // NOTE : gradient-visual is always preMultiplied. borderlineColorRGB *= borderlineColorAlpha; @@ -188,7 +189,7 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) else { // potential is in texture range. - lowp float textureAlphaScale = mix(1.0, 0.0, smoothstep(MinTexturelinePotential, MaxTexturelinePotential, potential)); + highp float textureAlphaScale = mix(1.0, 0.0, smoothstep(MinTexturelinePotential, MaxTexturelinePotential, potential)); textureColor.a *= textureAlphaScale; textureColor.rgb *= textureAlphaScale; } @@ -205,8 +206,8 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) // If premultipliedAlpha == 1.0, just return vec4(rgb*alpha, alpha) // Else, return vec4((rgb*alpha) / alpha, alpha) - lowp float finalAlpha = mix(textureColor.a, 1.0, borderlineColorAlpha); - lowp vec3 finalMultipliedRGB = borderlineColorRGB + (1.0 - borderlineColorAlpha) * textureColor.rgb; + highp float finalAlpha = mix(textureColor.a, 1.0, borderlineColorAlpha); + highp vec3 finalMultipliedRGB = borderlineColorRGB + (1.0 - borderlineColorAlpha) * textureColor.rgb; return vec4(finalMultipliedRGB, finalAlpha); } return mix(textureColor, vec4(borderlineColorRGB, borderlineColorAlpha), borderlineOpacity); @@ -238,7 +239,7 @@ mediump float calculateCornerOpacity() void main() { #ifdef RADIAL - mediump float radialTexCoord = ((length(vTexCoord) - 0.5) * uTextureCoordinateScaleFactor) + 0.5; + highp float radialTexCoord = ((length(vTexCoord) - 0.5) * uTextureCoordinateScaleFactor) + 0.5; lowp vec4 textureColor = TEXTURE(sTexture, vec2(radialTexCoord, 0.5)) * uColor; #else lowp vec4 textureColor = TEXTURE(sTexture, vec2(vTexCoord.y, 0.5)) * uColor; diff --git a/dali-toolkit/internal/graphics/shaders/gradient-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/gradient-visual-shader.vert index 95feb12b7e..1c8e4b88c1 100644 --- a/dali-toolkit/internal/graphics/shaders/gradient-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/gradient-visual-shader.vert @@ -1,5 +1,6 @@ -INPUT mediump vec2 aPosition; -OUTPUT mediump vec2 vTexCoord; +precision highp float; +INPUT highp vec2 aPosition; +OUTPUT highp vec2 vTexCoord; #if defined(IS_REQUIRED_ROUNDED_CORNER) || defined(IS_REQUIRED_BORDERLINE) OUTPUT highp vec2 vPosition; FLAT OUTPUT highp vec2 vRectSize; @@ -12,7 +13,7 @@ FLAT OUTPUT highp vec4 vCornerRadius; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; -uniform mediump mat3 uAlignmentMatrix; +uniform highp mat3 uAlignmentMatrix; #if defined(IS_REQUIRED_ROUNDED_CORNER) || defined(IS_REQUIRED_BORDERLINE) // Be used when we calculate anti-alias range near 1 pixel. diff --git a/dali-toolkit/internal/graphics/shaders/image-region-effect.vert b/dali-toolkit/internal/graphics/shaders/image-region-effect.vert index 5997336c3f..dec913f5bf 100644 --- a/dali-toolkit/internal/graphics/shaders/image-region-effect.vert +++ b/dali-toolkit/internal/graphics/shaders/image-region-effect.vert @@ -1,17 +1,18 @@ -attribute mediump vec2 aPosition; +precision highp float; +attribute highp vec2 aPosition; -uniform mediump mat4 uMvpMatrix; +uniform highp mat4 uMvpMatrix; uniform vec3 uSize; uniform vec4 uTextureRect; varying vec2 vTexCoord; -uniform mediump vec2 uTopLeft; -uniform mediump vec2 uBottomRight; +uniform highp vec2 uTopLeft; +uniform highp vec2 uBottomRight; void main() { - mediump vec4 position = vec4(aPosition, 0.0, 1.0); + highp vec4 position = vec4(aPosition, 0.0, 1.0); position.xyz *= uSize; gl_Position = uMvpMatrix * position; diff --git a/dali-toolkit/internal/graphics/shaders/image-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/image-visual-shader.frag index 31e05b2733..747bfa9a87 100644 --- a/dali-toolkit/internal/graphics/shaders/image-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/image-visual-shader.frag @@ -1,4 +1,5 @@ -INPUT mediump vec2 vTexCoord; +precision highp float; +INPUT highp vec2 vTexCoord; #if defined(IS_REQUIRED_DEBUG_VISUAL_SHADER) || defined(IS_REQUIRED_ROUNDED_CORNER) || defined(IS_REQUIRED_BORDERLINE) INPUT highp vec2 vPosition; FLAT INPUT highp vec2 vRectSize; @@ -22,11 +23,11 @@ uniform sampler2D sTextureV; #ifdef IS_REQUIRED_ALPHA_MASKING uniform sampler2D sMaskTexture; uniform lowp float uYFlipMaskTexture; -INPUT mediump vec2 vMaskTexCoord; +INPUT highp vec2 vMaskTexCoord; #endif #ifdef ATLAS_DEFAULT_WARP -uniform mediump vec4 uAtlasRect; +uniform highp vec4 uAtlasRect; #elif defined(ATLAS_CUSTOM_WARP) // WrapMode -- 0: CLAMP; 1: REPEAT; 2: REFLECT; uniform lowp vec2 wrapMode; @@ -51,9 +52,9 @@ uniform highp vec4 cornerSquareness; #endif #ifdef ATLAS_CUSTOM_WARP -mediump float wrapCoordinate( mediump vec2 range, mediump float coordinate, lowp float wrap ) +highp float wrapCoordinate( highp vec2 range, highp float coordinate, lowp float wrap ) { - mediump float coord; + highp float coord; if( wrap > 1.5 ) /* REFLECT */ coord = 1.0 - abs(fract(coordinate*0.5)*2.0 - 1.0); else /* warp is 0 or 1 */ @@ -203,8 +204,8 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) borderlineOpacity *= min(1.0, borderlineWidth / gPotentialRange); } - lowp vec3 borderlineColorRGB = borderlineColor.rgb * uActorColor.rgb; - lowp float borderlineColorAlpha = borderlineColor.a * uActorColor.a; + highp vec3 borderlineColorRGB = borderlineColor.rgb * uActorColor.rgb; + highp float borderlineColorAlpha = borderlineColor.a * uActorColor.a; borderlineColorRGB *= mix(1.0, borderlineColorAlpha, premultipliedAlpha); // Calculate inside of borderline when alpha is between (0.0 1.0). So we need to apply texture color. @@ -223,7 +224,7 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) else { // potential is in texture range. - lowp float textureAlphaScale = mix(1.0, 0.0, smoothstep(MinTexturelinePotential, MaxTexturelinePotential, potential)); + highp float textureAlphaScale = mix(1.0, 0.0, smoothstep(MinTexturelinePotential, MaxTexturelinePotential, potential)); textureColor.a *= textureAlphaScale; textureColor.rgb *= mix(textureColor.a, textureAlphaScale, premultipliedAlpha); } @@ -239,8 +240,8 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) // If premultipliedAlpha == 1.0, just return vec4(rgb*alpha, alpha) // Else, return vec4((rgb*alpha) / alpha, alpha) - lowp float finalAlpha = mix(textureColor.a, 1.0, borderlineColorAlpha); - lowp vec3 finalMultipliedRGB = borderlineColorRGB + (1.0 - borderlineColorAlpha) * textureColor.rgb; + highp float finalAlpha = mix(textureColor.a, 1.0, borderlineColorAlpha); + highp vec3 finalMultipliedRGB = borderlineColorRGB + (1.0 - borderlineColorAlpha) * textureColor.rgb; // TODO : Need to find some way without division return vec4(finalMultipliedRGB * mix(1.0 / finalAlpha, 1.0, premultipliedAlpha), finalAlpha); } @@ -271,7 +272,7 @@ mediump float calculateCornerOpacity() #endif #if defined(IS_REQUIRED_YUV_TO_RGB) || defined(IS_REQUIRED_UNIFIED_YUV_AND_RGB) -lowp vec4 ConvertYuvToRgba(mediump vec2 texCoord) +lowp vec4 ConvertYuvToRgba(highp vec2 texCoord) { #ifdef IS_REQUIRED_UNIFIED_YUV_AND_RGB // Special case when shader use YUV but actual textures are not YUV format. @@ -282,10 +283,10 @@ lowp vec4 ConvertYuvToRgba(mediump vec2 texCoord) } #endif - lowp float y = TEXTURE(sTexture, texCoord).r; - lowp float u = TEXTURE(sTextureU, texCoord).r - 0.5; - lowp float v = TEXTURE(sTextureV, texCoord).r - 0.5; - lowp vec4 rgba; + highp float y = TEXTURE(sTexture, texCoord).r; + highp float u = TEXTURE(sTextureU, texCoord).r - 0.5; + highp float v = TEXTURE(sTextureV, texCoord).r - 0.5; + highp vec4 rgba; rgba.r = y + (1.403 * v); rgba.g = y - (0.344 * u) - (0.714 * v); rgba.b = y + (1.770 * u); @@ -421,12 +422,12 @@ mediump vec3 ApplyDebugMixColor(mediump vec4 originColor) void main() { #ifdef ATLAS_DEFAULT_WARP - mediump vec2 texCoord = clamp( mix( uAtlasRect.xy, uAtlasRect.zw, vTexCoord ), uAtlasRect.xy, uAtlasRect.zw ); + highp vec2 texCoord = clamp( mix( uAtlasRect.xy, uAtlasRect.zw, vTexCoord ), uAtlasRect.xy, uAtlasRect.zw ); #elif defined(ATLAS_CUSTOM_WARP) - mediump vec2 texCoord = vec2( wrapCoordinate( uAtlasRect.xz, vTexCoord.x, wrapMode.x ), - wrapCoordinate( uAtlasRect.yw, vTexCoord.y, wrapMode.y ) ); + highp vec2 texCoord = vec2( wrapCoordinate( uAtlasRect.xz, vTexCoord.x, wrapMode.x ), + wrapCoordinate( uAtlasRect.yw, vTexCoord.y, wrapMode.y ) ); #else - mediump vec2 texCoord = vTexCoord; + highp vec2 texCoord = vTexCoord; #endif #if defined(IS_REQUIRED_YUV_TO_RGB) || defined(IS_REQUIRED_UNIFIED_YUV_AND_RGB) @@ -436,7 +437,7 @@ void main() #endif #ifdef IS_REQUIRED_ALPHA_MASKING - mediump vec2 maskTexCoord = vMaskTexCoord; + highp vec2 maskTexCoord = vMaskTexCoord; maskTexCoord.y = mix(maskTexCoord.y, 1.0-maskTexCoord.y, uYFlipMaskTexture); mediump float maskAlpha = TEXTURE(sMaskTexture, maskTexCoord).a; textureColor.a *= maskAlpha; diff --git a/dali-toolkit/internal/graphics/shaders/image-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/image-visual-shader.vert index 8885cf771f..9b0c5f28dc 100644 --- a/dali-toolkit/internal/graphics/shaders/image-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/image-visual-shader.vert @@ -1,5 +1,6 @@ -INPUT mediump vec2 aPosition; -OUTPUT mediump vec2 vTexCoord; +precision highp float; +INPUT highp vec2 aPosition; +OUTPUT highp vec2 vTexCoord; #if defined(IS_REQUIRED_DEBUG_VISUAL_SHADER) || defined(IS_REQUIRED_ROUNDED_CORNER) || defined(IS_REQUIRED_BORDERLINE) OUTPUT highp vec2 vPosition; FLAT OUTPUT highp vec2 vRectSize; @@ -42,9 +43,9 @@ uniform highp vec4 cornerRadius; uniform mediump float cornerRadiusPolicy; #endif #ifdef IS_REQUIRED_ALPHA_MASKING -OUTPUT mediump vec2 vMaskTexCoord; -uniform lowp float cropToMask; -uniform mediump vec2 maskTextureRatio; +OUTPUT highp vec2 vMaskTexCoord; +uniform lowp float cropToMask; +uniform highp vec2 maskTextureRatio; #endif uniform highp vec2 extraSize; diff --git a/dali-toolkit/internal/graphics/shaders/mesh-visual-normal-map-shader.frag b/dali-toolkit/internal/graphics/shaders/mesh-visual-normal-map-shader.frag index b482d8c806..70da4c1ec4 100644 --- a/dali-toolkit/internal/graphics/shaders/mesh-visual-normal-map-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/mesh-visual-normal-map-shader.frag @@ -1,7 +1,7 @@ -precision mediump float; -varying mediump vec2 vTexCoord; -varying mediump vec3 vLightDirection; -varying mediump vec3 vHalfVector; +precision highp float; +varying highp vec2 vTexCoord; +varying highp vec3 vLightDirection; +varying highp vec3 vHalfVector; uniform sampler2D sDiffuse; uniform sampler2D sNormal; uniform sampler2D sGloss; diff --git a/dali-toolkit/internal/graphics/shaders/mesh-visual-normal-map-shader.vert b/dali-toolkit/internal/graphics/shaders/mesh-visual-normal-map-shader.vert index bc9ac8af0a..2876174325 100644 --- a/dali-toolkit/internal/graphics/shaders/mesh-visual-normal-map-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/mesh-visual-normal-map-shader.vert @@ -1,23 +1,24 @@ +precision highp float; attribute highp vec3 aPosition; attribute highp vec2 aTexCoord; attribute highp vec3 aNormal; attribute highp vec3 aTangent; attribute highp vec3 aBiNormal; -varying mediump vec2 vTexCoord; -varying mediump vec3 vLightDirection; -varying mediump vec3 vHalfVector; -uniform mediump vec3 uSize; -uniform mediump mat4 uMvpMatrix; -uniform mediump mat4 uModelView; -uniform mediump mat4 uViewMatrix; -uniform mediump mat3 uNormalMatrix; -uniform mediump mat4 uObjectMatrix; -uniform mediump vec3 lightPosition; -uniform mediump vec2 uStageOffset; +varying highp vec2 vTexCoord; +varying highp vec3 vLightDirection; +varying highp vec3 vHalfVector; +uniform highp vec3 uSize; +uniform highp mat4 uMvpMatrix; +uniform highp mat4 uModelView; +uniform highp mat4 uViewMatrix; +uniform highp mat3 uNormalMatrix; +uniform highp mat4 uObjectMatrix; +uniform highp vec3 lightPosition; +uniform highp vec2 uStageOffset; //Visual size and offset -uniform mediump vec2 offset; -uniform mediump vec2 size; +uniform highp vec2 offset; +uniform highp vec2 size; uniform mediump vec4 offsetSizeMode; uniform mediump vec2 origin; uniform mediump vec2 anchorPoint; diff --git a/dali-toolkit/internal/graphics/shaders/mesh-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/mesh-visual-shader.frag index fd240fede5..e0baf6dfae 100644 --- a/dali-toolkit/internal/graphics/shaders/mesh-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/mesh-visual-shader.frag @@ -1,7 +1,7 @@ -precision mediump float; -varying mediump vec2 vTexCoord; -varying mediump vec3 vIllumination; -varying mediump float vSpecular; +precision highp float; +varying highp vec2 vTexCoord; +varying highp vec3 vIllumination; +varying highp float vSpecular; uniform sampler2D sDiffuse; uniform lowp vec4 uColor; diff --git a/dali-toolkit/internal/graphics/shaders/mesh-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/mesh-visual-shader.vert index 858c92dc0f..dfacaf381b 100644 --- a/dali-toolkit/internal/graphics/shaders/mesh-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/mesh-visual-shader.vert @@ -1,21 +1,22 @@ +precision highp float; attribute highp vec3 aPosition; attribute highp vec2 aTexCoord; attribute highp vec3 aNormal; -varying mediump vec2 vTexCoord; -varying mediump vec3 vIllumination; -varying mediump float vSpecular; -uniform mediump vec3 uSize; -uniform mediump mat4 uMvpMatrix; -uniform mediump mat4 uModelView; -uniform mediump mat4 uViewMatrix; -uniform mediump mat3 uNormalMatrix; -uniform mediump mat4 uObjectMatrix; -uniform mediump vec3 lightPosition; -uniform mediump vec2 uStageOffset; +varying highp vec2 vTexCoord; +varying highp vec3 vIllumination; +varying highp float vSpecular; +uniform highp vec3 uSize; +uniform highp mat4 uMvpMatrix; +uniform highp mat4 uModelView; +uniform highp mat4 uViewMatrix; +uniform highp mat3 uNormalMatrix; +uniform highp mat4 uObjectMatrix; +uniform highp vec3 lightPosition; +uniform highp vec2 uStageOffset; //Visual size and offset -uniform mediump vec2 offset; -uniform mediump vec2 size; +uniform highp vec2 offset; +uniform highp vec2 size; uniform mediump vec4 offsetSizeMode; uniform mediump vec2 origin; uniform mediump vec2 anchorPoint; diff --git a/dali-toolkit/internal/graphics/shaders/mesh-visual-simple-shader.frag b/dali-toolkit/internal/graphics/shaders/mesh-visual-simple-shader.frag index 3f344a7568..3255c3e2dc 100644 --- a/dali-toolkit/internal/graphics/shaders/mesh-visual-simple-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/mesh-visual-simple-shader.frag @@ -1,5 +1,5 @@ -precision mediump float; -varying mediump vec3 vIllumination; +precision highp float; +varying highp vec3 vIllumination; uniform lowp vec4 uColor; void main() diff --git a/dali-toolkit/internal/graphics/shaders/mesh-visual-simple-shader.vert b/dali-toolkit/internal/graphics/shaders/mesh-visual-simple-shader.vert index 0541a164eb..88beba49d2 100644 --- a/dali-toolkit/internal/graphics/shaders/mesh-visual-simple-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/mesh-visual-simple-shader.vert @@ -1,18 +1,19 @@ +precision highp float; attribute highp vec3 aPosition; attribute highp vec3 aNormal; -varying mediump vec3 vIllumination; -uniform mediump vec3 uSize; -uniform mediump mat4 uMvpMatrix; -uniform mediump mat4 uModelView; -uniform mediump mat4 uViewMatrix; -uniform mediump mat3 uNormalMatrix; -uniform mediump mat4 uObjectMatrix; -uniform mediump vec3 lightPosition; -uniform mediump vec2 uStageOffset; +varying highp vec3 vIllumination; +uniform highp vec3 uSize; +uniform highp mat4 uMvpMatrix; +uniform highp mat4 uModelView; +uniform highp mat4 uViewMatrix; +uniform highp mat3 uNormalMatrix; +uniform highp mat4 uObjectMatrix; +uniform highp vec3 lightPosition; +uniform highp vec2 uStageOffset; //Visual size and offset -uniform mediump vec2 offset; -uniform mediump vec2 size; +uniform highp vec2 offset; +uniform highp vec2 size; uniform mediump vec4 offsetSizeMode; uniform mediump vec2 origin; uniform mediump vec2 anchorPoint; diff --git a/dali-toolkit/internal/graphics/shaders/model3d-view-nrmmap-shader.frag b/dali-toolkit/internal/graphics/shaders/model3d-view-nrmmap-shader.frag index b2db8e9c60..0e5c87cb91 100644 --- a/dali-toolkit/internal/graphics/shaders/model3d-view-nrmmap-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/model3d-view-nrmmap-shader.frag @@ -1,7 +1,7 @@ -precision mediump float; -varying mediump vec2 vTexCoord; -varying mediump vec3 vLightDirection; -varying mediump vec3 vHalfVector; +precision highp float; +varying highp vec2 vTexCoord; +varying highp vec3 vLightDirection; +varying highp vec3 vHalfVector; uniform sampler2D sDiffuse; uniform sampler2D sNormal; uniform sampler2D sGloss; diff --git a/dali-toolkit/internal/graphics/shaders/model3d-view-nrmmap-shader.vert b/dali-toolkit/internal/graphics/shaders/model3d-view-nrmmap-shader.vert index 3e00350cac..46f9d90528 100644 --- a/dali-toolkit/internal/graphics/shaders/model3d-view-nrmmap-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/model3d-view-nrmmap-shader.vert @@ -1,17 +1,18 @@ +precision highp float; attribute highp vec3 aPosition; attribute highp vec2 aTexCoord; attribute highp vec3 aNormal; attribute highp vec3 aTangent; attribute highp vec3 aBiNormal; -varying mediump vec2 vTexCoord; -varying mediump vec3 vLightDirection; -varying mediump vec3 vHalfVector; -uniform mediump vec3 uSize; -uniform mediump mat4 uMvpMatrix; -uniform mediump mat4 uModelView; -uniform mediump mat3 uNormalMatrix; -uniform mediump mat4 uObjectMatrix; -uniform mediump vec3 uLightPosition; +varying highp vec2 vTexCoord; +varying highp vec3 vLightDirection; +varying highp vec3 vHalfVector; +uniform highp vec3 uSize; +uniform highp mat4 uMvpMatrix; +uniform highp mat4 uModelView; +uniform highp mat3 uNormalMatrix; +uniform highp mat4 uObjectMatrix; +uniform highp vec3 uLightPosition; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/model3d-view-shader.frag b/dali-toolkit/internal/graphics/shaders/model3d-view-shader.frag index 0c48098c83..bc601cc349 100644 --- a/dali-toolkit/internal/graphics/shaders/model3d-view-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/model3d-view-shader.frag @@ -1,7 +1,7 @@ -precision mediump float; -varying mediump vec2 vTexCoord; -varying mediump vec3 vIllumination; -varying mediump float vSpecular; +precision highp float; +varying highp vec2 vTexCoord; +varying highp vec3 vIllumination; +varying highp float vSpecular; uniform sampler2D sDiffuse; uniform lowp vec4 uColor; diff --git a/dali-toolkit/internal/graphics/shaders/model3d-view-shader.vert b/dali-toolkit/internal/graphics/shaders/model3d-view-shader.vert index 7987a18459..474bb11a8a 100644 --- a/dali-toolkit/internal/graphics/shaders/model3d-view-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/model3d-view-shader.vert @@ -1,15 +1,16 @@ +precision highp float; attribute highp vec3 aPosition; attribute highp vec2 aTexCoord; attribute highp vec3 aNormal; -varying mediump vec2 vTexCoord; -varying mediump vec3 vIllumination; -varying mediump float vSpecular; -uniform mediump vec3 uSize; -uniform mediump mat4 uMvpMatrix; -uniform mediump mat4 uModelView; -uniform mediump mat3 uNormalMatrix; -uniform mediump mat4 uObjectMatrix; -uniform mediump vec3 uLightPosition; +varying highp vec2 vTexCoord; +varying highp vec3 vIllumination; +varying highp float vSpecular; +uniform highp vec3 uSize; +uniform highp mat4 uMvpMatrix; +uniform highp mat4 uModelView; +uniform highp mat3 uNormalMatrix; +uniform highp mat4 uObjectMatrix; +uniform highp vec3 uLightPosition; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/model3d-view-simple-shader.frag b/dali-toolkit/internal/graphics/shaders/model3d-view-simple-shader.frag index d7be96f051..85f02b2c68 100644 --- a/dali-toolkit/internal/graphics/shaders/model3d-view-simple-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/model3d-view-simple-shader.frag @@ -1,5 +1,5 @@ -precision mediump float; -varying mediump vec3 vIllumination; +precision highp float; +varying highp vec3 vIllumination; uniform lowp vec4 uColor; void main() diff --git a/dali-toolkit/internal/graphics/shaders/model3d-view-simple-shader.vert b/dali-toolkit/internal/graphics/shaders/model3d-view-simple-shader.vert index a94619e68d..ef3f83c993 100644 --- a/dali-toolkit/internal/graphics/shaders/model3d-view-simple-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/model3d-view-simple-shader.vert @@ -1,13 +1,14 @@ +precision highp float; attribute highp vec3 aPosition; attribute highp vec2 aTexCoord; attribute highp vec3 aNormal; -varying mediump vec3 vIllumination; -uniform mediump vec3 uSize; -uniform mediump mat4 uMvpMatrix; -uniform mediump mat4 uModelView; -uniform mediump mat3 uNormalMatrix; -uniform mediump mat4 uObjectMatrix; -uniform mediump vec3 uLightPosition; +varying highp vec3 vIllumination; +uniform highp vec3 uSize; +uniform highp mat4 uMvpMatrix; +uniform highp mat4 uModelView; +uniform highp mat3 uNormalMatrix; +uniform highp mat4 uObjectMatrix; +uniform highp vec3 uLightPosition; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/motion-blur-effect.frag b/dali-toolkit/internal/graphics/shaders/motion-blur-effect.frag index b2c0857cb1..278964c0c1 100644 --- a/dali-toolkit/internal/graphics/shaders/motion-blur-effect.frag +++ b/dali-toolkit/internal/graphics/shaders/motion-blur-effect.frag @@ -1,4 +1,4 @@ -precision mediump float; +precision highp float; uniform sampler2D sTexture; uniform vec4 uColor; diff --git a/dali-toolkit/internal/graphics/shaders/motion-blur-effect.vert b/dali-toolkit/internal/graphics/shaders/motion-blur-effect.vert index ed3ca94f58..1a459c679b 100644 --- a/dali-toolkit/internal/graphics/shaders/motion-blur-effect.vert +++ b/dali-toolkit/internal/graphics/shaders/motion-blur-effect.vert @@ -1,4 +1,4 @@ -precision mediump float; +precision highp float; attribute vec2 aPosition; diff --git a/dali-toolkit/internal/graphics/shaders/motion-stretch-effect.frag b/dali-toolkit/internal/graphics/shaders/motion-stretch-effect.frag index 8754a4fb70..bb63199268 100644 --- a/dali-toolkit/internal/graphics/shaders/motion-stretch-effect.frag +++ b/dali-toolkit/internal/graphics/shaders/motion-stretch-effect.frag @@ -1,4 +1,4 @@ -precision mediump float; +precision highp float; uniform sampler2D sTexture; uniform vec4 uColor; diff --git a/dali-toolkit/internal/graphics/shaders/motion-stretch-effect.vert b/dali-toolkit/internal/graphics/shaders/motion-stretch-effect.vert index 3ac7364111..2994cc407a 100644 --- a/dali-toolkit/internal/graphics/shaders/motion-stretch-effect.vert +++ b/dali-toolkit/internal/graphics/shaders/motion-stretch-effect.vert @@ -1,4 +1,4 @@ -precision mediump float; +precision highp float; attribute vec2 aPosition; diff --git a/dali-toolkit/internal/graphics/shaders/npatch-visual-3x3-shader.vert b/dali-toolkit/internal/graphics/shaders/npatch-visual-3x3-shader.vert index c3db474995..ac96282e97 100644 --- a/dali-toolkit/internal/graphics/shaders/npatch-visual-3x3-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/npatch-visual-3x3-shader.vert @@ -1,6 +1,7 @@ -attribute mediump vec2 aPosition; -varying mediump vec2 vTexCoord; -varying mediump vec2 vMaskTexCoord; +precision highp float; +attribute highp vec2 aPosition; +varying highp vec2 vTexCoord; +varying highp vec2 vMaskTexCoord; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; diff --git a/dali-toolkit/internal/graphics/shaders/npatch-visual-mask-shader.frag b/dali-toolkit/internal/graphics/shaders/npatch-visual-mask-shader.frag index fbb4bdf8aa..ea7ed5f13a 100644 --- a/dali-toolkit/internal/graphics/shaders/npatch-visual-mask-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/npatch-visual-mask-shader.frag @@ -1,5 +1,6 @@ -varying mediump vec2 vTexCoord; -varying mediump vec2 vMaskTexCoord; +precision highp float; +varying highp vec2 vTexCoord; +varying highp vec2 vMaskTexCoord; uniform sampler2D sTexture; uniform sampler2D sMask; uniform lowp vec4 uColor; @@ -18,8 +19,8 @@ void main() mediump float maskAlpha = mask.a * auxiliaryImageAlpha; - lowp vec3 preMultipliedMaskRGB = mask.rgb * mix(mask.a, 1.0, premultipliedAlpha) * auxiliaryImageAlpha; - lowp vec3 preMultipliedTextureRGB = color.rgb * mix(color.a, 1.0, premultipliedAlpha); + highp vec3 preMultipliedMaskRGB = mask.rgb * mix(mask.a, 1.0, premultipliedAlpha) * auxiliaryImageAlpha; + highp vec3 preMultipliedTextureRGB = color.rgb * mix(color.a, 1.0, premultipliedAlpha); // Manual blend operation with premultiplied colors. // Final alpha = maskAlpha + (1.0 - maskAlpha) * color.a. @@ -27,8 +28,8 @@ void main() // If premultipliedAlpha == 1.0, just return vec4(rgb*alpha, alpha) // Else, return vec4((rgb*alpha) / alpha, alpha) - lowp float finalAlpha = mix(color.a, 1.0, maskAlpha); - lowp vec3 finalMultipliedRGB = preMultipliedMaskRGB + (1.0 - maskAlpha) * preMultipliedTextureRGB; + highp float finalAlpha = mix(color.a, 1.0, maskAlpha); + highp vec3 finalMultipliedRGB = preMultipliedMaskRGB + (1.0 - maskAlpha) * preMultipliedTextureRGB; // TODO : Need to find some way without division lowp vec4 finalColor = vec4(finalMultipliedRGB * mix(1.0 / finalAlpha, 1.0, premultipliedAlpha), finalAlpha); diff --git a/dali-toolkit/internal/graphics/shaders/npatch-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/npatch-visual-shader.frag index 93f8fbce6c..54d3ad2a28 100644 --- a/dali-toolkit/internal/graphics/shaders/npatch-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/npatch-visual-shader.frag @@ -1,4 +1,5 @@ -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform lowp vec4 uColor; diff --git a/dali-toolkit/internal/graphics/shaders/npatch-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/npatch-visual-shader.vert index d571a6406d..bdb45b2a8d 100644 --- a/dali-toolkit/internal/graphics/shaders/npatch-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/npatch-visual-shader.vert @@ -1,6 +1,7 @@ -attribute mediump vec2 aPosition; -varying mediump vec2 vTexCoord; -varying mediump vec2 vMaskTexCoord; +precision highp float; +attribute highp vec2 aPosition; +varying highp vec2 vTexCoord; +varying highp vec2 vMaskTexCoord; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; uniform highp vec2 uNinePatchFactorsX[FACTOR_SIZE_X]; diff --git a/dali-toolkit/internal/graphics/shaders/page-turn-book-spine-effect.frag b/dali-toolkit/internal/graphics/shaders/page-turn-book-spine-effect.frag index c4544aa3c5..8eb3cf92f1 100644 --- a/dali-toolkit/internal/graphics/shaders/page-turn-book-spine-effect.frag +++ b/dali-toolkit/internal/graphics/shaders/page-turn-book-spine-effect.frag @@ -1,5 +1,5 @@ -precision mediump float; -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform vec3 uSize; uniform vec2 uSpineShadowParameter; uniform sampler2D sTexture; diff --git a/dali-toolkit/internal/graphics/shaders/page-turn-book-spine-effect.vert b/dali-toolkit/internal/graphics/shaders/page-turn-book-spine-effect.vert index 900aeb9ace..fc315a9a51 100644 --- a/dali-toolkit/internal/graphics/shaders/page-turn-book-spine-effect.vert +++ b/dali-toolkit/internal/graphics/shaders/page-turn-book-spine-effect.vert @@ -1,13 +1,13 @@ -precision mediump float; -attribute mediump vec2 aPosition; -uniform mediump mat4 uMvpMatrix; +precision highp float; +attribute highp vec2 aPosition; +uniform highp mat4 uMvpMatrix; uniform vec3 uSize; uniform float uTextureWidth; varying vec2 vTexCoord; void main() { - mediump vec4 vertexPosition = vec4(aPosition*uSize.xy, 0.0, 1.0); + highp vec4 vertexPosition = vec4(aPosition*uSize.xy, 0.0, 1.0); gl_Position = uMvpMatrix * vertexPosition; vTexCoord = aPosition + vec2(0.5); vTexCoord.x /= uTextureWidth; diff --git a/dali-toolkit/internal/graphics/shaders/page-turn-effect.frag b/dali-toolkit/internal/graphics/shaders/page-turn-effect.frag index 8fa6e776a9..12d30655a2 100644 --- a/dali-toolkit/internal/graphics/shaders/page-turn-effect.frag +++ b/dali-toolkit/internal/graphics/shaders/page-turn-effect.frag @@ -1,13 +1,13 @@ -precision mediump float; +precision highp float; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform lowp vec4 uColor; -uniform vec3 uSize; -uniform vec2 uSpineShadowParameter; -varying vec3 vNormal; -varying vec4 vPosition; +uniform highp vec3 uSize; +uniform highp vec2 uSpineShadowParameter; +varying highp vec3 vNormal; +varying highp vec4 vPosition; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/page-turn-effect.vert b/dali-toolkit/internal/graphics/shaders/page-turn-effect.vert index 9705061796..ef15a16d6d 100644 --- a/dali-toolkit/internal/graphics/shaders/page-turn-effect.vert +++ b/dali-toolkit/internal/graphics/shaders/page-turn-effect.vert @@ -16,22 +16,22 @@ * ([3][3]) float currentLength: The length from the current center to the curveEnd. */ -precision mediump float; +precision highp float; -attribute mediump vec2 aPosition; +attribute highp vec2 aPosition; -uniform mediump mat4 uMvpMatrix; -uniform mediump mat3 uNormalMatrix; -uniform mediump mat4 uModelView; +uniform highp mat4 uMvpMatrix; +uniform highp mat3 uNormalMatrix; +uniform highp mat4 uModelView; -uniform mat4 uCommonParameters; +uniform highp mat4 uCommonParameters; -uniform vec3 uSize; +uniform highp vec3 uSize; uniform float uIsTurningBack; uniform float uTextureWidth; -varying vec3 vNormal; -varying vec4 vPosition; -varying mediump vec2 vTexCoord; +varying highp vec3 vNormal; +varying highp vec4 vPosition; +varying highp vec2 vTexCoord; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/primitive-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/primitive-visual-shader.frag index 751f52773f..0535c64442 100644 --- a/dali-toolkit/internal/graphics/shaders/primitive-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/primitive-visual-shader.frag @@ -1,7 +1,7 @@ //Very simple fragment shader that merely applies the vertex shading to the color at each fragment. -precision mediump float; -varying mediump vec3 vIllumination; +precision highp float; +varying highp vec3 vIllumination; uniform lowp vec4 uColor; void main() diff --git a/dali-toolkit/internal/graphics/shaders/primitive-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/primitive-visual-shader.vert index 12002941dd..4a23d4a543 100644 --- a/dali-toolkit/internal/graphics/shaders/primitive-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/primitive-visual-shader.vert @@ -1,22 +1,23 @@ //A simple shader that applies diffuse lighting to a mono-coloured object. +precision highp float; attribute highp vec3 aPosition; attribute highp vec2 aTexCoord; attribute highp vec3 aNormal; -varying mediump vec3 vIllumination; -uniform mediump vec3 uSize; -uniform mediump vec3 uObjectDimensions; -uniform mediump mat4 uMvpMatrix; -uniform mediump mat4 uModelView; -uniform mediump mat4 uViewMatrix; -uniform mediump mat3 uNormalMatrix; -uniform mediump mat4 uObjectMatrix; -uniform mediump vec3 lightPosition; -uniform mediump vec2 uStageOffset; +varying highp vec3 vIllumination; +uniform highp vec3 uSize; +uniform highp vec3 uObjectDimensions; +uniform highp mat4 uMvpMatrix; +uniform highp mat4 uModelView; +uniform highp mat4 uViewMatrix; +uniform highp mat3 uNormalMatrix; +uniform highp mat4 uObjectMatrix; +uniform highp vec3 lightPosition; +uniform highp vec2 uStageOffset; //Visual size and offset -uniform mediump vec2 offset; -uniform mediump vec2 size; +uniform highp vec2 offset; +uniform highp vec2 size; uniform mediump vec4 offsetSizeMode; uniform mediump vec2 origin; uniform mediump vec2 anchorPoint; diff --git a/dali-toolkit/internal/graphics/shaders/shadow-view-render-shader.frag b/dali-toolkit/internal/graphics/shaders/shadow-view-render-shader.frag index d193acfb4a..c0e41380e6 100644 --- a/dali-toolkit/internal/graphics/shaders/shadow-view-render-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/shadow-view-render-shader.frag @@ -1,4 +1,5 @@ -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform lowp vec4 uShadowColor; uniform sampler2D sTexture; diff --git a/dali-toolkit/internal/graphics/shaders/shadow-view-render-shader.vert b/dali-toolkit/internal/graphics/shaders/shadow-view-render-shader.vert index 4b38884c9a..9096c94803 100644 --- a/dali-toolkit/internal/graphics/shaders/shadow-view-render-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/shadow-view-render-shader.vert @@ -1,15 +1,16 @@ -attribute mediump vec2 aPosition; -uniform mediump mat4 uMvpMatrix; -uniform mediump mat4 uModelMatrix; -uniform vec3 uSize; -varying vec2 vTexCoord; +precision highp float; +attribute highp vec2 aPosition; +uniform highp mat4 uMvpMatrix; +uniform highp mat4 uModelMatrix; +uniform highp vec3 uSize; +varying highp vec2 vTexCoord; -uniform mediump mat4 uLightCameraProjectionMatrix; -uniform mediump mat4 uLightCameraViewMatrix; +uniform highp mat4 uLightCameraProjectionMatrix; +uniform highp mat4 uLightCameraViewMatrix; void main() { - mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); + highp vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); vertexPosition.xyz *= uSize; gl_Position = uMvpMatrix * vertexPosition; vec4 textureCoords = uLightCameraProjectionMatrix * uLightCameraViewMatrix * uModelMatrix * vertexPosition; diff --git a/dali-toolkit/internal/graphics/shaders/spread-filter-shader.frag b/dali-toolkit/internal/graphics/shaders/spread-filter-shader.frag index ac8276323d..11d5bbe914 100644 --- a/dali-toolkit/internal/graphics/shaders/spread-filter-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/spread-filter-shader.frag @@ -1,8 +1,8 @@ precision highp float; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; -uniform int uSpread; -uniform vec2 uTexScale; +uniform highp int uSpread; +uniform highp vec2 uTexScale; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/super-blur-view.frag b/dali-toolkit/internal/graphics/shaders/super-blur-view.frag index aad41e1a54..553732849a 100644 --- a/dali-toolkit/internal/graphics/shaders/super-blur-view.frag +++ b/dali-toolkit/internal/graphics/shaders/super-blur-view.frag @@ -1,4 +1,5 @@ -varying mediump vec2 vTexCoord; +precision highp float; +varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform lowp vec4 uColor; uniform lowp float uAlpha; diff --git a/dali-toolkit/internal/graphics/shaders/text-atlas-l8-shader.frag b/dali-toolkit/internal/graphics/shaders/text-atlas-l8-shader.frag index e42de21e5b..97acac81ba 100644 --- a/dali-toolkit/internal/graphics/shaders/text-atlas-l8-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/text-atlas-l8-shader.frag @@ -1,8 +1,9 @@ -uniform lowp vec4 uColor; -uniform lowp vec4 textColorAnimatable; -uniform sampler2D sTexture; -varying mediump vec2 vTexCoord; -varying mediump vec4 vColor; +precision highp float; +uniform lowp vec4 uColor; +uniform lowp vec4 textColorAnimatable; +uniform sampler2D sTexture; +varying highp vec2 vTexCoord; +varying highp vec4 vColor; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/text-atlas-rgba-shader.frag b/dali-toolkit/internal/graphics/shaders/text-atlas-rgba-shader.frag index 966ee90555..a79381ae5f 100644 --- a/dali-toolkit/internal/graphics/shaders/text-atlas-rgba-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/text-atlas-rgba-shader.frag @@ -1,7 +1,8 @@ -uniform lowp vec4 uColor; -uniform lowp vec4 textColorAnimatable; -uniform sampler2D sTexture; -varying mediump vec2 vTexCoord; +precision highp float; +uniform lowp vec4 uColor; +uniform lowp vec4 textColorAnimatable; +uniform sampler2D sTexture; +varying highp vec2 vTexCoord; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/text-atlas-shader.vert b/dali-toolkit/internal/graphics/shaders/text-atlas-shader.vert index 0d2d621688..ef465023b0 100644 --- a/dali-toolkit/internal/graphics/shaders/text-atlas-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/text-atlas-shader.vert @@ -1,10 +1,11 @@ -attribute highp vec2 aPosition; -attribute mediump vec2 aTexCoord; -attribute mediump vec4 aColor; -uniform mediump vec2 uOffset; -uniform highp mat4 uMvpMatrix; -varying mediump vec2 vTexCoord; -varying mediump vec4 vColor; +precision highp float; +attribute highp vec2 aPosition; +attribute highp vec2 aTexCoord; +attribute highp vec4 aColor; +uniform highp vec2 uOffset; +uniform highp mat4 uMvpMatrix; +varying highp vec2 vTexCoord; +varying highp vec4 vColor; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/text-controller-background-shader.frag b/dali-toolkit/internal/graphics/shaders/text-controller-background-shader.frag index c935d22108..f0fbd7f3a4 100644 --- a/dali-toolkit/internal/graphics/shaders/text-controller-background-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/text-controller-background-shader.frag @@ -1,5 +1,6 @@ -varying mediump vec4 vColor; -uniform lowp vec4 uColor; +precision highp float; +varying highp vec4 vColor; +uniform lowp vec4 uColor; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/text-controller-background-shader.vert b/dali-toolkit/internal/graphics/shaders/text-controller-background-shader.vert index 9ce403cba9..8518edd5e2 100644 --- a/dali-toolkit/internal/graphics/shaders/text-controller-background-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/text-controller-background-shader.vert @@ -1,11 +1,12 @@ -attribute mediump vec2 aPosition; -attribute mediump vec4 aColor; -varying mediump vec4 vColor; -uniform highp mat4 uMvpMatrix; +precision highp float; +attribute highp vec2 aPosition; +attribute highp vec4 aColor; +varying highp vec4 vColor; +uniform highp mat4 uMvpMatrix; void main() { - mediump vec4 position = vec4( aPosition, 0.0, 1.0 ); + highp vec4 position = vec4( aPosition, 0.0, 1.0 ); gl_Position = uMvpMatrix * position; vColor = aColor; } diff --git a/dali-toolkit/internal/graphics/shaders/text-decorator-shader.frag b/dali-toolkit/internal/graphics/shaders/text-decorator-shader.frag index 7402ddef75..404409dd43 100644 --- a/dali-toolkit/internal/graphics/shaders/text-decorator-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/text-decorator-shader.frag @@ -1,4 +1,5 @@ -uniform lowp vec4 uColor; +precision highp float; +uniform lowp vec4 uColor; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/text-decorator-shader.vert b/dali-toolkit/internal/graphics/shaders/text-decorator-shader.vert index 6afdfca6aa..a3c6918fe0 100644 --- a/dali-toolkit/internal/graphics/shaders/text-decorator-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/text-decorator-shader.vert @@ -1,8 +1,9 @@ -attribute mediump vec2 aPosition; -uniform highp mat4 uMvpMatrix; +precision highp float; +attribute highp vec2 aPosition; +uniform highp mat4 uMvpMatrix; void main() { - mediump vec4 position = vec4( aPosition, 0.0, 1.0 ); + highp vec4 position = vec4( aPosition, 0.0, 1.0 ); gl_Position = uMvpMatrix * position; } diff --git a/dali-toolkit/internal/graphics/shaders/text-scroller-shader.frag b/dali-toolkit/internal/graphics/shaders/text-scroller-shader.frag index 876628abc3..2af902c280 100644 --- a/dali-toolkit/internal/graphics/shaders/text-scroller-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/text-scroller-shader.frag @@ -1,3 +1,4 @@ +precision highp float; varying highp vec2 vTexCoord; uniform sampler2D sTexture; uniform lowp vec4 uColor; diff --git a/dali-toolkit/internal/graphics/shaders/text-scroller-shader.vert b/dali-toolkit/internal/graphics/shaders/text-scroller-shader.vert index c152b5e3be..9636f33b84 100644 --- a/dali-toolkit/internal/graphics/shaders/text-scroller-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/text-scroller-shader.vert @@ -1,16 +1,17 @@ -attribute mediump vec2 aPosition; +precision highp float; +attribute highp vec2 aPosition; varying highp vec2 vTexCoord; uniform highp vec3 uSize; uniform highp float uDelta; -uniform mediump vec2 uTextureSize; +uniform highp vec2 uTextureSize; uniform highp float uGap; -uniform mediump float uHorizontalAlign; -uniform mediump float uVerticalAlign; +uniform highp float uHorizontalAlign; +uniform highp float uVerticalAlign; uniform highp mat4 uMvpMatrix; //Visual size and offset -uniform mediump vec2 offset; +uniform highp vec2 offset; uniform highp vec2 size; uniform mediump vec4 offsetSizeMode; uniform mediump vec2 origin; @@ -21,8 +22,8 @@ void main() highp vec2 visualSize = mix(size * uSize.xy, size, offsetSizeMode.zw); highp vec2 visualOffset = mix(offset * uSize.xy, offset, offsetSizeMode.xy); - vTexCoord.x = ( uDelta + uHorizontalAlign * ( uTextureSize.x - visualSize.x - uGap ) + aPosition.x * visualSize.x - uGap * 0.5 ) / uTextureSize.x + 0.5; - vTexCoord.y = ( uVerticalAlign * ( uTextureSize.y - visualSize.y ) + aPosition.y * visualSize.y ) / ( uTextureSize.y ) + 0.5; + vTexCoord.x = ( uDelta + (aPosition.x - uHorizontalAlign) * visualSize.x - uGap * (0.5 + uHorizontalAlign) ) / uTextureSize.x + uHorizontalAlign + 0.5; + vTexCoord.y = ( (aPosition.y - uVerticalAlign) * visualSize.y ) / uTextureSize.y + uVerticalAlign + 0.5; highp vec4 vertexPosition = vec4( ( aPosition + anchorPoint ) * visualSize + visualOffset + origin * uSize.xy, 0.0, 1.0 ); diff --git a/dali-toolkit/internal/graphics/shaders/text-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/text-visual-shader.frag index 8cd690a3ca..9aaf6c4cbe 100644 --- a/dali-toolkit/internal/graphics/shaders/text-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/text-visual-shader.frag @@ -1,4 +1,5 @@ -INPUT mediump vec2 vTexCoord; +precision highp float; +INPUT highp vec2 vTexCoord; uniform sampler2D sTexture; #ifdef IS_REQUIRED_STYLE uniform sampler2D sStyle; diff --git a/dali-toolkit/internal/graphics/shaders/text-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/text-visual-shader.vert index 68503a9af2..ea92a4c749 100644 --- a/dali-toolkit/internal/graphics/shaders/text-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/text-visual-shader.vert @@ -1,11 +1,12 @@ -INPUT mediump vec2 aPosition; +precision highp float; +INPUT highp vec2 aPosition; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; -OUTPUT mediump vec2 vTexCoord; +OUTPUT highp vec2 vTexCoord; //Visual size and offset -uniform mediump vec2 offset; +uniform highp vec2 offset; uniform highp vec2 size; uniform mediump vec4 offsetSizeMode; uniform mediump vec2 origin; @@ -13,8 +14,8 @@ uniform mediump vec2 anchorPoint; vec4 ComputeVertexPosition() { - vec2 visualSize = mix(size * uSize.xy, size, offsetSizeMode.zw ); - vec2 visualOffset = mix(offset * uSize.xy, offset, offsetSizeMode.xy); + highp vec2 visualSize = mix(size * uSize.xy, size, offsetSizeMode.zw ); + highp vec2 visualOffset = mix(offset * uSize.xy, offset, offsetSizeMode.xy); return vec4( (aPosition + anchorPoint) * visualSize + visualOffset + origin * uSize.xy, 0.0, 1.0 ); } diff --git a/dali-toolkit/internal/graphics/shaders/video-view-texture.frag b/dali-toolkit/internal/graphics/shaders/video-view-texture.frag index 306f12e7e1..ba034c9456 100644 --- a/dali-toolkit/internal/graphics/shaders/video-view-texture.frag +++ b/dali-toolkit/internal/graphics/shaders/video-view-texture.frag @@ -1,5 +1,6 @@ +precision highp float; uniform lowp vec4 uColor; -varying mediump vec2 vTexCoord; +varying highp vec2 vTexCoord; uniform samplerExternalOES sTexture; void main() diff --git a/dali-toolkit/internal/graphics/shaders/video-view-texture.vert b/dali-toolkit/internal/graphics/shaders/video-view-texture.vert index 79cbb23937..a7b041532a 100644 --- a/dali-toolkit/internal/graphics/shaders/video-view-texture.vert +++ b/dali-toolkit/internal/graphics/shaders/video-view-texture.vert @@ -1,8 +1,8 @@ -attribute mediump vec2 aPosition; -varying mediump vec2 vTexCoord; +precision highp float; +attribute highp vec2 aPosition; +varying highp vec2 vTexCoord; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; -varying mediump vec2 sTexCoordRect; void main() { diff --git a/dali-toolkit/internal/graphics/shaders/video-view.frag b/dali-toolkit/internal/graphics/shaders/video-view.frag index 8045c0def0..549baa3ee7 100644 --- a/dali-toolkit/internal/graphics/shaders/video-view.frag +++ b/dali-toolkit/internal/graphics/shaders/video-view.frag @@ -1,3 +1,4 @@ +precision highp float; void main() { gl_FragColor = vec4(0.0); diff --git a/dali-toolkit/internal/graphics/shaders/video-view.vert b/dali-toolkit/internal/graphics/shaders/video-view.vert index 3f824dd1b0..6073ab60a2 100644 --- a/dali-toolkit/internal/graphics/shaders/video-view.vert +++ b/dali-toolkit/internal/graphics/shaders/video-view.vert @@ -1,10 +1,11 @@ -attribute mediump vec2 aPosition; +precision highp float; +attribute highp vec2 aPosition; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; void main() { - mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); + highp vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); vertexPosition.xyz *= uSize; gl_Position = uMvpMatrix * vertexPosition; } diff --git a/dali-toolkit/internal/graphics/shaders/wireframe-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/wireframe-visual-shader.frag index c75da53311..404409dd43 100644 --- a/dali-toolkit/internal/graphics/shaders/wireframe-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/wireframe-visual-shader.frag @@ -1,3 +1,4 @@ +precision highp float; uniform lowp vec4 uColor; void main() diff --git a/dali-toolkit/internal/graphics/shaders/wireframe-visual-shader.vert b/dali-toolkit/internal/graphics/shaders/wireframe-visual-shader.vert index 9a9975cda1..0ddd701122 100644 --- a/dali-toolkit/internal/graphics/shaders/wireframe-visual-shader.vert +++ b/dali-toolkit/internal/graphics/shaders/wireframe-visual-shader.vert @@ -1,9 +1,10 @@ -attribute mediump vec2 aPosition; +precision highp float; +attribute highp vec2 aPosition; uniform highp mat4 uMvpMatrix; uniform highp vec3 uSize; //Visual size and offset -uniform mediump vec2 offset; +uniform highp vec2 offset; uniform highp vec2 size; uniform mediump vec4 offsetSizeMode; uniform mediump vec2 origin;