qt5base-lts/tests/manual
Laszlo Agocs 5eacc974c7 rhi: d3d11: Enable tessellation and geometry with some caveats
The caveat being having to manually create HLSL versions of the hull,
domain, and geometry shaders in parallel with the Vulkan GLSL ones,
while keeping the interfaces intact (stage inputs and outputs, cbuffer
layouts, binding points/registers). This is not always trivial but
typically doable in not very complicated case after inspecting the
SPIRV-Cross-generated vertex/fragment code in the .qsb files. Once
written, the HLSL files can be injected into a .qsb file with qsb -r.
or the corresponding CMake syntax. Conceptually this is no different
from how samplerExternalOES support is implemented for Multimedia.
(there the problem is that the shaders cannot be compiled to SPIR-V
to begin with, here it is that we cannot translate from SPIR-V, but
in the end the workaround for both problems is effectively the same)

The manual tests demonstrate this, both the tessellation and geometry
apps work now with D3D out of the box.

On the bright side, the implementation here in the the D3D backend of
QRhi does not need to know about how the shaders got there in the
QShader. So none of the implementation is dependent on this manual
process. If some day qsb would start translating to these kind of
shaders as well, it would all still work as-is.

Change-Id: I32d9ab94e00174e4bd5b59ac814dfedef9f93ad1
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2022-08-15 10:51:17 +02:00
..
cmake/test_copy_file_if_different_command Add license headers to cmake files 2022-08-03 17:14:55 +02:00
cocoa Add license headers to cmake files 2022-08-03 17:14:55 +02:00
corelib/tools Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
diaglib Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
dialogs Add license headers to cmake files 2022-08-03 17:14:55 +02:00
embeddedintoforeignwindow Add license headers to cmake files 2022-08-03 17:14:55 +02:00
filetest Add license headers to cmake files 2022-08-03 17:14:55 +02:00
foreignwindows Add license headers to cmake files 2022-08-03 17:14:55 +02:00
gestures Add license headers to cmake files 2022-08-03 17:14:55 +02:00
highdpi Add license headers to cmake files 2022-08-03 17:14:55 +02:00
inputmethodhints Add license headers to cmake files 2022-08-03 17:14:55 +02:00
keypadnavigation Add license headers to cmake files 2022-08-03 17:14:55 +02:00
lance Add license headers to cmake files 2022-08-03 17:14:55 +02:00
markdown Add license headers to cmake files 2022-08-03 17:14:55 +02:00
mkspecs Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
network_remote_stresstest Add license headers to cmake files 2022-08-03 17:14:55 +02:00
network_stresstest Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qcursor Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qdesktopservices Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qgraphicsitem Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qgraphicsitemgroup Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qgraphicslayout/flicker Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qhttpnetworkconnection Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qimagereader Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qlayout Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qlocale Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qmetatype Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qmimedatabase Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qnetconmonitor Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qnetworkaccessmanager/qget Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qnetworkinformation Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qnetworkreply Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qopenglcontext Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qopengltextureblitter Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qopenglwidget Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qopenglwindow/multiwindow Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qprintdevice_dump Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qscreen Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qscreen_xrandr Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qssloptions Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qsslsocket Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qstorageinfo Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qsysinfo Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qt_poll Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qtabbar Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qtabletevent Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qtbug-8933 Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qtbug-52641 Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qtexteditlist Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qtexttableborders Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qtouchevent Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qvulkaninstance Add license headers to cmake files 2022-08-03 17:14:55 +02:00
qwidget_zorder Add license headers to cmake files 2022-08-03 17:14:55 +02:00
repaint Add license headers to cmake files 2022-08-03 17:14:55 +02:00
rhi rhi: d3d11: Enable tessellation and geometry with some caveats 2022-08-15 10:51:17 +02:00
shortcuts Add license headers to cmake files 2022-08-03 17:14:55 +02:00
socketengine Add license headers to cmake files 2022-08-03 17:14:55 +02:00
startsystemmove Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
textrendering Add license headers to cmake files 2022-08-03 17:14:55 +02:00
touch Add license headers to cmake files 2022-08-03 17:14:55 +02:00
touchGraphicsItem Add license headers to cmake files 2022-08-03 17:14:55 +02:00
transientwindow Add license headers to cmake files 2022-08-03 17:14:55 +02:00
triangulator Add license headers to cmake files 2022-08-03 17:14:55 +02:00
unc Add license headers to cmake files 2022-08-03 17:14:55 +02:00
wasm Use the local file APIs to save/load files on WASM 2022-08-12 20:32:29 +02:00
widgetgrab Add license headers to cmake files 2022-08-03 17:14:55 +02:00
widgets Add license headers to cmake files 2022-08-03 17:14:55 +02:00
windowactivation Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
windowchildgeometry Add license headers to cmake files 2022-08-03 17:14:55 +02:00
windowflags Add license headers to cmake files 2022-08-03 17:14:55 +02:00
windowgeometry Add license headers to cmake files 2022-08-03 17:14:55 +02:00
windowmodality Add license headers to cmake files 2022-08-03 17:14:55 +02:00
windowtransparency Add license headers to cmake files 2022-08-03 17:14:55 +02:00
xcb_gl_integration Add license headers to cmake files 2022-08-03 17:14:55 +02:00
xembed tests: add a textfield in qt-client-widget 2022-08-06 01:24:41 +02:00
CMakeLists.txt tests: replace gtk-embedder.py with a gtk3 app 2022-08-06 01:24:41 +02:00
manual.pro tests: replace gtk-embedder.py with a gtk3 app 2022-08-06 01:24:41 +02:00