Bug 39230 - [OpenVG] Implement ImageBuffer using (EGL pbuffer) surfaces
Summary: [OpenVG] Implement ImageBuffer using (EGL pbuffer) surfaces
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 33987
  Show dependency treegraph
 
Reported: 2010-05-17 13:16 PDT by Jakob Petsovits
Modified: 2013-04-19 12:23 PDT (History)
3 users (show)

See Also:


Attachments
Patch (12.06 KB, patch)
2010-05-17 13:18 PDT, Jakob Petsovits
krit: review-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.