Change the precision of size and uSize from mediumP to highP 43/243243/5
authorSunghyun Kim <scholb.kim@samsung.com>
Fri, 4 Sep 2020 07:14:04 +0000 (16:14 +0900)
committersunghyun kim <scholb.kim@samsung.com>
Mon, 21 Sep 2020 03:02:28 +0000 (03:02 +0000)
When I checked the value of uSize and size set in the application, the
multiplication of these values could result in INF number if shader uses
mediump (fp16).

To avoid this problem, i change the precision of size and uSize from mediumP to highP

Change-Id: Iaa3e6f4427cfbf82a2ca59f0c5628f746ebdbb80

dali-toolkit/internal/controls/video-view/video-view-impl.cpp
dali-toolkit/internal/text/text-scroller.cpp
dali-toolkit/internal/visuals/animated-gradient/animated-gradient-visual.cpp
dali-toolkit/internal/visuals/border/border-visual.cpp
dali-toolkit/internal/visuals/color/color-visual.cpp
dali-toolkit/internal/visuals/gradient/gradient-visual.cpp
dali-toolkit/internal/visuals/image-visual-shader-factory.cpp
dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
dali-toolkit/internal/visuals/text/text-visual.cpp
dali-toolkit/internal/visuals/wireframe/wireframe-visual.cpp

index 463a214..523fcf0 100644 (file)
@@ -88,7 +88,7 @@ const char* const CUSTOM_SAMPLER_TYPE_NAME( "samplerExternalOES" );
 const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
 const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   \n
   void main()\n
   {\n
   \n
   void main()\n
   {\n
@@ -110,7 +110,7 @@ const char* VERTEX_SHADER_TEXTURE = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   varying mediump vec2 vTexCoord;\n
   uniform highp   mat4 uMvpMatrix;\n
   attribute mediump vec2 aPosition;\n
   varying mediump vec2 vTexCoord;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   varying mediump vec2 sTexCoordRect;\n
   void main()\n
   {\n
   varying mediump vec2 sTexCoordRect;\n
   void main()\n
   {\n
index 6d0930b..b2c1b19 100755 (executable)
@@ -42,7 +42,7 @@ const int MINIMUM_SCROLL_SPEED = 1; // Speed should be set by Property system.
 const char* VERTEX_SHADER_SCROLL = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   varying highp vec2 vTexCoord;\n
 const char* VERTEX_SHADER_SCROLL = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   varying highp vec2 vTexCoord;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp vec3 uSize;\n
   uniform mediump float uDelta;\n
   uniform mediump vec2 uTextureSize;\n
   uniform mediump float uGap;\n
   uniform mediump float uDelta;\n
   uniform mediump vec2 uTextureSize;\n
   uniform mediump float uGap;\n
@@ -53,7 +53,7 @@ const char* VERTEX_SHADER_SCROLL = DALI_COMPOSE_SHADER(
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp vec2 size;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
index 0a045f0..05d1724 100755 (executable)
@@ -96,7 +96,7 @@ const Toolkit::DevelAnimatedGradientVisual::AnimationParameter::EasingType::Type
 const char* const BASIC_VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;
   uniform highp   mat4 uMvpMatrix;
 const char* const BASIC_VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;
   uniform highp   mat4 uMvpMatrix;
-  uniform mediump vec3 uSize;
+  uniform highp   vec3 uSize;
 
   uniform mediump vec2 start_point;
   uniform mediump vec2 end_point;
 
   uniform mediump vec2 start_point;
   uniform mediump vec2 end_point;
@@ -118,7 +118,7 @@ const char* const BASIC_VERTEX_SHADER = DALI_COMPOSE_SHADER(
 
   //Visual size and offset
   uniform mediump vec2 offset;
 
   //Visual size and offset
   uniform mediump vec2 offset;
-  uniform mediump vec2 size;
+  uniform highp vec2 size;
   uniform mediump vec4 offsetSizeMode;
   uniform mediump vec2 origin;
   uniform mediump vec2 anchorPoint;
   uniform mediump vec4 offsetSizeMode;
   uniform mediump vec2 origin;
   uniform mediump vec2 anchorPoint;
index 47667fc..03412bf 100644 (file)
@@ -49,13 +49,13 @@ const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   attribute mediump vec2 aDrift;\n
   uniform highp   mat4 uMvpMatrix;\n
   attribute mediump vec2 aPosition;\n
   attribute mediump vec2 aDrift;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   uniform mediump float borderSize;\n
   \n
 
   //Visual size and offset
   uniform mediump vec2 offset;\n
   uniform mediump float borderSize;\n
   \n
 
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp   vec2 size;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
@@ -89,7 +89,7 @@ const char* VERTEX_SHADER_ANTI_ALIASING = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   attribute mediump vec2 aDrift;\n
   uniform highp   mat4 uMvpMatrix;\n
   attribute mediump vec2 aPosition;\n
   attribute mediump vec2 aDrift;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   uniform mediump float borderSize;\n
   varying mediump float vAlpha;\n
   \n
   uniform mediump float borderSize;\n
   varying mediump float vAlpha;\n
   \n
index dce5255..63d02ec 100644 (file)
@@ -46,12 +46,12 @@ namespace
 const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
 const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   \n
 
   //Visual size and offset
   uniform mediump vec2 offset;\n
   \n
 
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp   vec2 size;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
@@ -83,14 +83,14 @@ const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER(
 const char* VERTEX_SHADER_ROUNDED_CORNER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
 const char* VERTEX_SHADER_ROUNDED_CORNER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   varying mediump vec2 vPosition;\n
   varying mediump vec2 vRectSize;\n
   varying mediump float vCornerRadius;\n
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
   varying mediump vec2 vPosition;\n
   varying mediump vec2 vRectSize;\n
   varying mediump float vCornerRadius;\n
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp   vec2 size;\n
   uniform mediump vec2 extraSize;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 extraSize;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
@@ -135,13 +135,13 @@ const char* FRAGMENT_SHADER_ROUNDED_CORNER = DALI_COMPOSE_SHADER(
 const char* VERTEX_SHADER_BLUR_EDGE = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
 const char* VERTEX_SHADER_BLUR_EDGE = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp vec3 uSize;\n
   varying mediump vec2 vPosition;\n
   varying mediump vec2 vRectSize;\n
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
   varying mediump vec2 vPosition;\n
   varying mediump vec2 vRectSize;\n
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp vec2 size;\n
   uniform mediump vec2 extraSize;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 extraSize;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
index d5af5a4..7a3af39 100644 (file)
@@ -88,14 +88,14 @@ const char* VERTEX_SHADER[] =
 DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
 DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   uniform mediump mat3 uAlignmentMatrix;\n
   varying mediump vec2 vTexCoord;\n
   \n
 
   //Visual size and offset
   uniform mediump vec2 offset;\n
   uniform mediump mat3 uAlignmentMatrix;\n
   varying mediump vec2 vTexCoord;\n
   \n
 
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp   vec2 size;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
@@ -120,14 +120,14 @@ DALI_COMPOSE_SHADER(
 DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
 DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   uniform mediump mat3 uAlignmentMatrix;\n
   varying mediump vec2 vTexCoord;\n
   \n
 
   //Visual size and offset
   uniform mediump vec2 offset;\n
   uniform mediump mat3 uAlignmentMatrix;\n
   varying mediump vec2 vTexCoord;\n
   \n
 
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp   vec2 size;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
@@ -153,7 +153,7 @@ DALI_COMPOSE_SHADER(
 DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
 DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   uniform mediump mat3 uAlignmentMatrix;\n
   varying mediump vec2 vTexCoord;\n
   varying mediump vec2 vPosition;\n
   uniform mediump mat3 uAlignmentMatrix;\n
   varying mediump vec2 vTexCoord;\n
   varying mediump vec2 vPosition;\n
@@ -162,7 +162,7 @@ DALI_COMPOSE_SHADER(
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp   vec2 size;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
@@ -194,7 +194,7 @@ DALI_COMPOSE_SHADER(
 DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
 DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   uniform mediump mat3 uAlignmentMatrix;\n
   varying mediump vec2 vTexCoord;\n
   varying mediump vec2 vPosition;\n
   uniform mediump mat3 uAlignmentMatrix;\n
   varying mediump vec2 vTexCoord;\n
   varying mediump vec2 vPosition;\n
@@ -203,7 +203,7 @@ DALI_COMPOSE_SHADER(
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp   vec2 size;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
index beb4f09..45d0e3f 100644 (file)
@@ -39,13 +39,13 @@ const Vector4 FULL_TEXTURE_RECT(0.f, 0.f, 1.f, 1.f);
 const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
 const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   uniform mediump vec4 pixelArea;
   varying mediump vec2 vTexCoord;\n
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
   uniform mediump vec4 pixelArea;
   varying mediump vec2 vTexCoord;\n
   \n
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp   vec2 size;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
index b954c8c..bd374aa 100644 (file)
@@ -51,14 +51,14 @@ const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
   varying mediump vec2 vTexCoord;\n
   varying mediump vec2 vMaskTexCoord;\n
   uniform highp   mat4 uMvpMatrix;\n
   varying mediump vec2 vTexCoord;\n
   varying mediump vec2 vMaskTexCoord;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   uniform mediump vec2 uNinePatchFactorsX[ FACTOR_SIZE_X ];\n
   uniform mediump vec2 uNinePatchFactorsY[ FACTOR_SIZE_Y ];\n
   \n
 
   // Visual size and offset
   uniform mediump vec2 offset;\n
   uniform mediump vec2 uNinePatchFactorsX[ FACTOR_SIZE_X ];\n
   uniform mediump vec2 uNinePatchFactorsY[ FACTOR_SIZE_Y ];\n
   \n
 
   // Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp   vec2 size;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
@@ -93,13 +93,13 @@ const char* VERTEX_SHADER_3X3 = DALI_COMPOSE_SHADER(
     varying mediump vec2 vTexCoord;\n
     varying mediump vec2 vMaskTexCoord;\n
     uniform highp   mat4 uMvpMatrix;\n
     varying mediump vec2 vTexCoord;\n
     varying mediump vec2 vMaskTexCoord;\n
     uniform highp   mat4 uMvpMatrix;\n
-    uniform mediump vec3 uSize;\n
+    uniform highp   vec3 uSize;\n
     uniform mediump vec2 uFixed[ 3 ];\n
     uniform mediump vec2 uStretchTotal;\n
     \n
     //Visual size and offset
     uniform mediump vec2 offset;\n
     uniform mediump vec2 uFixed[ 3 ];\n
     uniform mediump vec2 uStretchTotal;\n
     \n
     //Visual size and offset
     uniform mediump vec2 offset;\n
-    uniform mediump vec2 size;\n
+    uniform highp   vec2 size;\n
     uniform mediump vec4 offsetSizeMode;\n
     uniform mediump vec2 origin;\n
     uniform mediump vec2 anchorPoint;\n
     uniform mediump vec4 offsetSizeMode;\n
     uniform mediump vec2 origin;\n
     uniform mediump vec2 anchorPoint;\n
index 1d75634..e9a32f6 100755 (executable)
@@ -58,14 +58,14 @@ const Vector4 FULL_TEXTURE_RECT( 0.f, 0.f, 1.f, 1.f );
 const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
 const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
   attribute mediump vec2 aPosition;\n
   uniform highp   mat4 uMvpMatrix;\n
-  uniform mediump vec3 uSize;\n
+  uniform highp   vec3 uSize;\n
   uniform mediump vec4 pixelArea;\n
 
   varying mediump vec2 vTexCoord;\n
 
   //Visual size and offset
   uniform mediump vec2 offset;\n
   uniform mediump vec4 pixelArea;\n
 
   varying mediump vec2 vTexCoord;\n
 
   //Visual size and offset
   uniform mediump vec2 offset;\n
-  uniform mediump vec2 size;\n
+  uniform highp   vec2 size;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
   uniform mediump vec4 offsetSizeMode;\n
   uniform mediump vec2 origin;\n
   uniform mediump vec2 anchorPoint;\n
index ba3b651..3707465 100644 (file)
@@ -43,12 +43,12 @@ const char * const INDEX_NAME("indices");
 const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
 attribute mediump vec2  aPosition;\n
 uniform   highp   mat4  uMvpMatrix;\n
 const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
 attribute mediump vec2  aPosition;\n
 uniform   highp   mat4  uMvpMatrix;\n
-uniform   mediump vec3  uSize;\n
+uniform   highp   vec3  uSize;\n
 \n
 
 //Visual size and offset
 uniform mediump vec2 offset;\n
 \n
 
 //Visual size and offset
 uniform mediump vec2 offset;\n
-uniform mediump vec2 size;\n
+uniform highp   vec2 size;\n
 uniform mediump vec4 offsetSizeMode;\n
 uniform mediump vec2 origin;\n
 uniform mediump vec2 anchorPoint;\n
 uniform mediump vec4 offsetSizeMode;\n
 uniform mediump vec2 origin;\n
 uniform mediump vec2 anchorPoint;\n