<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quick/scenegraph/qsgdefaultimagenode.cpp, branch v5.13.2</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Add cross-backend simple rect, texture, and ninepatch nodes</title>
<updated>2016-06-22T13:11:14+00:00</updated>
<author>
<name>Laszlo Agocs</name>
<email>laszlo.agocs@theqtcompany.com</email>
</author>
<published>2016-06-03T11:49:51+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=65c877f40e965c368fe6e7ed730242461b5824b7'/>
<id>65c877f40e965c368fe6e7ed730242461b5824b7</id>
<content type='text'>
QSGSimpleRectNode is deprecated -&gt; use
QSGRectangleNode via QQuickWindow::createRectangleNode() instead.

QSGSimpleTextureNode is deprecated -&gt; use
QSGImageNode via QQuickWindow::createImageNode() instead.

The OpenGL version of the simple rectangle node is switched over to
the vertex color material instead of flat, to allow for better batching.

Use the same concept for nine patch nodes. The "style" node from Quick Controls 1
is now QSGNinePatchNode in order to provide a proper cross-backend solution which
is already necessary due to the software backend, but now generalize it to apply
to the accelerated backends with proper materials as well. QC can now simply call
createNinePatchNode() without further ado.

Also fixes a bug with the D3D12 texture material not enabling blending
when needed.

When it comes to the internal class names, QSGRectangleNode and
QSGImageNode get the Internal prefix in the adaptation layer in order to
differentiate from the public API. This involves quite a lot of renaming,
but results in a nice and clean public API.

Change-Id: Iddf9f9412377843ea6d652bcf25e68d1d74659ea
Reviewed-by: Gunnar Sletta &lt;gunnar@sletta.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
QSGSimpleRectNode is deprecated -&gt; use
QSGRectangleNode via QQuickWindow::createRectangleNode() instead.

QSGSimpleTextureNode is deprecated -&gt; use
QSGImageNode via QQuickWindow::createImageNode() instead.

The OpenGL version of the simple rectangle node is switched over to
the vertex color material instead of flat, to allow for better batching.

Use the same concept for nine patch nodes. The "style" node from Quick Controls 1
is now QSGNinePatchNode in order to provide a proper cross-backend solution which
is already necessary due to the software backend, but now generalize it to apply
to the accelerated backends with proper materials as well. QC can now simply call
createNinePatchNode() without further ado.

Also fixes a bug with the D3D12 texture material not enabling blending
when needed.

When it comes to the internal class names, QSGRectangleNode and
QSGImageNode get the Internal prefix in the adaptation layer in order to
differentiate from the public API. This involves quite a lot of renaming,
but results in a nice and clean public API.

Change-Id: Iddf9f9412377843ea6d652bcf25e68d1d74659ea
Reviewed-by: Gunnar Sletta &lt;gunnar@sletta.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/dev' into wip/scenegraphng</title>
<updated>2016-04-13T07:19:18+00:00</updated>
<author>
<name>Laszlo Agocs</name>
<email>laszlo.agocs@theqtcompany.com</email>
</author>
<published>2016-04-12T16:15:52+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=6e6079031cf44149be4ca1f05547b4c03e505290'/>
<id>6e6079031cf44149be4ca1f05547b4c03e505290</id>
<content type='text'>
Change-Id: If33197b616de3476811f0161d4ecd8e7d004756c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: If33197b616de3476811f0161d4ecd8e7d004756c
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/5.6' into 5.7</title>
<updated>2016-04-08T11:03:25+00:00</updated>
<author>
<name>Liang Qi</name>
<email>liang.qi@theqtcompany.com</email>
</author>
<published>2016-04-07T08:56:42+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=68ba8fe3ccf7abe8d24ba3614f8d7ceb3778de74'/>
<id>68ba8fe3ccf7abe8d24ba3614f8d7ceb3778de74</id>
<content type='text'>
This change also fixes the build of two benchmarks, tst_affectors
and tst_emission.

Conflicts:
	src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
	src/qml/qml/ftw/qhashfield_p.h
	tests/benchmarks/particles/affectors/tst_affectors.cpp
	tests/benchmarks/particles/emission/tst_emission.cpp
	tests/benchmarks/qml/pointers/pointers.pro
	tests/benchmarks/qml/pointers/tst_pointers.cpp
	tests/benchmarks/qml/qmltime/qmltime.pro
	tests/benchmarks/qml/qquickwindow/qquickwindow.pro

Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change also fixes the build of two benchmarks, tst_affectors
and tst_emission.

Conflicts:
	src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
	src/qml/qml/ftw/qhashfield_p.h
	tests/benchmarks/particles/affectors/tst_affectors.cpp
	tests/benchmarks/particles/emission/tst_emission.cpp
	tests/benchmarks/qml/pointers/pointers.pro
	tests/benchmarks/qml/pointers/tst_pointers.cpp
	tests/benchmarks/qml/qmltime/qmltime.pro
	tests/benchmarks/qml/qquickwindow/qquickwindow.pro

Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
</pre>
</div>
</content>
</entry>
<entry>
<title>Move Qt Quick scenegraph resources under the :/qt-project.org/ directory</title>
<updated>2016-04-01T18:41:05+00:00</updated>
<author>
<name>Giuseppe D'Angelo</name>
<email>giuseppe.dangelo@kdab.com</email>
</author>
<published>2016-03-29T19:56:46+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=d438b4f4b93d04a841edf031359e26af617d889d'/>
<id>d438b4f4b93d04a841edf031359e26af617d889d</id>
<content type='text'>
Change-Id: Ib1c2695f86837b02ba4aaf49184421cd464f7c20
Reviewed-by: Robin Burchell &lt;robin.burchell@viroteck.net&gt;
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@theqtcompany.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ib1c2695f86837b02ba4aaf49184421cd464f7c20
Reviewed-by: Robin Burchell &lt;robin.burchell@viroteck.net&gt;
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@theqtcompany.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>D3D12: Text enablers</title>
<updated>2016-03-17T13:37:24+00:00</updated>
<author>
<name>Laszlo Agocs</name>
<email>laszlo.agocs@theqtcompany.com</email>
</author>
<published>2016-03-15T10:36:52+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=2401162f340bb50b58de701eede0b55c43753185'/>
<id>2401162f340bb50b58de701eede0b55c43753185</id>
<content type='text'>
Enablers for native text rendering. Distance field support is postponed
for the time being.

The main feature here is the revised texture handling where it is now
possible to schedule the update of multiple sub-regions from a list of
QImages. BGRA is now used where appropriate, meaning for example that
RGB32 needs no QImage conversion anymore.

The skeletons of the glyph nodes, the basic text material and the glyph
cache are added as well.

Also fixes cleanup when closing the window by properly reimplementing
invalidate() in the rendercontext.

The default rectangle, image and glyph nodes are refactored a bit once
again: QSGBasicSomethingNode is now the common (albeit optional), abstract
class, living in its own file, whereas QSGDefaultSomethingNode is the
GL-specific one, like before. This prepares the future renaming for
QSGDefault -&gt; QSGOpenGL.

Change-Id: I6dbb4ece10be39fd214bb64082d79607389e3e6e
Reviewed-by: Andy Nichols &lt;andy.nichols@theqtcompany.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enablers for native text rendering. Distance field support is postponed
for the time being.

The main feature here is the revised texture handling where it is now
possible to schedule the update of multiple sub-regions from a list of
QImages. BGRA is now used where appropriate, meaning for example that
RGB32 needs no QImage conversion anymore.

The skeletons of the glyph nodes, the basic text material and the glyph
cache are added as well.

Also fixes cleanup when closing the window by properly reimplementing
invalidate() in the rendercontext.

The default rectangle, image and glyph nodes are refactored a bit once
again: QSGBasicSomethingNode is now the common (albeit optional), abstract
class, living in its own file, whereas QSGDefaultSomethingNode is the
GL-specific one, like before. This prepares the future renaming for
QSGDefault -&gt; QSGOpenGL.

Change-Id: I6dbb4ece10be39fd214bb64082d79607389e3e6e
Reviewed-by: Andy Nichols &lt;andy.nichols@theqtcompany.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>D3D12: Basic image support</title>
<updated>2016-03-07T16:13:06+00:00</updated>
<author>
<name>Laszlo Agocs</name>
<email>laszlo.agocs@theqtcompany.com</email>
</author>
<published>2016-03-03T15:44:20+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c64d60e6946c57733fa03acf3d544f9adb5e05a9'/>
<id>c64d60e6946c57733fa03acf3d544f9adb5e05a9</id>
<content type='text'>
For now there is no mipmapping, no atlases, and all image data is
converted to RGBA8888. Regardless, this already makes it possible to use
basic Image elements.

Follow the same pattern as with rectangles: most of the code is shared
via a material-less, abstract QSGDefaultNoMaterialImageNode, with the
material-related bits provided by QSGDefaultImageNode for GL and
QSGD3D12ImageNode for D3D.

Also fixes the harmless but incorrect miscalculation of the VBV size for
indexed draws.

Image data is copied into an intermediate upload buffer when invoking the
render context's createTexture(). The upload is triggered on a separate copy
command queue. The main command queue is synchronized via a fence before
executing the commands for the current frame.

Root signatures are now cached more cleverly and include zero or more SRVs
as parameter 1. This involves the engine having to manage a shader (GPU) visible
CBV-SRV-UAV descriptor heap as well.

Change-Id: I67c35577ff2677e1c7776dd8e5011860e2d78b00
Reviewed-by: Andy Nichols &lt;andy.nichols@theqtcompany.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For now there is no mipmapping, no atlases, and all image data is
converted to RGBA8888. Regardless, this already makes it possible to use
basic Image elements.

Follow the same pattern as with rectangles: most of the code is shared
via a material-less, abstract QSGDefaultNoMaterialImageNode, with the
material-related bits provided by QSGDefaultImageNode for GL and
QSGD3D12ImageNode for D3D.

Also fixes the harmless but incorrect miscalculation of the VBV size for
indexed draws.

Image data is copied into an intermediate upload buffer when invoking the
render context's createTexture(). The upload is triggered on a separate copy
command queue. The main command queue is synchronized via a fence before
executing the commands for the current frame.

Root signatures are now cached more cleverly and include zero or more SRVs
as parameter 1. This involves the engine having to manage a shader (GPU) visible
CBV-SRV-UAV descriptor heap as well.

Change-Id: I67c35577ff2677e1c7776dd8e5011860e2d78b00
Reviewed-by: Andy Nichols &lt;andy.nichols@theqtcompany.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/5.6' into dev</title>
<updated>2016-01-22T14:21:06+00:00</updated>
<author>
<name>Simon Hausmann</name>
<email>simon.hausmann@theqtcompany.com</email>
</author>
<published>2016-01-22T14:20:47+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=f286db98ee41a8aa71b9a65a235b6d3e265d79f4'/>
<id>f286db98ee41a8aa71b9a65a235b6d3e265d79f4</id>
<content type='text'>
Change-Id: I4af0bf8ec1569097d97f8ce0bb8bf1a0e4a989ec
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I4af0bf8ec1569097d97f8ce0bb8bf1a0e4a989ec
</pre>
</div>
</content>
</entry>
<entry>
<title>Updated license headers</title>
<updated>2016-01-19T14:53:18+00:00</updated>
<author>
<name>Jani Heikkinen</name>
<email>jani.heikkinen@theqtcompany.com</email>
</author>
<published>2016-01-19T09:38:36+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=45bd04ba73bd3e71c070e5724535ba87f6771323'/>
<id>45bd04ba73bd3e71c070e5724535ba87f6771323</id>
<content type='text'>
From Qt 5.7 -&gt; LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)

Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12
Reviewed-by: Lars Knoll &lt;lars.knoll@theqtcompany.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From Qt 5.7 -&gt; LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)

Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12
Reviewed-by: Lars Knoll &lt;lars.knoll@theqtcompany.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QSGDefaultImageNode: Only set DirtyGeometry if new texture</title>
<updated>2016-01-19T00:31:23+00:00</updated>
<author>
<name>Pär-Olof Håkansson</name>
<email>poe.hakansson@gmail.com</email>
</author>
<published>2015-12-11T09:47:00+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=9000c0465020c698e7ecebbe2f326c689f3ec112'/>
<id>9000c0465020c698e7ecebbe2f326c689f3ec112</id>
<content type='text'>
QSGDefaultImageNode::preprocess() always sets the
geometry to dirty even if no new texture was grabbed.

Change-Id: Ifb6ce160854aa0a5b9e0f87fbf517b21e86e0ade
Task-number: QTBUG-49904
Reviewed-by: Gunnar Sletta &lt;gunnar@sletta.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
QSGDefaultImageNode::preprocess() always sets the
geometry to dirty even if no new texture was grabbed.

Change-Id: Ifb6ce160854aa0a5b9e0f87fbf517b21e86e0ade
Task-number: QTBUG-49904
Reviewed-by: Gunnar Sletta &lt;gunnar@sletta.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure we call updateTexture for all dynamic textures.</title>
<updated>2015-11-13T22:04:50+00:00</updated>
<author>
<name>Michael Brasser</name>
<email>michael.brasser@live.com</email>
</author>
<published>2015-11-11T17:06:25+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a57d3db9bb2a3d9c24bcc8e63fb59a3a3140c5ae'/>
<id>a57d3db9bb2a3d9c24bcc8e63fb59a3a3140c5ae</id>
<content type='text'>
Change-Id: I888dc4b1dbc49deeb13f967b0da34cd2273f1680
Reviewed-by: Gunnar Sletta &lt;gunnar@sletta.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I888dc4b1dbc49deeb13f967b0da34cd2273f1680
Reviewed-by: Gunnar Sletta &lt;gunnar@sletta.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
