Summary: | [GLSL] matrix operation broken | ||
---|---|---|---|
Product: | Mesa | Reporter: | jiajia <jiajia.zheng> |
Component: | Drivers/DRI/i965 | Assignee: | Ian Romanick <idr> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | shuang.he, vlee |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
matrix_operation.shader_test
matrix_operation.shader_test |
Description
jiajia
2010-11-30 00:47:21 UTC
Created attachment 40659 [details]
matrix_operation.shader_test
Created attachment 40660 [details]
matrix_operation.shader_test
sorry, typo in previous attachment. Please use this one.
I was only able to reproduce this using the i965 driver. swrast and i915 do not exhibit this failure. increasing priority, as this impacts many matrix tests. I debugged this a bit more. It looks like fs_visitor::visit(ir_constant *ir) in brw_fs.cpp isn't handling matrices, arrays, or structures correctly. Hacking this up to handle matrices fixes this bug, but this particular problem may affect other tests. I'll come up with a full fix soon. I added piglit tests glsl-const-initializer-0[123] to reproduce this set of errors. We could use a better for the structure case. Right now the structures get split out, and the new code in brw_fs.cpp is never executed. commit 6848e27e1462e98dd91826a06f96c203c9eeebd0 Author: Ian Romanick <ian.d.romanick@intel.com> Date: Tue Dec 7 14:50:34 2010 -0800 i965: Correctly emit constants for aggregate types (array, matrix, struct) Previously the code only handled scalars and vectors. This new code is modeled somewhat after similar code in ir_to_mesa. Reviewed-by: Eric Anholt <eric@anholt.net> *** Bug 32201 has been marked as a duplicate of this bug. *** verified *** Bug 30915 has been marked as a duplicate of this bug. *** |
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.