Summary: | [HSW,BDW,SKL][GLES 3.1 CTS] ES31-CTS.vertex_attrib_binding.advanced-bindingUpdate fail | ||
---|---|---|---|
Product: | Mesa | Reporter: | Marta Löfstedt <marta.lofstedt> |
Component: | Drivers/DRI/i965 | Assignee: | Samuel Iglesias Gonsálvez <siglesias> |
Status: | RESOLVED FIXED | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 92778, 93319 |
Description
Marta Löfstedt
2015-12-10 12:14:57 UTC
Values set by vert attrib is compared to values set by ProgramUniform. If they don't match (1,1,1,1) is set to out color. The programuniform values appear to be correct, but the vert attrib values are not correct. They are correct in the vertex shader, but in the fragshader the values are offset. For example in vs: layout(location = 3) in uvec3 vs_in_data0; layout(location = 4) in ivec2 vs_in_data1 flat out uvec3 data0; flat out ivec2 data1; here value are correct. However in fs: flat in uvec3 data0; flat in ivec2 data1 data0 is offset such that data0' = {data0.y, data0.z, data1.x} Also, note that we get: "Mesa: User error: GL_INVALID_OPERATION in glValidateProgramPipeline failed to validate the pipeline" , since inputs != outputs in: "static bool validate_io(const struct gl_shader *producer, const struct gl_shader *consumer, bool isES)" in shader_query.cpp With Samuel patch: http://patchwork.freedesktop.org/patch/70474/ on top of mesa git@f4ab7340ca The: ES31-CTS.vertex_attrib_binding.advanced-bindingUpdate will pass. Pushed to master as commit 781d2787bc1cf975757a95d0d9324f734fa61c09 I am marking this bug as fixed. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.