<!--Copyright (c) 2019 The Khronos Group Inc.Use of this source code is governed by an MIT-style license that can befound in the LICENSE.txt file.--><!DOCTYPE html><html><head><metacharset="utf-8"><title>Negative tests for writting to a shader input with interpolation qualifier</title><linkrel="stylesheet"href="../../resources/js-test-style.css"/><linkrel="stylesheet"href="../../resources/glsl-feature-tests.css"/><scriptsrc="../../js/js-test-pre.js"></script><scriptsrc="../../js/webgl-test-utils.js"></script><scriptsrc="../../js/glsl-conformance-test.js"></script></head><body><divid="description"></div><divid="console"></div><!--According to ESSL 3.00.6 section 4.3.4:"Variables declared as in or centroid in may not be written to during shader execution.",these tests ensure that a compile error is generated when using a shader input with interpolation qualifier as l-value.--><scripttype="application/javascript">"use strict";description();varvertexShaderTemplate=['#version 300 es','$(InterpolationQualifier) out float v_float_varying;','void main()','{',' v_float_varying = 1.0;',' gl_Position = vec4(0.0, 0.0, 0.0, 1.0);','}'].join('\n');varfragmentShaderTemplate=['#version 300 es','precision mediump float;','$(InterpolationQualifier) in float v_float_varying;','out vec4 my_color;','void main()','{',' v_float_varying = 1.0;',' my_color = vec4(1.0, 0.0, 0.0, v_float_varying);','}'].join('\n');varerrorMessageTemplate="Writting to shader inputs with '$(InterpolationQualifier)' qualifier must fail";vartestDataList=[{InterpolationQualifier:'flat'},{InterpolationQualifier:'smooth'},{InterpolationQualifier:'centroid'}];varwtu=WebGLTestUtils;vartests=[];for(vari=0;i<testDataList.length;++i){tests.push({vShaderSource:wtu.replaceParams(vertexShaderTemplate,testDataList[i]),vShaderSuccess:true,fShaderSource:wtu.replaceParams(fragmentShaderTemplate,testDataList[i]),fShaderSuccess:false,linkSuccess:false,passMsg:wtu.replaceParams(errorMessageTemplate,testDataList[i])});}GLSLConformanceTester.runTests(tests,2);</script></body></html>