Revise some of the compositor performance improvements to improve correctness.
Implement pixel blending using a variation of Jim Blinn's no-division blending algorithm.
Move transparency type simplification further up the composition code.
Remove some unnecessary fields.
Output to YUV implementation needs revision as it is actually converting from YUV (copy of source conversion code).
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SystemDefinition [
<!ELEMENT SystemDefinition ( systemModel?, SystemBuild? )>
<!ATTLIST SystemDefinition
name CDATA #REQUIRED
schema CDATA #REQUIRED>
<!ELEMENT systemModel (layer+)>
<!ELEMENT layer (block* | collection*)*>
<!ATTLIST layer
name CDATA #REQUIRED
levels NMTOKENS #IMPLIED
span CDATA #IMPLIED>
<!ELEMENT block (subblock* | collection*)*>
<!ATTLIST block
levels NMTOKENS #IMPLIED
span CDATA #IMPLIED
level NMTOKEN #IMPLIED
name CDATA #REQUIRED>
<!ELEMENT subblock (collection)*>
<!ATTLIST subblock name CDATA #REQUIRED>
<!ELEMENT collection (component)*>
<!ATTLIST collection
name CDATA #REQUIRED
level NMTOKEN #IMPLIED>
<!ELEMENT component (unit)*>
<!ATTLIST component
name CDATA #REQUIRED
deprecated CDATA #IMPLIED
introduced CDATA #IMPLIED
contract CDATA #IMPLIED
plugin (Y|N) "N"
filter CDATA #IMPLIED
class NMTOKENS #IMPLIED
supports CDATA #IMPLIED>
<!ELEMENT unit EMPTY>
<!ATTLIST unit
mrp CDATA #IMPLIED
filter CDATA #IMPLIED
bldFile CDATA #IMPLIED
root CDATA #IMPLIED
version NMTOKEN #IMPLIED
prebuilt NMTOKEN #IMPLIED
late (Y|N) #IMPLIED
priority CDATA #IMPLIED>
<!ELEMENT SystemBuild (option* | target+ | targetList+ | list+ | configuration+)*>
<!ATTLIST SystemBuild schema CDATA #REQUIRED>
<!ELEMENT list (ref+)>
<!ATTLIST list
name ID #REQUIRED
description CDATA #REQUIRED>
<!ELEMENT ref EMPTY>
<!ATTLIST ref item CDATA #REQUIRED>
<!ELEMENT targetList EMPTY>
<!ATTLIST targetList
name ID #REQUIRED
description CDATA #REQUIRED
target IDREFS #REQUIRED>
<!ELEMENT target EMPTY>
<!ATTLIST target
name ID #REQUIRED
abldTarget CDATA #REQUIRED
description CDATA #REQUIRED>
<!ELEMENT option EMPTY>
<!ATTLIST option
name ID #REQUIRED
abldOption CDATA #REQUIRED
description CDATA #REQUIRED
enable (Y | N ) #REQUIRED>
<!ELEMENT configuration (listRef+ | ref+ | task+)*>
<!ATTLIST configuration
name ID #REQUIRED
description CDATA #REQUIRED
filter CDATA #REQUIRED>
<!ELEMENT task (listRef* , (buildLayer | specialInstructions))>
<!ELEMENT listRef EMPTY>
<!ATTLIST listRef list CDATA #REQUIRED>
<!ELEMENT buildLayer EMPTY>
<!ATTLIST buildLayer
command CDATA #REQUIRED
targetList IDREFS #IMPLIED
unitParallel (Y | N ) #REQUIRED
targetParallel (Y | N ) "N">
<!ELEMENT specialInstructions EMPTY>
<!ATTLIST specialInstructions
name CDATA #REQUIRED
cwd CDATA #REQUIRED
root CDATA #IMPLIED
command CDATA #REQUIRED>
]>
<SystemDefinition name="MCL" schema="2.0.0">
<systemModel>
<layer name="Applications">
<block name="Techview">
<collection name="Test Apps">
<component name="Graphics Test Utilities">
<unit bldFile="sf\app\techview\testapps\graphicstestutils\group" mrp="sf\app\techview\testapps\graphicstestutils\group\graphics_testutils.mrp"/>
</component>
</collection>
</block>
</layer>
<layer name="Middleware">
<block name="Generic Application Support">
<collection name="App Framework">
<component name="UIF Test Framework">
<unit bldFile="sf\mw\appsupport\appfw\uiftestfw\group" mrp="sf\mw\appsupport\appfw\uiftestfw\group\app-framework_testframework.mrp"/>
</component>
</collection>
<collection name="Printing Support">
<component name="Printing UI Support">
<unit bldFile="sf\mw\appsupport\printingsupport\printinguisupport\group" mrp="sf\mw\appsupport\printingsupport\printinguisupport\group\app-framework_print.mrp"/>
</component>
</collection>
</block>
<block name="Classic UI">
<collection name="Common UI Support">
<component name="Error Resolver Data">
<unit bldFile="sf\mw\classicui\commonuisupport\errorresolverdata\group" mrp="sf\mw\classicui\commonuisupport\errorresolverdata\group\app-framework_errorresgt.mrp"/>
</component>
<component name="Grid">
<unit bldFile="sf\mw\classicui\commonuisupport\grid\group" mrp="sf\mw\classicui\commonuisupport\grid\group\app-framework_grid.mrp"/>
</component>
<component name="Uikon">
<unit bldFile="sf\mw\classicui\commonuisupport\uikon\group" mrp="sf\mw\classicui\commonuisupport\uikon\group\app-framework_uikon.mrp"/>
</component>
<component name="UI Look and Feel">
<unit bldFile="sf\mw\classicui\commonuisupport\uilaf\group" mrp="sf\mw\classicui\commonuisupport\uilaf\group\app-framework_uiklafgt.mrp"/>
</component>
</collection>
<collection name="Look and Feel Agnostic UI Foundation">
<component name="Animation">
<unit bldFile="sf\mw\classicui\lafagnosticuifoundation\animation\group" mrp="sf\mw\classicui\lafagnosticuifoundation\animation\group\app-framework_animation.mrp"/>
</component>
<component name="BMP Animation">
<unit bldFile="sf\mw\classicui\lafagnosticuifoundation\bmpanimation\group" mrp="sf\mw\classicui\lafagnosticuifoundation\bmpanimation\group\app-framework_bmpanim.mrp"/>
</component>
<component name="Clock">
<unit bldFile="sf\mw\classicui\lafagnosticuifoundation\clockanim\group" mrp="sf\mw\classicui\lafagnosticuifoundation\clockanim\group\app-framework_clock.mrp"/>
</component>
<component name="Cone">
<unit bldFile="sf\mw\classicui\lafagnosticuifoundation\cone\group" mrp="sf\mw\classicui\lafagnosticuifoundation\cone\group\app-framework_cone.mrp"/>
</component>
<component name="Graphics Effects">
<unit bldFile="sf\mw\classicui\lafagnosticuifoundation\graphicseffects\group" mrp="sf\mw\classicui\lafagnosticuifoundation\graphicseffects\group\app-framework_gfxtranseffect.mrp"/>
</component>
<component name="UI Graphics Utilities">
<unit bldFile="sf\mw\classicui\lafagnosticuifoundation\uigraphicsutils\group" mrp="sf\mw\classicui\lafagnosticuifoundation\uigraphicsutils\group\app-framework_egul.mrp"/>
</component>
</collection>
</block>
<block name="Input Methods">
<collection name="FEP">
<component name="Front End Processor">
<unit bldFile="sf\mw\inputmethods\fep\frontendprocessor\group" mrp="sf\mw\inputmethods\fep\frontendprocessor\group\app-framework_fepbase.mrp"/>
</component>
</collection>
</block>
</layer>
<layer name="OS">
<block name="Graphics">
<collection name="EGL">
<component name="EGL - Hybrid Graphics Implementation">
<unit bldFile="sf\os\graphics\egl\eglimplementation\group" mrp="sf\os\graphics\egl\eglimplementation\group\graphics_egl.mrp"/>
</component>
<component name="EGL - Reference Implementation">
<unit bldFile="sf\os\graphics\egl\eglrefimpl\group" mrp="sf\os\graphics\egl\eglrefimpl\group\graphics_eglrefimpl.mrp"/>
</component>
<component name="EGL Switch">
<unit bldFile="sf\os\graphics\egl\eglswitch\group" mrp="sf\os\graphics\egl\eglswitch\group\graphics_eglswitch.mrp"/>
</component>
<component name="EGL Test">
<unit bldFile="sf\os\graphics\egl\egltest\group" mrp="sf\os\graphics\egl\egltest\group\graphics_egltest.mrp"/>
</component>
<component name="EGL Interface">
<unit bldFile="sf\os\graphics\egl\eglinterface\group" mrp="sf\os\graphics\egl\eglinterface\group\graphics_eglheaders.mrp"/>
</component>
</collection>
<collection name="Font and Bitmap Server">
<component name="Font and Bitmap Server">
<unit bldFile="sf\os\graphics\fbs\fontandbitmapserver\group" mrp="sf\os\graphics\fbs\fontandbitmapserver\group\graphics_fbserv.mrp"/>
</component>
<component name="IType Font Rasteriser">
<unit bldFile="sf\os\graphics\fbs\itypefontrasteriser\group" mrp="sf\os\graphics\fbs\itypefontrasteriser\group\graphics_itype.mrp"/>
</component>
</collection>
<collection name="Graphics Information">
<component name="Graphics Docs">
<unit mrp="sf\os\graphics\graphics_info\graphicsdocs\graphics_documentation.mrp"/>
</component>
</collection>
<collection name="Graphics Composition">
<component name="Composition Engine Adaptation">
<unit bldFile="sf\os\graphics\graphicscomposition\compositionengineadaptation\group" mrp="sf\os\graphics\graphicscomposition\compositionengineadaptation\group\graphics_compositionbackend.mrp"/>
</component>
<component name="Graphics Composition Engine">
<unit bldFile="sf\os\graphics\graphicscomposition\graphicscompositionengine\group" mrp="sf\os\graphics\graphicscomposition\graphicscompositionengine\group\graphics_gce.mrp"/>
</component>
<component name="Surface Update">
<unit bldFile="sf\os\graphics\graphicscomposition\surfaceupdate\group" mrp="sf\os\graphics\graphicscomposition\surfaceupdate\group\graphics_surfaceupdate.mrp"/>
</component>
<component name="OpenWF Support">
<unit bldFile="sf\os\graphics\graphicscomposition\openwfsupport\group" mrp="sf\os\graphics\graphicscomposition\openwfsupport\group\graphics_openwfsupport.mrp"/>
</component>
<component name="OpenWF Composition Conformance Tests">
<unit bldFile="sf\os\graphics\graphicscomposition\openwfconformancetest\group" mrp="sf\os\graphics\graphicscomposition\openwfconformancetest\CT_PortingLayer\src\Platform\Symbian\group\graphics_openwfconformancetest.mrp"/>
</component>
<component name="OpenWF Composition Interface">
<unit bldFile="sf\os\graphics\graphicscomposition\openwfcinterface\group" mrp="sf\os\graphics\graphicscomposition\openwfcinterface\group\graphics_openwfcinterface.mrp"/>
</component>
<component name="OpenWF Composition Engine">
<unit bldFile="sf\os\graphics\graphicscomposition\openwfcompositionengine\group" mrp="sf\os\graphics\graphicscomposition\openwfcompositionengine\group\graphics_openwfcompositionengine.mrp"/>
</component>
</collection>
<collection name="Graphics Device Interface">
<component name="BitGDI">
<unit bldFile="sf\os\graphics\graphicsdeviceinterface\bitgdi\group" mrp="sf\os\graphics\graphicsdeviceinterface\bitgdi\group\graphics_bitgdi.mrp"/>
</component>
<component name="Colour Palette">
<unit bldFile="sf\os\graphics\graphicsdeviceinterface\colourpalette\group" mrp="sf\os\graphics\graphicsdeviceinterface\colourpalette\group\graphics_palette.mrp"/>
</component>
<component name="DirectGDI">
<unit bldFile="sf\os\graphics\graphicsdeviceinterface\directgdi\group" mrp="sf\os\graphics\graphicsdeviceinterface\directgdi\group\graphics_directgdi.mrp"/>
</component>
<component name="DirectGDI Adaptation">
<unit bldFile="sf\os\graphics\graphicsdeviceinterface\directgdiadaptation\group" mrp="sf\os\graphics\graphicsdeviceinterface\directgdiadaptation\group\graphics_directgdiadapter.mrp"/>
</component>
<component name="DirectGDI Interface">
<unit bldFile="sf\os\graphics\graphicsdeviceinterface\directgdiinterface\group" mrp="sf\os\graphics\graphicsdeviceinterface\directgdiinterface\group\graphics_directgdiheaders.mrp"/>
</component>
<component name="GDI">
<unit bldFile="sf\os\graphics\graphicsdeviceinterface\gdi\group" mrp="sf\os\graphics\graphicsdeviceinterface\gdi\group\graphics_gdi.mrp"/>
</component>
<component name="Screen Driver">
<unit bldFile="sf\os\graphics\graphicsdeviceinterface\screendriver\group" mrp="sf\os\graphics\graphicsdeviceinterface\screendriver\group\graphics_screendriver.mrp"/>
</component>
</collection>
<collection name="Graphics Hardware Drivers">
<component name="Surface Manager">
<unit bldFile="sf\os\graphics\graphicshwdrivers\surfacemgr\group" mrp="sf\os\graphics\graphicshwdrivers\surfacemgr\group\graphics_surfacemanager.mrp"/>
</component>
</collection>
<collection name="Graphics Resource Services">
<component name="Graphics Resource Adaptation">
<unit bldFile="sf\os\graphics\graphicsresourceservices\graphicsresourceadaptation\group" mrp="sf\os\graphics\graphicsresourceservices\graphicsresourceadaptation\group\graphics_graphicsresourceadapter.mrp"/>
</component>
<component name="Graphics Resource">
<unit bldFile="sf\os\graphics\graphicsresourceservices\graphicsresource\group" mrp="sf\os\graphics\graphicsresourceservices\graphicsresource\group\graphics_graphicsresource.mrp"/>
</component>
<component name="Graphics Resource Implementation">
<unit bldFile="sf\os\graphics\graphicsresourceservices\graphicsresourceimplementation\group" mrp="sf\os\graphics\graphicsresourceservices\graphicsresourceimplementation\group\graphics_graphicsresourceimplementation.mrp"/>
</component>
<component name="Graphics Resource Interface">
<unit bldFile="sf\os\graphics\graphicsresourceservices\graphicsresourceinterface\group" mrp="sf\os\graphics\graphicsresourceservices\graphicsresourceinterface\group\graphics_graphicsresourceinterface.mrp"/>
</component>
</collection>
<collection name="Graphics Test">
<component name="Graphics Test Harness">
<unit bldFile="sf\os\graphics\graphicstest\graphicstestharness\group" mrp="sf\os\graphics\graphicstest\graphicstestharness\group\graphics_testharness.mrp"/>
</component>
<component name="UI Bench">
<unit bldFile="sf\os\graphics\graphicstest\uibench\group" mrp="sf\os\graphics\graphicstest\uibench\group\graphics_ui_bench.mrp"/>
</component>
</collection>
<collection name="Graphics Tools">
<component name="Bitamp Font Tools">
<unit bldFile="sf\os\graphics\graphicstools\bitmapfonttools\group" mrp="sf\os\graphics\graphicstools\bitmapfonttools\group\graphics_gdtran.mrp"/>
</component>
<component name="GDI Tools">
<unit bldFile="sf\os\graphics\graphicstools\gdi_tools\group" mrp="sf\os\graphics\graphicstools\gdi_tools\group\graphics_gditools.mrp"/>
</component>
</collection>
<collection name="Graphics Utils">
<component name="Common Graphics Headers">
<unit bldFile="sf\os\graphics\graphicsutils\commongraphicsheaders\group" mrp="sf\os\graphics\graphicsutils\commongraphicsheaders\group\graphics_commonheader.mrp"/>
</component>
</collection>
<collection name="OpenGLES">
<component name="OpenGLES Display Properties">
<unit bldFile="sf\os\graphics\opengles\openglesdisplayproperties\group" mrp="sf\os\graphics\opengles\openglesdisplayproperties\group\graphics_openglesdisplayproperty.mrp"/>
</component>
<component name="OpenGLES Implementation">
<unit bldFile="sf\os\graphics\opengles\openglesimplementation\group" mrp="sf\os\graphics\opengles\openglesimplementation\group\graphics_opengles.mrp"/>
</component>
<component name="OpenGLES Interface">
<unit bldFile="sf\os\graphics\opengles\openglesinterface\group" mrp="sf\os\graphics\opengles\openglesinterface\group\graphics_openglesheaders.mrp"/>
</component>
</collection>
<collection name="OpenVG">
<component name="OpenVG Implementation">
<unit bldFile="sf\os\graphics\openvg\openvgimplementation\group" mrp="sf\os\graphics\openvg\openvgimplementation\group\graphics_openvg.mrp"/>
</component>
<component name="OpenVG Interface">
<unit bldFile="sf\os\graphics\openvg\openvginterface\group" mrp="sf\os\graphics\openvg\openvginterface\group\graphics_openvgheaders.mrp"/>
</component>
</collection>
<collection name="Printing Services">
<component name="Printer Drivers">
<unit bldFile="sf\os\graphics\printingservices\printerdrivers\group" mrp="sf\os\graphics\printingservices\printerdrivers\group\graphics_printdrv.mrp"/>
</component>
<component name="Printer Driver Support">
<unit bldFile="sf\os\graphics\printingservices\printerdriversupport\group" mrp="sf\os\graphics\printingservices\printerdriversupport\group\graphics_pdrstore.mrp"/>
</component>
</collection>
<collection name="Windowing">
<component name="Window Server">
<unit bldFile="sf\os\graphics\windowing\windowserver\group" mrp="sf\os\graphics\windowing\windowserver\group\graphics_wserv.mrp"/>
</component>
<component name="Window Server Plugins">
<unit bldFile="sf\os\graphics\windowing\windowserverplugins\group" mrp="sf\os\graphics\windowing\windowserverplugins\group\graphics_wserv_std_plugins.mrp"/>
</component>
</collection>
</block>
<block name="Text and Localisation">
<collection name="Font Services">
<component name="Font Store">
<unit bldFile="sf\os\textandloc\fontservices\fontstore\group" mrp="sf\os\textandloc\fontservices\fontstore\group\graphics_fntstore.mrp"/>
</component>
<component name="FreeType Font Rasteriser">
<unit bldFile="sf\os\textandloc\fontservices\freetypefontrasteriser\group" mrp="sf\os\textandloc\fontservices\freetypefontrasteriser\group\graphics_freetype.mrp"/>
</component>
<component name="Graphics Test Fonts">
<unit bldFile="sf\os\textandloc\fontservices\graphicstestfonts\group" />
</component>
<component name="Reference Fonts">
<unit bldFile="sf\os\textandloc\fontservices\referencefonts\group" mrp="sf\os\textandloc\fontservices\referencefonts\group\graphics_fonts.mrp"/>
</component>
<component name="Text Shaper Plugin">
<unit bldFile="sf\os\textandloc\fontservices\textshaperplugin\group" mrp="sf\os\textandloc\fontservices\textshaperplugin\group\graphics_iculayoutengine.mrp"/>
</component>
</collection>
</block>
</layer>
<layer name="Additional Tools">
<collection name="ONB Tools">
<component name="Thindump" class="test">
<unit bldFile="thindump\group" />
</component>
</collection>
</layer>
</systemModel>
</SystemDefinition>