Zero Copy Texture and GPU Rasterization

7,542 views
Skip to first unread message

than...@samsung.com

unread,
Oct 12, 2014, 11:49:30 PM10/12/14
to graphi...@chromium.org
Hi all,

What is the difference between zero copy texture and GPU Rasterization features ? Whether both can co-exist ?
As far as i know, Zero Copy Texture is meant for skipping texture uploads to GPU copied from Software Rasterized Bitmap.
My Assumption is, If there is GPU Rasterization, Rasterization will happen over GPU Textures itself, then Zero Copy Texture feature is no use.

Let me know whether my understanding is proper, correct me if i'm wrong.

Thanks in advance!!

Regards
Thanik

易旭昕 (Roger)

unread,
Oct 13, 2014, 12:37:50 AM10/13/14
to than...@samsung.com, graphi...@chromium.org
Yes,GPU Rasterization means no need to upload texture

To unsubscribe from this group and stop receiving emails from it, send an email to graphics-dev...@chromium.org.



--

Yours Sincerely, Roger


Mail: yi...@ucweb.comroge...@gmail.com

微信: roger2yi, 微博roger2yi, Google+: +易旭昕

Blog: http://rogeryi.wordpress.com/


THINK . DESIGN . CODE

David Reveman

unread,
Oct 13, 2014, 9:55:27 AM10/13/14
to than...@samsung.com, graphics-dev
On Sun, Oct 12, 2014 at 11:49 PM, <than...@samsung.com> wrote:
Hi all,

What is the difference between zero copy texture and GPU Rasterization features ? Whether both can co-exist ?
As far as i know, Zero Copy Texture is meant for skipping texture uploads to GPU copied from Software Rasterized Bitmap.
My Assumption is, If there is GPU Rasterization, Rasterization will happen over GPU Textures itself, then Zero Copy Texture feature is no use.

"GPU rasterization" will raster directly to tile texture memory using the GPU, while the zero-copy approach will raster directly to tile texture memory using the CPU. No upload in either case.

GPU raster might still need to transfer large amounts of data from the CPU to the GPU (ie. decoded images) and the 0-copy mechanism might be used in the future to do that efficiently.

David

than...@samsung.com

unread,
Oct 14, 2014, 6:46:07 AM10/14/14
to graphi...@chromium.org, than...@samsung.com
Thanks Reveman for the clear response :)
Message has been deleted

xin...@intel.com

unread,
Jul 16, 2017, 3:43:00 AM7/16/17
to Graphics-dev, than...@samsung.com
If I understand correctly, for Gpu Rasterization, Gpu will playback records into a gl texture by skia's gpu path. Then this texture will be sent to browser compositor and without copy. The data shared between Render/raster and browser compositor is gl texture.

As to zero copy, skia(Not skia's gpu path) will playback into a gpu memory buffer. Then this gmb will be shared to browser's compositor.  So I think zero copy only works when the memory is shared by both the gpu and cpu. Otherwise this will not work.(Not verified, just a guess)

David Reveman

unread,
Jul 16, 2017, 12:46:32 PM7/16/17
to Xing, Graphics-dev, than...@samsung.com
On Sun, Jul 16, 2017 at 3:43 AM, <xin...@intel.com> wrote:
If I understand correctly, for Gpu Rasterization, Gpu will playback records into a gl texture by skia's gpu path. Then this texture will be sent to browser compositor and without copy. The data shared between Render/raster and browser compositor is gl texture.

As to zero copy, skia(Not skia's gpu path) will playback into a gpu memory buffer. Then this gmb will be shared to browser's compositor.  So I think zero copy only works when the memory is shared by both the gpu and cpu. Otherwise this will not work.(Not verified, just a guess)

Correct. It will not be true zero-copy unless we have the ability to share the buffer between cpu and gpu. However, the cases where this is not support will still produce the correct result as we'll do a copy (texture upload) underneath the hood without it being visible to the client (renderer compositor) of the API.

David
 

Reply all
Reply to author
Forward
0 new messages