aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
...
* | | QmlTooling: Retry local client connection on errorUlf Hermann2016-11-231-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | So far the local client connection would give up if it could not connect to the server on the first try. Considering that you cannot reset the connection, this is very harsh. Instead, retry on failure. Change-Id: I68464b7b99b94a4b0fb2722d718a43a1c0889f40 Reviewed-by: hjk <hjk@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-232-12/+8
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4object_p.h Change-Id: Iff4d3aba7710a999b8befdc493cbe959e1ce02f9
| * | Move rebuildGeometry() functions of nodesFriedemann Kleint2016-11-221-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move QSGDefaultImageNode::rebuildGeometry(), QSGDefaultNinePatchNode::rebuildGeometry() to QSGImageNode::rebuildGeometry(), QSGNinePatchNode::rebuildGeometry() respectively. This makes it possible to use then from the D3D12 plugin when built without OpenGL support. Task-number: QTBUG-57185 Change-Id: Ib88c5622f7048618151a63d7536d76296a25842e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | QSGRendererInterface: Add Resource suffix for consistencyLaszlo Agocs2016-11-181-3/+3
| | | | | | | | | | | | | | | Change-Id: I60e674760725d4c4dd13f53b31c3abb6b09c1790 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | QmlTooling: Move native debug service into own pluginUlf Hermann2016-11-1810-10/+139
| | | | | | | | | | | | | | | | | | | | | | | | QV4DebugService and QQmlNativeDebugService cannot coexist at the same time. Thus, there is no point in putting them into one plugin. Change-Id: Ic042f7472fce23d504c62ccf96756b0f1bd68534 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | QmlTooling: Move QDebugMessageService into own pluginUlf Hermann2016-11-1810-8/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | The debug message service is used by both the debugger and the profiler. It shouldn't be necessary to load the debugger plugin in order to do QML profiling. Change-Id: Ic9a4216763098cc795fa9feb98b37ddceeed47d9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-11-034-8/+8
|\| | | | | | | | | | | | | | | | | | | | Conflicts: tools/qmljs/qmljs.cpp Change-Id: Ifa9e74bdb780eaff22fbc9ba1c514d0078a3fb29
| * | d3d12 plugin depends on quickSamuli Piippo2016-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | d3d12 config is not available if quick module has not been built. Fix Project ERROR: Could not find feature d3d12. Change-Id: If6707a6e4ef9d9996f30746b0f3372a4b5bfbb04 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Cast enums to int before streaming into QDataStreamThiago Macieira2016-10-233-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are decoded as ints, as in QPacket &operator>>(QPacket &ds, QmlObjectProperty &data) { int type; ds >> type >> data.name >> data.value >> data.valueTypeName >> data.binding >> data.hasNotifySignal; data.type = (QmlObjectProperty::Type)type; return ds; } So we should serialize the same, since the required operator<< and >> don't exist. Change-Id: I33dc971f005a4848bb8ffffd1478edcf2e916dfc Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-10-186-37/+42
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4variantobject.cpp src/qml/types/qquickworkerscript.cpp src/quick/scenegraph/util/qsgdefaultpainternode_p.h tools/qmljs/qmljs.cpp Change-Id: I876242714ec8c046238d8fd673a5ace2455b2b59
| * | d3d12: Use qtConfig() in place of config_d3d12 for the pluginLaszlo Agocs2016-10-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This one last occurrence of config_d3d12 was apparently missed in the previous patches, leading to not compiling the plugin in fresh, clean builds at all. Change-Id: I696d902990b867cf7e6c79a41697e4524e6ee21b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Fix d3d12 plugin compilation after QSGGeometry API reviewLaszlo Agocs2016-10-141-3/+4
| | | | | | | | | | | | | | | | | | | | | Missed the fact the semantic is now attributeType in the public API. Change-Id: I9c967fd24d904c2886054768bb626a62d291b8ba Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * | Fix enums in QSGGeometryLaszlo Agocs2016-10-124-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Minor fixes based on comments from the 5.8 API changes review: Revert to using Qt-style enum values (POSITION -> PositionAttribute). Use ByteType, FloatType, etc. instead of TypeByte, TypeFloat, ... Add comments about magic GL values. Add missing docs for Attribute::createWithAttributeType(). Change-Id: I1b8242efd3936f000ce8df6c11ff9ab7affb5713 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | Turn the no-network support into a configurable featureLars Knoll2016-10-101-22/+25
| | | | | | | | | | | | | | | | | | Change-Id: Ic70f60c124fe166b37fbe9b853735be3c5e0d46d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | QQmlProfilerService: reduce allocationsAnton Kudryavtsev2016-10-071-7/+18
| | | | | | | | | | | | | | | | | | | | | Use QHash::equal_range() instead of QHash::values() Change-Id: Iac84fdb12ca3f638bb23e966d822c58db602b63e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Plugins: add missing 'override'Anton Kudryavtsev2016-10-062-20/+20
| | | | | | | | | | | | | | | | | | | | | ... and drop redundant 'virtual' Change-Id: Ifa12539dd40be600158f92f04fac56626527ef77 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | optimize string usage: use fromLatin1() lessAnton Kudryavtsev2016-09-081-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .. to reduce allocations. Replace fromLatin1 with QLatin1String or with QStringBuilder where it is possible. Change-Id: I09c7242fa7b118447b51239e2a6743a34fb3de14 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devSimon Hausmann2016-08-271-0/+4
|\| | | | | | | | | | | Change-Id: Iaf83f4c74b25b08764005267713db91c95732fc0
| * | Merge dev into 5.8Oswald Buddenhagen2016-08-225-26/+59
| |\ \ | | | | | | | | | | | | Change-Id: If0f273d3d33cec20edda539de6372337c2e4e969
| * | | winrt: Make certification pass on D3D12 backendMaurice Kalinowski2016-08-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | D3D12GetDebugInterface is not allowed to be used in a package to be uploaded to the store. However, keep it enabled for debug to still access information provided by it. Change-Id: Ie19167b4000b85d519d9726a66a42c6f1ef6ce4c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | Plugins: replace 'foreach' with 'range for'Anton Kudryavtsev2016-08-2610-62/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark some local variables as const to prevent detach()'ing. Use qAsConst where is not possible mark as const. If a container is changed in a loop's body, just make copy like 'foreach'. Change-Id: Ic453a688a9edf8a864d47f6e3a605164508a027c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | | NativeDebugger: fix MSVC buildAnton Kudryavtsev2016-08-251-9/+9
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | MSVC does not like QStringLiteral in operator[]. And the follow-up patch, which replaces 'foreach' with 'range for' triggers this MSVC bug. Replcace operator[] with insert() method. Change-Id: I9805510bfb4e9f29496dcae08be583d98230debe Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | D3D12: Convert 8-bit glyphs to 32-bit to prevent using R8 formatsLaszlo Agocs2016-08-175-26/+59
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Until we figure out why DXGI_FORMAT_R8_UNORM sampling produces weird results with AMD cards, disable it and convert to RGBA. The check could be done at runtime based on the device's VendorId (0x1002), however the shader needs changes too so it would make things more convoluted. Hence only a compile-time define for now. Task-number: QTBUG-55330 Change-Id: I73f038cf0aeba742e8ea6669359c8a6e8e400a06 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | QML: Make all fields in QQmlPropertyRawData privateErik Verbruggen2016-08-101-3/+3
| | | | | | | | | | | | | | | | And add accessors. This makes it easier later on to change the storage of the fields. Change-Id: I21163668ac83a7d52f398981baf3c27ef161c177 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix static buildMaurice Kalinowski2016-08-091-11/+11
| | | | | | | | | | | | | | | | When compiling statically QSG_LOG_INFO is exported in QtQuick as well as the plugin causing problems when linking eg qmleasing. Change-Id: I9f86c0140c39f129e859b6b0e9eed43a9b7ce928 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Fix winrt buildLaszlo Agocs2016-08-022-0/+4
| | | | | | | | | | Change-Id: I91a90a9141bd17b01a9b87d8ad39c11f8b386a8c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | V4: Make ExecutionEngine's debugger and profiler privateUlf Hermann2016-07-283-10/+10
| | | | | | | | | | | | | | | | This will allow us to #define them away on -no-qml-debug, saving two pointers per engine. Change-Id: I400cffd32cd7f55ff0e68565734b6002b9f901d5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Qml: Create profiler adapters in the pluginsUlf Hermann2016-07-282-2/+2
| | | | | | | | | | | | | | This way QtQml doesn't need to know the ctors. Change-Id: Ie74049092b5eb9837537591c0cf37ad1487e4066 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Tooling: Convert connects to Qt5 styleUlf Hermann2016-07-2826-173/+164
| | | | | | | | | | Change-Id: I6746b777f73d047f5cf610bfca9b320ac1e13676 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Remove some unnecessary includesUlf Hermann2016-07-261-1/+0
| | | | | | | | | | Change-Id: I18f2b6f44decf5ecde45e20722541b9a18d60b16 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | D3D12: clean up loggingLaszlo Agocs2016-07-192-35/+38
| | | | | | | | | | | | | | | | | | | | | | | | Make QSG_RENDERER_DEBUG more fine-grained, the maximum set is now loop;build;change;render;descheap;buffer;texture;shader meaning "render" is broken up into 5 categories. Fix also a comment on the root signature to avoid future headache with trying to optimize the descriptor table for textures away (in vain). Change-Id: I06a2a624ed39aaf5de42b8e984a192c7966360ab Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | software: Add support for QSGRenderNodeLaszlo Agocs2016-07-196-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Have to change getResource() a bit since it turns out it is not suitable currently for backends that do not have a per-window rendercontext and do not implement the interface on the rendercontext. Pass in the window to make sure it can always figure out which window we want the resources for. (we do not want rendererInterface() to return window-specific instances created on the fly, with ownership issues, so stick with the simple model where backends implement the interface on one of their existing classes) To support clipping, QSGRenderNode::RenderState is extended accordingly. Also updated the docs since some claims in the rendernode docs are not true since Qt 5.3. Change-Id: I34779c83926f5231b888fcab7131e873ae97964f Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Move swapchain/color buffer format to a constantLaszlo Agocs2016-07-191-9/+11
| | | | | | | | | | | | | | | | So it can be changed to BGRA, if desired, although tests show that BGRA reduces perf a little bit in fact. Change-Id: Ieb87bba2298426f1503658f8dffb0c659c265ca5 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Show a warning when the requested adapter is not usableLaszlo Agocs2016-07-191-5/+9
| | | | | | | | | | Change-Id: I3cbc4bf45b22f8bf772163be24ca4c9ccb63fcad Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Change the command list size limitLaszlo Agocs2016-07-151-1/+4
| | | | | | | | | | | | | | | | 128 is way too low. Experiments with qmlbench show that there is not much improvement after 4000 so go with 4096. Change-Id: I1fd8f4f55250b5e54d95adb28b4ea1f4fe5ca10a Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Fix unused var warnings in release buildsLaszlo Agocs2016-07-153-2/+4
| | | | | | | | | | Change-Id: I83c3582ca7cb9523fb0e90627f2575992e84694c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Add support for QQuickWindow::setDefaultAlphaBufferLaszlo Agocs2016-07-151-1/+7
| | | | | | | | | | | | | | | | | | | | Transparency won't work yet, though. The existing mechanisms are disfunctional with our flip model swapchain. Will have to investigate DirectComposition perhaps. In any case, having the alpha size correct in the window's format() is a good thing. Change-Id: Ia8304f90700d9fb5bd71e3e1bd95d2eda0acab38 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Support translucent windows via DirectCompositionLaszlo Agocs2016-07-146-34/+117
| | | | | | | | | | Change-Id: I1b63db07ade1ae43c67352b4d875d5a3e55105f2 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Sprite nodeLaszlo Agocs2016-07-147-5/+465
| | | | | | | | | | Change-Id: I5ef2fb20beed372996642caf2cc5e02eaa886d79 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Add QSGSpriteNode to the Scenegraph Adaptation LayerAndy Nichols2016-07-144-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | Most core Qt Quick items use one of the nodes provided by the Scenegraph Adaptation Layer, however the two items that provide support for Sprites created their own custom nodes. There was significant redundancy in this, and it made it only possible to use the OpenGL adaptation. The AnimatedSprite and SpriteSequence items have been cleaned up, and now use the new QSGSpriteNode. Change-Id: Idc20b9c5da9dc1c94f6368021785382cdf7cec5a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | D3D12: Fix descriptor range referenceLaszlo Agocs2016-07-051-7/+7
| | | | | | | | | | | | | | Prevent it from going out of scope. Change-Id: I230937cdb59545e04a7da64a6a68970a2e1f5522 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Print what goes wrong in rootsig serializationLaszlo Agocs2016-07-051-1/+2
| | | | | | | | | | | | | | | | This is not something the debug layer handles so we have to warn ourselves if we want to know what is going on. Change-Id: If412234923a4ce977618d240f4e9dd8890182fd2 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Improve debug layer supportLaszlo Agocs2016-07-011-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Filter out the annoying RT clear color warning which we have no control over if the user called setColor on the QQuickWindow and a non-default render target is in use. Start breaking on serious error messages and make it possible to break on warnings as well. (QT_D3D_DEBUG_BREAK_ON_WARNINGS) All of this is only relevant when the debug layer is enabled. (QT_D3D_DEBUG) Change-Id: Idfc6e3f3165ea50b54938d358543763bc7433c7c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Move the info prints to categorized loggingLaszlo Agocs2016-07-011-14/+22
| | | | | | | | | | | | | | | | Print info messages on startup only when QSG_INFO / qt.scenegraph.general are set, similarly to what happens with OpenGL. Change-Id: I11c0329462bb6f66968246c4412fff940797671b Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Fix 8-bit QImage mappingLaszlo Agocs2016-07-011-1/+7
| | | | | | | | | | | | | | | | | | The engine treats these specially due to the glyph textures sharing the same code path, but ordinary images do not need this. Convert them to 32-bit instead like it's done with OpenGL. Change-Id: If484e61c7269e55ba4ebaaba34819e064c10be7c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Advance anims in sync with vsync in the RLLaszlo Agocs2016-07-012-44/+185
| | | | | | | | | | | | | | | | | | | | Make the default render loop behave like the 'windows' one does with OpenGL: advance animations manually after each render step. This provides much better results than the previous approach (i.e. 'basic') where the animations became quite jerky with heavier workloads. Change-Id: Ic933e136479d2a04036af15212669027ef2408c3 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Fix expose handlingLaszlo Agocs2016-07-012-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | to avoid unnecessary rendering attempts when closing windows containing certain Quick Controls (1). Basically this introduces a condition that is there in the threaded loop's polishAndSync but was missing from renderWindow. When the window is not "exposed" either normally or via grab(), it should just return. Change-Id: I42602e33ba144a1c56586a4b92fa088e85099d0d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Fix grabbing with the new gui thread render loopLaszlo Agocs2016-07-012-20/+36
| | | | | | | | | | | | | | | | | | Grabbing was not completely ported from the separate render thread based version, and so some of the grab tests in tst_qquickwindow did not pass. This is now corrected. Change-Id: I830d9b439082cf8ebc1bfe75ce756ef5dd7c54c0 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Avoid multiple invalidated signalsLaszlo Agocs2016-07-014-25/+20
| | | | | | | | | | | | | | | | | | | | Calling invalidate() multiple times for any reason should only result in doing cleanup and emitting signals once. The somewhat weird manual pending flag is also removed now. Change-Id: I46eca63a300fe9acb4ebd0bd9b601d8583dced1c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | D3D12: Add support for shader sources in filesLaszlo Agocs2016-06-292-13/+25
| | | | | | | | | | | | | | | | | | Now we support all combinations: source strings, HLSL source in files and bytecode in files. The type of file contents is detected automatically. Change-Id: Id6ab269df52463fb95a9a1ef2598ed5576a873d3 Reviewed-by: Andy Nichols <andy.nichols@qt.io>