-focus handling (rather large change in qt-qml to this recently) -key handling -tiling modes in borderimage -anywhere there is a XXX -there have been numerous fixes in qt-qml (+ some API changes) that need to be integrated - Remove the unused nodes in src/scenegraph/convenience, like SolidRectnode... - Move QxParticles into its own plugin as it is not part of the QML core API - Remove QxPaintedItem and friends from sourcertree.. - New directory structure perhaps? declarative/ canvas/ view items/ all the qxitems scenegraph/ coreapi/ node material renderer materials/ TextureMaterial FlatColorMaterial VertexColorMaterial nodes/ VertexColorRectNode TextureColorRectNode - Make QxImage push normalized source coords into TextureNode so we don't have to renormalize for every geometry change. It also makes a lot more sense, now that TextureNode doesn't know the size of the original pixmap anymore... - Fix any reference to "// ### gunnar: port properly". Some of these will be pointless to port as the upgrade to new QML items is pretty close, so we'll have to evaluate those individually.. - Threaded texture uploads on Mac OS X seems pretty pointless. No matter what I try it seems like I get a hit of 25 ms in the main thread even though shark tells me that a lot of effort has been spent in the background thread too. From the shark traces it looks like the driver does a texture memcpy for the first glDrawElements() that uses the texture in the UI thread. I guess that only leaves PBO uploads, but that won't remedy the problem, I recon... EDIT: CLIENT_STORAGE + TEXTURE_STORAGE as SHARED + seems to kill ALL performance problems - Scene Graph - Product Finalization: - API Review and proper d-ptr implementations where required - Documentation for all public classes - Autotests for all public classes - NodeInterfaces, Scene Graph structure, QSGContext, Texture classes, Renderer - graphical tests through lancelot - Solve the texture problem. Convenient base class, asynchronous uploads (threading?), atlasses? - Multimedia, through Qt Mobility or directly to native API's like gstreamer - We have phonon, but it doesn't work for devices - Gstreamer, would work on meego / linux - Lacking solution on symbian - Upgrade to proper QML Items - Examples for most common usecases - Solve the text problem - Investigate mipmapping - Investigate distance field - Investigate curve rendering on gpu - Scalable unhinted text layout - text as geometry over a physical size? - decide and implement at least one working solution - Optimal backends for SGX, N8 and others. - Pluggable vsync animation - Wayland based - eglSwapBuffers based - signal based? - ShaderEffectItem - Use source to grab static image of subtree for later use - Be able to feed the texture output into an Image element - Feed arbitrary texture values into shader effects? - Change ShaderEffectSource to be more of a TextureAbstraction and add things like grab(), texture id, etc to it so that it more easily can be passed around and used for stuff... ShaderEffectItem then becomes just one of several places where it can be used... - Make effects using same source code use the same ShaderProgram - Adaptation layer plugin infrastructure? - Outstanding bugs: - Vsync driver never pauses - TextureManager: - In base class: - Caching structure - list of cached image->texture - list of about to upload textures - virtual sync upload - virtual partial upload... - threading enablers, though disabled by default - Known sub classes: - SGX: supports threaded async uploads + plain normal uploads - default: partial in-thread upload - mac: fast all sync uploads - dumb: - add tests for that createTexture does indeed return something...