summaryrefslogtreecommitdiffstats
path: root/src/opengl/qopengltexture.cpp
Commit message (Collapse)AuthorAgeFilesLines
* For qdebug operator<< of pointer types, always check for nullptrDaniel Trevitz2025-05-171-1/+1
| | | | | | | | Also, use a consistent syntax for when the pointer is null. Fixes: QTBUG-135856 Change-Id: I2f5c80a5650b1be6cc0d70cde7cd1e1c1990df9a Reviewed-by: Christian Ehrlicher <[email protected]>
* Doc: Fix method docs for QOpenGLTexture::setWrapModeAndreas Eliasson2025-01-241-1/+2
| | | | | | | | | The current method description seems like a copy-paste left-over. Fixes: QTBUG-57209 Pick-to: 6.9 6.8 6.7 6.5 6.2 5.15 Change-Id: Ife9f9f7bc97d990f5d447208bd39c2d2b6a614fd Reviewed-by: Laszlo Agocs <[email protected]>
* Add Qt::Orientations based flip and flipped functionsAllan Sandfeld Jensen2024-11-291-2/+2
| | | | | | | | Is easier to read and more bool-trap safe. Old form header deprecated from 6.10 Fixes: QTBUG-129575 Change-Id: Id785b9ce159007ce745c04120b2112c8bb9b0802 Reviewed-by: Volker Hilsheimer <[email protected]>
* Replace QPair/qMakePair with std::pair in qtbase/openglIsak Fyksen2024-11-211-28/+28
| | | | | | Task-number: QTBUG-115841 Change-Id: Ic7a362a41fb52d39d8a168f0ba4ed6d33458dd73 Reviewed-by: Matthias Rauter <[email protected]>
* Add QImage null check when QOpenGLTexture convertsLaszlo Agocs2023-03-211-1/+6
| | | | | | | | | | | ...the image to RGBA8888. Just mirror the first null check that is done for the user-provided QImage. The same should be done for the result of convertToFormat(). Pick-to: 6.5 6.5 6.2 5.15 Fixes: QTBUG-68884 Change-Id: I77091d7a2bc6e32d2aa292dc7650c1af091fcec1 Reviewed-by: Andy Nichols <[email protected]>
* QOpenGLTexture: Add a doc note about the unavoidable conversionLaszlo Agocs2023-03-161-0/+6
| | | | | | | | | | | As requested by users. Explicitly stated in the docs that the QImage is going to be converted, to avoid surprises. Pick-to: 6.5 6.2 5.15 Fixes: QTBUG-105364 Change-Id: Ia6a8930bcee8bd3cdbef016083599bd435b37a09 Reviewed-by: Kristoffer Skau <[email protected]> Reviewed-by: Andy Nichols <[email protected]>
* Long live Q_UNREACHABLE_RETURN()!Marc Mutz2022-10-151-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a combination of Q_UNREACHABLE() with a return statement. ATM, the return statement is unconditionally included. If we notice that some compilers warn about return after __builtin_unreachable(), then we can map Q_UNREACHABLE_RETURN(...) to Q_UNREACHABLE() without having to touch all the code that uses explicit Q_UNREACHABLE() + return. The fact that Boost has BOOST_UNREACHABLE_RETURN() indicates that there are compilers that complain about a lack of return after Q_UNREACHABLE (we know that MSVC, ICC, and GHS are among them), as well as compilers that complained about a return being present (Coverity). Take this opportunity to properly adapt to Coverity, by leaving out the return statement on this compiler. Apply the macro around the code base, using a clang-tidy transformer rule: const std::string unr = "unr", val = "val", ret = "ret"; auto makeUnreachableReturn = cat("Q_UNREACHABLE_RETURN(", ifBound(val, cat(node(val)), cat("")), ")"); auto ignoringSwitchCases = [](auto stmt) { return anyOf(stmt, switchCase(subStmt(stmt))); }; makeRule( stmt(ignoringSwitchCases(stmt(isExpandedFromMacro("Q_UNREACHABLE")).bind(unr)), nextStmt(returnStmt(optionally(hasReturnValue(expr().bind(val)))).bind(ret))), {changeTo(node(unr), cat(makeUnreachableReturn, ";")), // TODO: why is the ; lost w/o this? changeTo(node(ret), cat(""))}, cat("use ", makeUnreachableReturn)) ); where nextStmt() is copied from some upstream clang-tidy check's private implementation and subStmt() is a private matcher that gives access to SwitchCase's SubStmt. A.k.a. qt-use-unreachable-return. There were some false positives, suppressed them with NOLINTNEXTLINE. They're not really false positiives, it's just that Clang sees the world in one way and if conditonal compilation (#if) differs for other compilers, Clang doesn't know better. This is an artifact of matching two consecutive statements. I haven't figured out how to remove the empty line left by the deletion of the return statement, if it, indeed, was on a separate line, so post-processed the patch to remove all the lines matching ^\+ *$ from the diff: git commit -am meep git reset --hard HEAD^ git diff HEAD..HEAD@{1} | sed '/^\+ *$/d' | recountdiff - | patch -p1 [ChangeLog][QtCore][QtAssert] Added Q_UNREACHABLE_RETURN() macro. Change-Id: I9782939f16091c964f25b7826e1c0dbd13a71305 Reviewed-by: Marc Mutz <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
* Fix typos in docs and commentsKai Köhne2022-06-151-3/+3
| | | | | | | | | Found by codespell Pick-to: 6.4 Change-Id: Ie3e301a23830c773a2e9aff487c702a223d246eb Reviewed-by: Nicholas Bennett <[email protected]> Reviewed-by: Edward Welbourne <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-05-161-39/+3
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Lars Knoll <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* QtOpenGL: includemocsMarc Mutz2022-04-291-0/+2
| | | | | | | | | | | Including moc files directly into their classes' TU tends to improve codegen and enables extended compiler warnings, e.g. about unused private functions or fields. Pick-to: 6.3 6.2 5.15 Task-number: QTBUG-102886 Change-Id: I60fb8c22a310dfd10cd3611fb603e2175ac6dbcc Reviewed-by: Mårten Nordheim <[email protected]>
* Silence qdoc warning from deprecated enum valueVolker Hilsheimer2021-04-121-0/+1
| | | | | | | | The mis-spelled value doesn't need documentation. Pick-to: 6.1 Change-Id: I709abdca1d515902b3a12d3c5a5b62809d1f9a8b Reviewed-by: Volker Hilsheimer <[email protected]>
* QOpenGLTexture: Fix typo in enum valueLaszlo Agocs2021-03-031-1/+1
| | | | | | | | Pick-to: 6.1 Fixes: QTBUG-91431 Change-Id: I59c37de527f53339130216997402f325d0badb12 Reviewed-by: Jonas Karlsson <[email protected]> Reviewed-by: Andy Nichols <[email protected]>
* QOpenGLTexture: Remove obsolete data upload overloadsVolker Hilsheimer2020-09-101-116/+0
| | | | | | | Address ### Qt 6 comment Change-Id: I2952175ec72c5c4c7b4e518754fb1bc6f88b21df Reviewed-by: Laszlo Agocs <[email protected]>
* Get rid of QT_OPENGL_ES*Eskil Abrahamsen Blomfeldt2020-04-171-11/+11
| | | | | | | | | | | The QT_OPENGL_ES* macros are leftovers from an earlier, ad hoc configuration system, which has since been replaced by QT_CONFIG. To clean things up in Qt 6, we use the new way instead. Task-number: QTBUG-83467 Change-Id: I578dc7695bff9d5ee303b22e44f60fee22fe0c28 Reviewed-by: Lars Knoll <[email protected]>
* Merge remote-tracking branch 'origin/5.15' into devLiang Qi2020-02-131-1/+3
| | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/graphicsview/boxes/scene.h src/corelib/Qt5CoreMacros.cmake src/corelib/Qt6CoreMacros.cmake src/network/ssl/qsslsocket.cpp src/network/ssl/qsslsocket.h src/platformsupport/fontdatabases/windows/qwindowsfontenginedirectwrite.cpp src/testlib/CMakeLists.txt src/testlib/.prev_CMakeLists.txt tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp Disabled building manual tests with CMake for now, because qmake doesn't do it, and it confuses people. Done-With: Alexandru Croitor <[email protected]> Done-With: Volker Hilsheimer <[email protected]> Change-Id: I865ae347bd01f4e59f16d007b66d175a52f1f152
* Move QOpenGLTexture and related classes from QtGui to QtOpenGLJohan Klokkhammer Helsing2020-01-241-0/+4987
Task-number: QTBUG-74409 Change-Id: Ied825dd7cb92365505a4aa43fd67488024160341 Reviewed-by: Laszlo Agocs <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>