Commit d3119b0a94bbcca59291cc81ec90543fa02b0bb1

Shufen Ma 2025-07-07T09:35:04

Relax shader interface matching for program link ES spec 3.2 section 7.4.1 shader interface matching: With separable program objects, interfaces between shader stages may involve the outputs from one program object and the inputs from a second program object. For such interfaces, it is not possible to detect mismatches at link time, because the programs are linked separately. Before this CL, we are applying the the number of output varying and the number of input varyings must match requirement to both glProgram object as well as glPipelineProgram object which is incorrect. This CL removes such check from Program::linkVaryings. A new function LinkValidateInOutNumberMatching is added to handle the this program pipeline specific spec requirement. Bug: angleproject:424050949 Change-Id: I0d2e4360b37d175b2b998e341f15815915771413 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6704827 Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Shufen Ma <Shufen.Ma@arm.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>