This allows to connect our nodes together via ports. This way user code
can assemble a shader from simpler blocks.
Change-Id: I168dcf4af6aa11ad47b68d91e5a55e96ca922678
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Nodes will allow to describe inputs, outputs or value transformations in
a shader graph.
Change-Id: I44f806d9595fd0e68fc9026cda2b4fa0a62af283
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
The ports will be used to connect nodes from our shader graphs.
Change-Id: I9d4fbb1f7bd8320c4373ebb166a4fe13bd1482c9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
This is the first building block toward a node based generator for
shader programs.
QShaderFormat will be used by the other classes to qualify in which
format the code snippets and includes used are.
Change-Id: I11aefc6bb359832a853ed1b6bec302dc3516cfc4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
A few functions ended up in the wrong visibility section.
For instance, it should be perfectly fine to call indexFromItem
even from non-subclasses. We can't change that in Qt 5, make a note
for Qt 6.
Change-Id: I277d831ef1a4b3dcae99bef299ea334954d5b0d3
Reviewed-by: David Faure <david.faure@kdab.com>
Marks the bswap methods constexpr and removes the special versions
explicitly using builtins as both clang and gcc automatically
recognizes bswap code and replaces it with builtins.
Change-Id: I07258431ac2588f6046682ffb9c832e650faf66a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QLocale already takes care of validating the month inputs, so no need to
spend cycles and binary size for the invalid case.
This commit also removes the check from QDate::longMonthName and the day
name functions so that all functions remain similar.
Task-number: QTBUG-61399
Change-Id: Ia53158e207a94bf49489fffd14c7bd8b121dd132
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Found this in a few uses of qrand() that assumed the result would be
non-negative.
Change-Id: Ia53158e207a94bf49489fffd14c7c029515cf42c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
GCC didn't support it until version 5 or 6, so add configure tests for
both <random> and <sys/auxv.h>. Normally I'd say "upgrade", but this is
too low-level and important a feature.
There's a good chance that all our supported compilers have <random>
anyway. As for <sys/auxv.h>, it's present on Glibc, Bionic and MUSL, but
I don't see it in uClibc (AT_RANDOM is a Linux-specific feature).
Change-Id: Ia3e896da908f42939148fffd14c5b2af491f7a77
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
These functions should never be used, they've been deprecated
since Qt 5.0.
Change-Id: I71744eba3ff3b94487dd040ddd6af4fb11f382b2
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
'numberOfBytesToWrite' is an equivalent of buffer.size(), which is
inlined.
Change-Id: I15706a8851734cc085b1f400b78f4820bb6e72c4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
CID 181185: Uninitialized members (UNINIT_CTOR)
Non-static class member "key" is not initialized in this constructor nor in any functions that it calls.
Change-Id: I8f2c18263a0dc81b98eb398d618184bf761c02e1
Coverity-Id: 181185
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This is needed to use qtvirtualkeyboard with offscreen platform
[ChangeLog][Platform Specific Changes] Input context support to
offscreen platform
Task-number: QTBUG-60268
Change-Id: Id24dc8b0461036923df2c1624bcb913d28e0819e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Its first two arguments were non-const references that it modified.
A copy of the first was already being passed back in the returned
struct; and the one caller that wanted the modified value was in fact
copying this copy back over the QString it had passed in (that was
thus equal already). So passing by value is fine.
The second's only change was increment by a field I've just added to
StateNode in refactoring parse(); so we can let the caller do that
adding, instead.
Change-Id: I05abb644f3e5a60f94b03292302dd1bbe996cce9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Method parse() was very long, had an inner block purely to isolate
many variables and had a clean-up block at the end to which it would
goto from within that 300-line block. Split out that block as a
separate function, turn goto into premature return, clean up the
result.
Change-Id: I63ded0c0afacf4a1972a3a62c2d81834950ab729
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Return a struct instead. This frees parse() of an assumption that -1
is an error value and leaves one in/out argument. Made this last an
actual pointer argument instead of a non-const ref. Shuffled the
remaining arguments so that this in/out is last and the offset into it
at which it gets modified is immediately before it. Removed a
spurious qdoc comment in the process.
Change-Id: I7d980e70a7711b1d706151eedce956fe2093e48e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Some private methods were conditioned on QT_NO_TEXTDATE but called
(without #if-ery) by methods conditioned on QT_NO_DATESTRING; and
various private methods without #if-ery were only called by methods
within. Consolidate to #if methods all on QT_NO_DATESTRING.
Change-Id: I1dd18037e4e7407c07041036cc5b871b7d693016
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The serialization of date-times understood time-zones (indicated by a
't' in a format string) but the parsing didn't (so viewed the 't' as a
literal element in the format string, not matched by the actual zone
it needs to parse), although some tests expected it to.
This made round-trip testing fail.
Implemented parsing of time-zones.
Re-enabled the formerly failing tests.
[ChangeLog][QtCore][QDateTime] Added support for parsing of time-zones.
Task-number: QTBUG-22833
Change-Id: Iddba7dca14cf9399587078d4cea19f9b95a65cf7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Use M_PI (and friends), where possible, in favor of hand-coded
approximations of various (in)accuracies. Where that's not available
(e.g. fragment shaders), use the same value that qmath.h uses for
M_PI, for consistency. Replaced math.h with qmath.h in places that
defined a fall-back in case math.h omits it (it's not in the C++
standard, although M_PI is in POSIX); or removed this entirely where
it wasn't used.
Reworked some code to reduce the amount of arithmetic needed, in the
process; e.g. pulling common factors out of loops. Revised an
example's doc to not waste time talking about using a six-sig-fig
value for pi (which we no longer do) - it really wasn't relevant, or
anything to be proud of; nor did the doc mention its later use.
Task-number: QTBUG-58083
Change-Id: I5a31e3a2b6a823b97a43209bed61a37b9aa6c05f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The formatting of times in Norwegian has changed to use colon rather
than dot between hours, minutes and seconds:
http://cldr.unicode.org/index/downloads/cldr-30#TOC-Other
tst_QLocale gets a matching revision.
Change-Id: I35a16080def5fbadd62144a0b44be8110b9be29b
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
It should be easier to translate sizes in bytes to human-readable
strings consistently rather than having to repeat this code (and the
string translations) in various places. The FileDialog in QtQuick.Controls
has a use for this, too.
[ChangeLog][QtCore][QLocale] Added QLocale::formattedDataSize() for
formatting quantities of bytes as kB, MB, GB etc.
Done-with: Edward Welbourne <edward.welbourne@qt.io>
Change-Id: I27bca146c3eba90fa7a5d52ef6626ce85723e3f0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This fixes the following warnings when building qmake:
Makefile:359: warning: overriding commands for target `qrandom.o'
Makefile:335: warning: ignoring old commands for target `qrandom.o'
Change-Id: I2c7abbe095862303c1969a70f61b8a57009d44ee
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
It calls toLower() on it, and the existence of two strings in scope
has already caused some latent bug where sizes of the two were mixed.
Taking by value means we can use the rvalue-version of toLower().
While that does not guarantee no allocations, we can make sure that at
least in QKeySequence::assign(), we hand in unshared data, by using
std::move().
Change-Id: Ic4a18486a6f4528eba36109dec1a47082cf57055
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
This commit complements commit 3dcc075f4a
for Qt 5.10.
Change-Id: I7814054a102a407d876ffffd14b6a16182f159e2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
The test was never loading images from a valid path, and thus never
had any fullfill the base option which meant nothing was tested.
Making it work revealed that the Format option on BMP formats doesn't
predict semi-transparent files.
Change-Id: I7035a0f63ebfbce940ce7a17a6142cf177480798
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
The type-cast to int for qle_signedbitfield was wrong for all cases
where width + pos != 32. The class is currently only used two places
though, both where that happen to apply.
Change-Id: I108c565b75c9f29dd49b5e2e39f84910d17ead85
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
it contains no code.
Change-Id: Ie8a43abb2db3d040f7046206adf2bf555960dd9c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
these are not meant to be deployed, so the install hack should skip
them.
Task-number: QTBUG-42830
Change-Id: I870499dca2cfea87bf0048f019d651ce9cc5d788
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
while it's mildly insane that we auto-generate install targets to start
with, we can at least refrain from doing so if there is one already.
as it happens, this removes the need for excluding the qt build
explicitly.
Task-number: QTBUG-38452
Change-Id: I74d5df447fba525fa79896c9be2c71d82bc2c6ce
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
our binary packages come without many sql drivers, because they have
proprietary dependencies we cannot ship. not every user wants to build
all of qt from scratch, so it makes sense to make it possible to
"enrich" the existing installation by compiling just the drivers. to
enable this, the drivers' configuration must be independent. but note
that it's still not possible to configure a single driver - the entire
sqldrivers directory is configured at once.
a side effect of this is that the availability of the sql plugins
cannot be made known with publicFeatures any more, because there is no
associated module pri file to put that information into. that should be
made inconsequential by making qtHaveModule() work for plugins.
Task-number: QTBUG-58372
Change-Id: Ibdebe3199688a57f93cea82dc15623081d1280f5
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
It indirectly includes X.h with LSBFirst and MSBFirst macros.
Use XCB_IMAGE_ORDER_LSB_FIRST and XCB_IMAGE_ORDER_MSB_FIRST
macros instead and remove unneeded XCB_USE_XLIB guards.
Change-Id: Ic24c9605d0a627253f2793f9feab6c6e19dcda08
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
(cherry picked from commit 538b9f504c)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
FAIL! : tst_QWidget::restoreVersion1Geometry(geometry.dat) Compared values are not the same
Actual (((widget.pos()))): QPoint(90,90)
Expected (expectedPosition): QPoint(100,100)
Loc: [tst_qwidget.cpp(3193)]
Remove the previously added QSKIP since this test now passes.
Task-number: QTBUG-26421
Task-number: QTBUG-46116
Change-Id: Ieff474a8a69c14a0df231a9a587aee02df4e8ea7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
qwindowsdirect2ddevicecontext.cpp:92:105: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'HRESULT {aka long int}' [-Werror=format=]
qWarning("%s: EndDraw failed: %#x, tag1: %lld, tag2: %lld", __FUNCTION__, hr, tag1, tag2);
Change format to long and cast argument to long for extra safety
(should some obscure MinGW header define another type).
Change-Id: I7e6cb8ea1e5c27ef104b162ced9a696ab252fd8d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
UWP only allows clipboard access when the app is active and has focus.
Task-number: QTBUG-60900
Change-Id: Ia69642740d894106875cef77adf48e934bae9c87
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
[ChangeLog][QtCore][QProcess] Added support for standard channel
redirection using setStandard{Input|Output|Error}File to
QProcess::startDetached.
Task-number: QTBUG-2058
Task-number: QTBUG-37656
Change-Id: Iafb9bd7899f752d0305e3410ad4dcb7ef598dc79
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
In FileDialogPanel::options(), QFileDialog::DontUseCustomDirectoryIcons
was set when the "Don't use custom directory icons" box wasn't checked.
Change-Id: I6e9d9b41cf91f4abcc98c02bed44675908a8391d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Makes pure Qt applications integrate better when those fonts don't
match the general fonts.
Change-Id: Ic06e8595efc44f0c6649cf364e751c4c714cda93
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>