Summary: | piglit ext_transform_feedback-change-size offset-grow regression | ||
---|---|---|---|
Product: | Mesa | Reporter: | Vinson Lee <vlee> |
Component: | Mesa core | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | zackr |
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Vinson Lee
2013-05-03 01:48:31 UTC
Unfortunately, this is not a regression. We were over overflowing without the patch, now we're simply correctly computing the overflow. Mesa's transformfeedback.c:compute_transform_feedback_buffer_sizes incorrectly computes size for gallium's so targets: in particular it does: GLsizeiptr available_space = buffer_size <= offset ? 0 : buffer_size - offset; computed_size = available_space; and returns that as the size of the buffer. Then when setting gallium stream output targets it sets the computed_size as the new buffer size and then it also sets the same offset it used when computing the computed_size. So essentially for gallium: buffer_size = buffer_size - offset offset = offset which means that gallium's stream output target's buffer size is always 'offset' less than it should be. I'm not going to have time to fix this right now.. Actually I was wrong, gallium lies about the naming of the buffer_size variable, it's actually available_space. Patch sent for a review. mesa: f3bbf65929e395360e5565d08d015977dd5b79fa (master) piglit ext_transform_feedback-change-size offset-grow now passes with latest master. |
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.