Parallel upload of textures with linear tiling:
- Added API::TextureTiling enum ( optimal, linear )
- Added direct memory copy functionality for linear tiled textures
- Parallelized direct memory copying
Change-Id: I36385ae1f9939808720e1c380143d715b15faf22
Signed-off-by: adam.b <adam.b@samsung.com>
return *this;
}
+Dali::Graphics::TextureFactory& GraphicsTextureFactory::SetTiling( Dali::Graphics::TextureTiling tiling )
+{
+ return *this;
+}
+
} // Test
Dali::Graphics::TextureFactory& SetDataSize( uint32_t dataSizeInBytes ) override;
Dali::Graphics::TextureFactory::PointerType Create() const override;
Dali::Graphics::TextureFactory& SetNativeImage( Dali::NativeImageInterfacePtr nativeImageInterface ) override;
+ Dali::Graphics::TextureFactory& SetTiling( Dali::Graphics::TextureTiling tiling ) override;
};
virtual TextureFactory& SetData( void* pData ) = 0;
virtual TextureFactory& SetDataSize( uint32_t dataSizeInBytes ) = 0;
virtual TextureFactory& SetNativeImage( NativeImageInterfacePtr nativeImageInterface ) = 0;
+ virtual TextureFactory& SetTiling( TextureTiling tiling ) = 0;
// not copyable
TextureFactory(const TextureFactory&) = delete;
bool compressed;
bool packed;
Extent2D extent2D;
+ bool directWriteAccessEnabled;
+};
+
+/**
+ * Texture tiling that directly refers to the tiling
+ * mode supported by the Vulkan. Other implementations
+ * of the backend may ignore the value.
+ */
+enum class TextureTiling
+{
+ OPTIMAL,
+ LINEAR
};
} // Graphics
.SetMipMapFlag( Graphics::TextureDetails::MipMapFlag::DISABLED )
.SetData( buffer )
.SetDataSize( bufferSize )
- .SetNativeImage( mNativeImage ));
+ .SetNativeImage( mNativeImage )
+ .SetTiling( Graphics::TextureTiling::LINEAR ));
}
}