diff options
author | Kaj Grönholm <kaj.gronholm@qt.io> | 2019-11-28 10:05:04 +0200 |
---|---|---|
committer | Kaj Grönholm <kaj.gronholm@qt.io> | 2019-11-28 12:52:18 +0200 |
commit | 2977dfd540f6c2d65053a7da11a49363d7a38184 (patch) | |
tree | 7fbc3de8895cacfd892aab86c62efbcc88a4e1da | |
parent | 115151c68893ac02e6d4228d18894f4a8fc7217c (diff) |
Fix building & running runtime autotests
Building shouldn't change on mingw while enabling
QT3DS_AUTOTEST_EXPORT on other platforms like before a06fe05660.
Task-number: QT3DS-4014
Change-Id: Ic0f8ba487c3e8843312fa79f3f21d7c519ce71ce
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
4 files changed, 18 insertions, 2 deletions
diff --git a/commoninclude.pri b/commoninclude.pri index 2bd555b..93be674 100644 --- a/commoninclude.pri +++ b/commoninclude.pri @@ -22,6 +22,11 @@ QT += core gui openglextensions DEFINES += COMPILED_FROM_DSP QT3DSDM_USE_NVLOG QT3DSDM_META_DATA_NO_SIGNALS +!mingw { + # Enable autotest exports for non-mingw platforms + DEFINES += QT3DS_AUTOTESTS_ENABLED +} + INCLUDEPATH += \ $$PWD/src \ $$PWD/src/datamodel \ diff --git a/src/foundation/Qt3DSPreprocessor.h b/src/foundation/Qt3DSPreprocessor.h index 98b60c6..066a38e 100644 --- a/src/foundation/Qt3DSPreprocessor.h +++ b/src/foundation/Qt3DSPreprocessor.h @@ -188,7 +188,15 @@ no definition - this will allow DLLs and libraries to use the exported API from #define QT3DS_FOUNDATION_API #endif +#if defined(QT3DS_AUTOTESTS_ENABLED) +#if defined(QT3DS_BUILDING_LIBRARY) +#define QT3DS_AUTOTEST_EXPORT Q_DECL_EXPORT +#else +#define QT3DS_AUTOTEST_EXPORT Q_DECL_IMPORT +#endif +#else #define QT3DS_AUTOTEST_EXPORT QT3DS_FOUNDATION_API +#endif /** Calling convention diff --git a/tests/auto/runtime/shadergenerator/Qt3DSRenderTestDefaultMaterialGenerator.cpp b/tests/auto/runtime/shadergenerator/Qt3DSRenderTestDefaultMaterialGenerator.cpp index 1e2c07e..145907c 100644 --- a/tests/auto/runtime/shadergenerator/Qt3DSRenderTestDefaultMaterialGenerator.cpp +++ b/tests/auto/runtime/shadergenerator/Qt3DSRenderTestDefaultMaterialGenerator.cpp @@ -546,7 +546,8 @@ bool Qt3DSRenderTestDefaultMaterialGenerator::run(NVRenderContext *context, NVRenderShaderProgram *program = qt3dsRenderer()->GenerateShader(params->renderable, toConstDataRef(params->features.data(), - (QT3DSU32)params->features.size())); + (QT3DSU32)params->features.size()), + false); if (!program) { success = false; } else { diff --git a/tests/auto/runtime/shadergenerator/Qt3DSRenderTestEffectGenerator.cpp b/tests/auto/runtime/shadergenerator/Qt3DSRenderTestEffectGenerator.cpp index 48346e6..b54178b 100644 --- a/tests/auto/runtime/shadergenerator/Qt3DSRenderTestEffectGenerator.cpp +++ b/tests/auto/runtime/shadergenerator/Qt3DSRenderTestEffectGenerator.cpp @@ -98,10 +98,12 @@ bool GenShader(IQt3DSRenderContext &qt3dsContext, SEffect &effect, qt3dsdm::SMet dynamic::SCommand &command = *metaEffect->m_EffectCommands[i]; if (command.m_Type == dynamic::CommandTypes::Enum::BindShader) { dynamic::SBindShader *bindShader = static_cast<dynamic::SBindShader *>(&command); + QString error; NVRenderShaderProgram *theProgram = qt3dsContext.GetDynamicObjectSystem() .GetShaderProgram(bindShader->m_ShaderPath, bindShader->m_ShaderDefine, - TShaderFeatureSet(), dynamic::SDynamicShaderProgramFlags()) + TShaderFeatureSet(), dynamic::SDynamicShaderProgramFlags(), + error) .first; if (!theProgram) success = false; |