| Summary: | Segment fault when Calling DrawArrays | ||
|---|---|---|---|
| Product: | Mesa | Reporter: | haihao <haihao.xiang> |
| Component: | Drivers/DRI/i965 | Assignee: | Eric Anholt <eric> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | high | CC: | mesa-dev |
| Version: | git | ||
| Hardware: | x86 (IA32) | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
| Attachments: |
test case for this bug
Patch to api_arrayelt.c for texture coords in array elements |
||
|
Description
haihao
2006-11-15 01:03:27 UTC
Created attachment 7794 [details]
test case for this bug
In I965 driver, hook function "intel_bufferobj_data" doesn't store data to base buffer object. But hook function "_save_OBE_DrawArrays" supposes it can access these data from base buffer object. Calling fallback routing "_mesa_buffer_data" in "intel_bufferobj_data" will fix this bug, but I don't think this is the best resolution. Interesting. It's true I haven't tested the VBO-inside-displaylist case. I'll take a look. I've commited a patch for this, though I haven't been able to test on 965. The problem is universal however. Please retest. Created attachment 7833 [details] [review] Patch to api_arrayelt.c for texture coords in array elements Unfortunately the fix in CVS doesn't work for me. In particular, the check_vbo() call in the texture coord loop in _ae_update_state() segfaults (the problem is in the second parameter, as aa->array is not initialised). I don't have time to investigate thoroughly now, but here is a patch which seems to help things for me: modifications to check_vbo parameters in two places (which seem like what were intended based on cursory inspection), and commenting out two assertions (which is probably symptomatic of deeper problems and needs to be looked into more closely). OK, another round of fixes has gone in. Please retest again... Original testcase is working in Mesa HEAD on G965. Gary, was your issue when running the original testcase, or something else? It was with something else, but the something else now also works with CVS HEAD. Thanks for the new fixes! Apparently fixed. Mass version move, cvs -> git |
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.