aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quick
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2021-05-07 10:18:54 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2021-05-19 14:41:08 +0200
commitaab39f5d5dc7d960715d5335a2427e89a6ce0f0d (patch)
tree0207a7debe8e97324a5c8533df15adbb00febe09 /examples/quick
parent4b46972be3c34c1b5506ba7d8c97f4520e2c17d6 (diff)
Enable rendercontrol_d3d11 example for MinGW
Pick-to: 6.1 Fixes: QTBUG-92839 Change-Id: Id17417b7ae010566b7f78ea1a6b2cc8fe6abc5e3 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'examples/quick')
-rw-r--r--examples/quick/rendercontrol/CMakeLists.txt2
-rw-r--r--examples/quick/rendercontrol/rendercontrol.pro2
-rw-r--r--examples/quick/rendercontrol/rendercontrol_d3d11/CMakeLists.txt1
-rw-r--r--examples/quick/rendercontrol/rendercontrol_d3d11/engine.cpp10
-rw-r--r--examples/quick/rendercontrol/rendercontrol_d3d11/engine.h4
-rw-r--r--examples/quick/rendercontrol/rendercontrol_d3d11/rendercontrol_d3d11.pro2
-rw-r--r--examples/quick/rendercontrol/rendercontrol_d3d11/window.cpp2
7 files changed, 8 insertions, 15 deletions
diff --git a/examples/quick/rendercontrol/CMakeLists.txt b/examples/quick/rendercontrol/CMakeLists.txt
index 53924b33ce..db19a3fc79 100644
--- a/examples/quick/rendercontrol/CMakeLists.txt
+++ b/examples/quick/rendercontrol/CMakeLists.txt
@@ -1,6 +1,6 @@
# Generated from rendercontrol.pro.
add_subdirectory(rendercontrol_opengl)
-if(WIN32 AND NOT MINGW)
+if(WIN32)
add_subdirectory(rendercontrol_d3d11)
endif()
diff --git a/examples/quick/rendercontrol/rendercontrol.pro b/examples/quick/rendercontrol/rendercontrol.pro
index 9922e1e077..d49be63c50 100644
--- a/examples/quick/rendercontrol/rendercontrol.pro
+++ b/examples/quick/rendercontrol/rendercontrol.pro
@@ -3,7 +3,7 @@ TEMPLATE = subdirs
SUBDIRS += \
rendercontrol_opengl
-win32:!mingw {
+win32 {
SUBDIRS += \
rendercontrol_d3d11
}
diff --git a/examples/quick/rendercontrol/rendercontrol_d3d11/CMakeLists.txt b/examples/quick/rendercontrol/rendercontrol_d3d11/CMakeLists.txt
index 949c609af1..afb1149fc6 100644
--- a/examples/quick/rendercontrol/rendercontrol_d3d11/CMakeLists.txt
+++ b/examples/quick/rendercontrol/rendercontrol_d3d11/CMakeLists.txt
@@ -37,6 +37,7 @@ target_link_libraries(rendercontrol_d3d11 PUBLIC
d3d11
dxgi
dxguid
+ uuid
)
diff --git a/examples/quick/rendercontrol/rendercontrol_d3d11/engine.cpp b/examples/quick/rendercontrol/rendercontrol_d3d11/engine.cpp
index 99f65f6200..9dd65696d0 100644
--- a/examples/quick/rendercontrol/rendercontrol_d3d11/engine.cpp
+++ b/examples/quick/rendercontrol/rendercontrol_d3d11/engine.cpp
@@ -85,7 +85,6 @@ bool Engine::create()
return false;
}
- ID3D11DeviceContext *ctx = nullptr;
uint flags = 0;
#ifdef ENABLE_DEBUG_LAYER
flags |= D3D11_CREATE_DEVICE_DEBUG;
@@ -93,19 +92,12 @@ bool Engine::create()
// use the default hardware adapter
HRESULT hr = D3D11CreateDevice(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, flags,
nullptr, 0, D3D11_SDK_VERSION,
- &m_device, &m_featureLevel, &ctx);
+ &m_device, &m_featureLevel, &m_context);
if (FAILED(hr)) {
qWarning("Failed to create D3D11 device and context: %s", qPrintable(comErrorMessage(hr)));
return false;
}
- if (SUCCEEDED(ctx->QueryInterface(IID_ID3D11DeviceContext1, reinterpret_cast<void **>(&m_context)))) {
- ctx->Release();
- } else {
- qWarning("ID3D11DeviceContext1 not supported");
- return false;
- }
-
return true;
}
diff --git a/examples/quick/rendercontrol/rendercontrol_d3d11/engine.h b/examples/quick/rendercontrol/rendercontrol_d3d11/engine.h
index 8b1b3ebf39..fdfee578ed 100644
--- a/examples/quick/rendercontrol/rendercontrol_d3d11/engine.h
+++ b/examples/quick/rendercontrol/rendercontrol_d3d11/engine.h
@@ -81,14 +81,14 @@ public:
Swapchain createSwapchain(QWindow *window);
void resizeSwapchain(Swapchain *sc, QWindow *window);
ID3D11Device *device() { return m_device; }
- ID3D11DeviceContext1 *context() { return m_context; }
+ ID3D11DeviceContext *context() { return m_context; }
private:
void createSwapchainBuffers(Swapchain *sc);
IDXGIFactory1 *m_dxgiFactory = nullptr;
ID3D11Device *m_device = nullptr;
- ID3D11DeviceContext1 *m_context = nullptr;
+ ID3D11DeviceContext *m_context = nullptr;
D3D_FEATURE_LEVEL m_featureLevel;
};
diff --git a/examples/quick/rendercontrol/rendercontrol_d3d11/rendercontrol_d3d11.pro b/examples/quick/rendercontrol/rendercontrol_d3d11/rendercontrol_d3d11.pro
index 29cee7580b..0a65dec88a 100644
--- a/examples/quick/rendercontrol/rendercontrol_d3d11/rendercontrol_d3d11.pro
+++ b/examples/quick/rendercontrol/rendercontrol_d3d11/rendercontrol_d3d11.pro
@@ -13,7 +13,7 @@ HEADERS += \
RESOURCES += rendercontrol.qrc
-LIBS += -ld3d11 -ldxgi -ldxguid
+LIBS += -ld3d11 -ldxgi -ldxguid -luuid
target.path = $$[QT_INSTALL_EXAMPLES]/quick/rendercontrol/rendercontrol_d3d11
INSTALLS += target
diff --git a/examples/quick/rendercontrol/rendercontrol_d3d11/window.cpp b/examples/quick/rendercontrol/rendercontrol_d3d11/window.cpp
index 918698effe..478ce88344 100644
--- a/examples/quick/rendercontrol/rendercontrol_d3d11/window.cpp
+++ b/examples/quick/rendercontrol/rendercontrol_d3d11/window.cpp
@@ -316,7 +316,7 @@ void Window::render()
updateQuick();
// now onto our own drawing, targeting the window
- ID3D11DeviceContext1 *ctx = m_engine->context();
+ ID3D11DeviceContext *ctx = m_engine->context();
const QSize viewSize = m_swapchain.pixelSize;
const float clearColor[] = { 0.4f, 0.7f, 0.0f, 1.0f };