CanvasView: Do ApplyNativeFragmentShader for NativeImage buffer 74/265874/3
authorJunsuChoi <jsuya.choi@samsung.com>
Mon, 1 Nov 2021 06:52:20 +0000 (15:52 +0900)
committerJunsuChoi <jsuya.choi@samsung.com>
Tue, 2 Nov 2021 07:26:23 +0000 (16:26 +0900)
Change-Id: I916af0c85333a53d8c22063522c53c010d503b21

dali-toolkit/internal/controls/canvas-view/canvas-view-impl.cpp

index 1540b02..e8fefbf 100644 (file)
@@ -23,6 +23,7 @@
 #include <dali/integration-api/adaptor-framework/adaptor.h>
 #include <dali/public-api/object/type-registry-helper.h>
 #include <dali/public-api/object/type-registry.h>
+#include <dali/devel-api/rendering/texture-devel.h>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/devel-api/controls/control-devel.h>
@@ -202,10 +203,14 @@ void CanvasView::ApplyRasterizedImage(Texture rasterizedTexture)
   {
     if(!mTextureSet)
     {
+      std::string fragmentShader = SHADER_CANVAS_VIEW_FRAG.data();
+      DevelTexture::ApplyNativeFragmentShader(rasterizedTexture, fragmentShader);
+
       mTextureSet       = TextureSet::New();
       Geometry geometry = VisualFactoryCache::CreateQuadGeometry();
-      Shader   shader   = Shader::New(SHADER_CANVAS_VIEW_VERT, SHADER_CANVAS_VIEW_FRAG);
+      Shader   shader   = Shader::New(SHADER_CANVAS_VIEW_VERT, fragmentShader);
       Renderer renderer = Renderer::New(geometry, shader);
+
       renderer.SetTextures(mTextureSet);
       renderer.SetProperty(Renderer::Property::BLEND_PRE_MULTIPLIED_ALPHA, true);
       Self().AddRenderer(renderer);