Bug 29899 - Handling drawables with self surface dependency
Summary: Handling drawables with self surface dependency
Status: RESOLVED MOVED
Alias: None
Product: Spice
Classification: Unclassified
Component: server (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Spice Bug List
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-31 00:30 UTC by Yonit Halperin
Modified: 2018-06-03 10:15 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Yonit Halperin 2010-08-31 00:30:52 UTC
We need to handle rendering when one of the drawable surfaces_dest is the same surface of the drawable it self. If the dependency is a COPY_BITS one, this is already handled correctly by "shadows" in the "current" trees. However, it is possible, though I didn't observe it, that it won't be a COPY_BITS situtation.

In commit 66a7c4a5e5c01623fd77e4ffc51c244a91d4b3cf, I removed the cyclic dependencies since I thought they were already handled implicitly by COPY_BITS and self_bitmaps, but it is not always the case. Need to check again if the previous solution, which allowed recursions of red_update_area is not buggy.

summary:
red_handle_surfaces_dependencies should add self dependencies that are not
derived from COPY_BITS; and red_update_area and red_update_area_till should be changed to handle correctly self dependencies. Another possible solution may be
to render the problematic surface area when we encounter self dependency in red_process_drawable (and as mentioned, these cases seems rare).
Comment 1 GitLab Migration User 2018-06-03 10:15:47 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/spice/spice-server/issues/23.


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.