Commit 3237f759 by Luc Ferron Committed by Commit Bot

Vulkan: Fix issue when a sampler2D was not used in FS or VS

Bug: angleproject:2675 Change-Id: Idbf2590a763fd7b81d2bcc5850180a1bb931360e Reviewed-on: https://chromium-review.googlesource.com/1108490Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org>
parent cd70aa42
......@@ -237,22 +237,14 @@ gl::LinkResult GlslangWrapper::linkProgram(const gl::Context *glContext,
if (samplerUniform.isActive(gl::ShaderType::Vertex))
{
InsertLayoutSpecifierString(&vertexSource, samplerName, setBindingString);
InsertQualifierSpecifierString(&vertexSource, samplerName, kUniformQualifier);
}
else
{
InsertQualifierSpecifierString(&vertexSource, samplerName, "");
}
InsertQualifierSpecifierString(&vertexSource, samplerName, kUniformQualifier);
if (samplerUniform.isActive(gl::ShaderType::Fragment))
{
InsertLayoutSpecifierString(&fragmentSource, samplerName, setBindingString);
InsertQualifierSpecifierString(&fragmentSource, samplerName, kUniformQualifier);
}
else
{
InsertQualifierSpecifierString(&fragmentSource, samplerName, "");
}
InsertQualifierSpecifierString(&fragmentSource, samplerName, kUniformQualifier);
textureCount++;
}
......
......@@ -1824,6 +1824,30 @@ TEST_P(GLSLTest, TextureLOD)
glDeleteShader(shader);
}
// Test to verify the compilation of a shader that would have a sampler unused in a vertex shader
// but used in the fragment shader.
TEST_P(GLSLTest, VerifySamplerInBothVertexAndFragmentShaders)
{
const std::string vs =
R"(precision mediump float;
uniform sampler2D s_texture;
void main()
{
gl_Position = vec4(1.0, 1.0, 1.0, 1.0);
})";
const std::string fs =
R"(precision mediump float;
uniform sampler2D s_texture;
void main()
{
gl_FragColor = texture2D(s_texture, vec2(0.0, 0.0));
})";
GLuint program = CompileProgram(vs, fs);
EXPECT_NE(0u, program);
}
// Test that two constructors which have vec4 and mat2 parameters get disambiguated (issue in
// HLSL).
TEST_P(GLSLTest_ES3, AmbiguousConstructorCall2x2)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment