X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=external%2Fvulkancts%2Fmodules%2Fvulkan%2Fshaderexecutor%2FvktShaderBuiltinPrecisionTests.cpp;h=22106d7d9c333d8beb48c2061188d194547d85a9;hb=dac35f616a6949e44c7b24b43287d397bee609cd;hp=ea060c4656f5ec8cf3c4706fe07c6781a8fb57a8;hpb=a2c0c6be9d0cad1740e7fb69b07edabed00c2e42;p=platform%2Fupstream%2FVK-GL-CTS.git diff --git a/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp b/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp index ea060c4..22106d7 100644 --- a/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp +++ b/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp @@ -1064,10 +1064,10 @@ const ExprP& voidP (void) template struct Tuple4 { - explicit Tuple4 (const T0& e0 = T0(), - const T1& e1 = T1(), - const T2& e2 = T2(), - const T3& e3 = T3()) + explicit Tuple4 (const T0 e0 = T0(), + const T1 e1 = T1(), + const T2 e2 = T2(), + const T3 e3 = T3()) : a (e0) , b (e1) , c (e2) @@ -4360,27 +4360,27 @@ class BuiltinPrecisionCaseTestInstance : public TestInstance { public: BuiltinPrecisionCaseTestInstance (Context& context, - const CaseContext caseCtx, - ShaderExecutor& executor, - const Variables variables, - const Samplings& samplings, - const StatementP stmt) + const CaseContext caseCtx, + const ShaderSpec& shaderSpec, + const Variables variables, + const Samplings& samplings, + const StatementP stmt) : TestInstance (context) , m_caseCtx (caseCtx) - , m_executor (executor) , m_variables (variables) , m_samplings (samplings) , m_stmt (stmt) + , m_executor (createExecutor(context, caseCtx.shaderType, shaderSpec)) { } virtual tcu::TestStatus iterate (void); protected: CaseContext m_caseCtx; - ShaderExecutor& m_executor; Variables m_variables; const Samplings& m_samplings; StatementP m_stmt; + de::UniquePtr m_executor; }; template @@ -4440,7 +4440,7 @@ tcu::TestStatus BuiltinPrecisionCaseTestInstance::iterate (void) default: break; } - m_executor.execute(m_context, int(numValues), inputArr, outputArr); + m_executor->execute(int(numValues), inputArr, outputArr); // Initialize environment with dummy values so we don't need to bind in inner loop. { @@ -4576,13 +4576,12 @@ protected: : TestCase (context.testContext, name.c_str(), name.c_str()) , m_ctx (context) , m_extension (extension) - , m_executor (DE_NULL) { } virtual void initPrograms (vk::SourceCollections& programCollection) const { - m_executor->setShaderSources(programCollection); + generateSources(m_ctx.shaderType, m_spec, programCollection); } const FloatFormat& getFormat (void) const { return m_ctx.floatFormat; } @@ -4596,10 +4595,9 @@ protected: return Symbol(variable.getName(), getVarTypeOf(m_ctx.precision)); } - CaseContext m_ctx; - const string m_extension; - ShaderSpec m_spec; - de::MovePtr m_executor; + CaseContext m_ctx; + const string m_extension; + ShaderSpec m_spec; }; template @@ -4640,8 +4638,6 @@ void PrecisionCase::testStatement (const Variables& variables, const St } m_spec.source = de::toString(stmt); - - m_executor = de::MovePtr(createExecutor(m_ctx.shaderType, m_spec)); } template @@ -4836,7 +4832,7 @@ public: virtual TestInstance* createInstance (Context& context) const { - return new BuiltinPrecisionCaseTestInstance(context, m_ctx, *m_executor, m_variables, getSamplings(), m_stmt); + return new BuiltinPrecisionCaseTestInstance(context, m_ctx, m_spec, m_variables, getSamplings(), m_stmt); } protected: @@ -4890,7 +4886,7 @@ public: } virtual TestInstance* createInstance (Context& context) const { - return new BuiltinPrecisionCaseTestInstance(context, m_ctx, *m_executor, m_variables, getSamplings(), m_stmt); + return new BuiltinPrecisionCaseTestInstance(context, m_ctx, m_spec, m_variables, getSamplings(), m_stmt); } protected: