X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=modules%2Fgles31%2Ffunctional%2Fes31fProgramInterfaceDefinitionUtil.cpp;h=c31d7540678773efdb51a7f237a3cf201de14918;hb=32f90d863cb1c9179ff1f0feaba2170466de63fa;hp=d37ecaed58776c63d32cde7843f4c4f04ce1d493;hpb=10374df5c40fea78600d60576ac1a33dff430cf7;p=platform%2Fupstream%2FVK-GL-CTS.git diff --git a/modules/gles31/functional/es31fProgramInterfaceDefinitionUtil.cpp b/modules/gles31/functional/es31fProgramInterfaceDefinitionUtil.cpp index d37ecae..c31d754 100644 --- a/modules/gles31/functional/es31fProgramInterfaceDefinitionUtil.cpp +++ b/modules/gles31/functional/es31fProgramInterfaceDefinitionUtil.cpp @@ -1475,6 +1475,21 @@ std::vector getProgramInterfaceResourceList (const ProgramInterface return resources; } +/** + * Name of the dummy uniform added by generateProgramInterfaceProgramSources + * + * A uniform named "dummyZero" is added by + * generateProgramInterfaceProgramSources. It is used in expressions to + * prevent various program resources from being eliminated by the GLSL + * compiler's optimizer. + * + * \sa deqp::gles31::Functional::ProgramInterfaceDefinition::generateProgramInterfaceProgramSources + */ +const char* getDummyZeroUniformName() +{ + return "dummyZero"; +} + glu::ProgramSources generateProgramInterfaceProgramSources (const ProgramInterfaceDefinition::Program* program) { glu::ProgramSources sources; @@ -1513,9 +1528,10 @@ glu::ProgramSources generateProgramInterfaceProgramSources (const ProgramInterfa // Use inputs and outputs so that they won't be removed by the optimizer - usageBuf << "highp vec4 readInputs()\n" + usageBuf << "highp uniform vec4 " << getDummyZeroUniformName() << "; // Default value is vec4(0.0).\n" + "highp vec4 readInputs()\n" "{\n" - " highp vec4 retValue = vec4(0.0);\n"; + " highp vec4 retValue = " << getDummyZeroUniformName() << ";\n"; // User-defined inputs