From 1b9d89f86ae4045fad08b2775cdab9dd459c86d3 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Fri, 10 Feb 2017 21:30:50 -0800 Subject: [PATCH] Make program separable in TCS-but-no-TES draw time check test. Section 7.3 of the OpenGL ES 3.2 specification says: "Linking can fail for [...] any of the following reasons: * program contains an object to form a tessellation control shader [...] and [...] the program is not separable and contains no object to form a tessellation evaluation shader" Since the test is trying to check for a draw time error, it should use a separable program - otherwise we may hit a link error. Fixes a bug in: dEQP-GLES31.functional.debug.negative_coverage.*.tessellation.single_tessellation_stage Change-Id: Ida906e21c3e3534fd2a8c7bac0334083881bdb19 --- .../gles31/functional/es31fNegativeTessellationTests.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/gles31/functional/es31fNegativeTessellationTests.cpp b/modules/gles31/functional/es31fNegativeTessellationTests.cpp index e72f48079..fcace4ad4 100644 --- a/modules/gles31/functional/es31fNegativeTessellationTests.cpp +++ b/modules/gles31/functional/es31fNegativeTessellationTests.cpp @@ -120,10 +120,14 @@ void single_tessellation_stage (NegativeTestContext& ctx) makeTessPipelineSources(tcu::StringTemplate(vertexShaderSource).specialize(args), tcu::StringTemplate(fragmentShaderSource).specialize(args), tcu::StringTemplate(tessControlShaderSource).specialize(args), - "")); // missing tessEvalShaderSource + "") // missing tessEvalShaderSource + << glu::ProgramSeparable(true)); tcu::TestLog& log = ctx.getLog(); log << program; + if (!program.isOk()) + TCU_THROW(TestError, "failed to build program"); + ctx.glUseProgram(program.getProgram()); ctx.expectError(GL_NO_ERROR); -- 2.34.1