Summary: | [855GM i915] GL_LINE_STIPPLE displays incorrect colors | ||
---|---|---|---|
Product: | Mesa | Reporter: | nick |
Component: | Drivers/DRI/i915 | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Improper output. Lines should be purple.
Makefile for test case Test case to demonstrate line stipple Improper output Screenshot. Lines should both be purple. Xorg Log Proposed patch to resolve issue |
Created attachment 34726 [details]
Makefile for test case
Created attachment 34727 [details]
Test case to demonstrate line stipple
Created attachment 34728 [details]
Improper output Screenshot. Lines should both be purple.
Created attachment 34729 [details]
Xorg Log
This change in the swrast_setup seems to fix the issue. The color data is being incorrectly loaded from a position attribute. File: mesa/swrast_setup/ss_context.c Function: void _swsetup_Translate(GLcontext *ctx, const void *vertex, SWvertex *dest) Replace _tnl_get_attr( ctx, vertex, _TNL_ATTRIB_COLOR0, dest->attrib[FRAG_ATTRIB_COL0] ); UNCLAMPED_FLOAT_TO_RGBA_CHAN( dest->color, tmp ); _tnl_get_attr( ctx, vertex, _TNL_ATTRIB_COLOR1, dest->attrib[FRAG_ATTRIB_COL1]); With: tnl_get_attr( ctx, vertex, _TNL_ATTRIB_COLOR0, dest->attrib[FRAG_ATTRIB_COL0] ); UNCLAMPED_FLOAT_TO_RGBA_CHAN( dest->color, dest->attrib[FRAG_ATTRIB_COL0] ); _tnl_get_attr( ctx, vertex, _TNL_ATTRIB_COLOR1, dest->attrib[FRAG_ATTRIB_COL1]); This issue is affecting a hardware component which is not being actively worked on anymore. Moving the assignee to the dri-devel list as contact, to give this issue a better coverage. Created attachment 51022 [details] [review] Proposed patch to resolve issue Straightforward fix to properly load dest->color with color data, as opposed to position data as previously implemented. Fixed w/ commit 15c92464df07c5c0bb23a007358c560faeab76a8. |
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.
Created attachment 34725 [details] Improper output. Lines should be purple. Kernel Gentoo 2.6.31-gentoo-r10 Intel_drv.so module version 2.11.0 Xorg X Server 1.7.6 OpenGL renderer string: Mesa DRI Intel(R) 852GM/855GM GEM 20091221 2009Q4 x86/MMX/SSE2 OpenGL version string: 1.3 Mesa 7.7.1 Trying to resolve an issue with stippled line drawing on an embedded x86 855GM platform. Rendering seems to fallback to calls to the software rasterizer, but the current line color is ignored. Disabling direct rendering resolves the issue. Use of Intel specific Mesa environment variables does not resolve the issue. Will attach a simple test case to demonstrate. This behavior was also present on Xorg Server 1.6 and Mesa 7.5.