Bug 39230

Summary: [OpenVG] Implement ImageBuffer using (EGL pbuffer) surfaces
Product: WebKit Reporter: Jakob Petsovits <jpetsovits>
Component: PlatformAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WONTFIX    
Severity: Normal CC: mrobinson, sergio, tonikitoo
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: All   
Bug Depends on:    
Bug Blocks: 33987    
Attachments:
Description Flags
Patch krit: review-

Description Jakob Petsovits 2010-05-17 13:16:21 PDT
This commit adds ImageBuffer support to the OpenVG graphics backend. Not including Yong's toDataURL() implementation yet, that one is still subject to bug 37117 before I can use it here.
Comment 1 Jakob Petsovits 2010-05-17 13:18:24 PDT
Created attachment 56263 [details]
Patch
Comment 2 Dirk Schulze 2010-05-18 01:31:46 PDT
Comment on attachment 56263 [details]
Patch

> +#ifdef WTF_PLATFORM_BIG_ENDIAN
> +#define IMAGEBUFFER_A 0
> +#define IMAGEBUFFER_R 1
> +#define IMAGEBUFFER_G 2
> +#define IMAGEBUFFER_B 3
> +#else
> +#define IMAGEBUFFER_A 3
> +#define IMAGEBUFFER_R 2
> +#define IMAGEBUFFER_G 1
> +#define IMAGEBUFFER_B 0
> +#endif
Not sure about our policy on define's. Don't we use static constants here? 

WebCore/platform/graphics/openvg/ImageBufferData.h:44
 +      void transformColorSpace(const Vector<int>& lookUpTable);
OpenVG doesn't need transformColorSpace. It is used to transform the colorSpace of an ImageBuffer from linearRGB to sRGB (DeviceRGB) and back. OpenVG can do that itself. We also don't transform an ImageBuffer after it is created (or at least it's not the intention of this method).

WebCore/platform/graphics/openvg/ImageBufferOpenVG.cpp:70
 +          m_format = VG_sARGB_8888_PRE; break;
Newlines after ';'.

WebCore/platform/graphics/openvg/ImageBufferOpenVG.cpp:123
 +          rect.x(), rect.y(), rect.width(), rect.height());
line up with 'data' please. Think I saw this before. Please fix it everywhere.