Lines Matching refs:dirty

72  * struct vmw_surface_dirty - Surface dirty-tracker
75 * @boxes: Array of SVGA3dBoxes indicating dirty regions. One per subresource.
525 * backup buffer is dirty.
543 * @readback: Readback - only true if dirty
664 WARN_ON_ONCE(res->dirty);
1205 if (res->guest_memory_bo->dirty && res->guest_memory_dirty) {
1206 /* We've just made a full upload. Cear dirty regions. */
1658 * vmw_subres_dirty_add - Add a dirty region to a subresource
1659 * @dirty: The surfaces's dirty tracker.
1669 static void vmw_subres_dirty_add(struct vmw_surface_dirty *dirty,
1673 const struct vmw_surface_cache *cache = &dirty->cache;
1674 SVGA3dBox *box = &dirty->boxes[loc_start->sub_resource];
1679 if (WARN_ON(loc_start->sub_resource >= dirty->num_subres))
1713 * vmw_subres_dirty_full - Mark a full subresource as dirty
1714 * @dirty: The surface's dirty tracker.
1717 static void vmw_subres_dirty_full(struct vmw_surface_dirty *dirty, u32 subres)
1719 const struct vmw_surface_cache *cache = &dirty->cache;
1722 SVGA3dBox *box = &dirty->boxes[subres];
1739 struct vmw_surface_dirty *dirty =
1740 (struct vmw_surface_dirty *) res->dirty;
1747 cache = &dirty->cache;
1757 * fashion, compute the dirty region for each sheet and the
1758 * resulting union. Since this is not a common case, just dirty
1761 for (sub_res = 0; sub_res < dirty->num_subres; ++sub_res)
1762 vmw_subres_dirty_full(dirty, sub_res);
1767 vmw_subres_dirty_add(dirty, &loc1, &loc2);
1774 vmw_subres_dirty_add(dirty, &loc1, &loc_max);
1776 vmw_subres_dirty_add(dirty, &loc_min, &loc2);
1779 vmw_subres_dirty_full(dirty, sub_res);
1790 struct vmw_surface_dirty *dirty =
1791 (struct vmw_surface_dirty *) res->dirty;
1792 const struct vmw_surface_cache *cache = &dirty->cache;
1794 SVGA3dBox *box = &dirty->boxes[0];
1832 struct vmw_surface_dirty *dirty =
1833 (struct vmw_surface_dirty *) res->dirty;
1835 const struct vmw_surface_cache *cache = &dirty->cache;
1847 for (i = 0; i < dirty->num_subres; ++i) {
1848 const SVGA3dBox *box = &dirty->boxes[i];
1865 for (i = 0; i < dirty->num_subres; ++i) {
1866 const SVGA3dBox *box = &dirty->boxes[i];
1896 memset(&dirty->boxes[0], 0, sizeof(dirty->boxes[0]) *
1897 dirty->num_subres);
1909 struct vmw_surface_dirty *dirty;
1927 dirty_size = struct_size(dirty, boxes, num_subres);
1929 dirty = kvzalloc(dirty_size, GFP_KERNEL);
1930 if (!dirty) {
1938 &dirty->cache);
1942 dirty->num_subres = num_subres;
1943 res->dirty = (struct vmw_resource_dirty *) dirty;
1948 kvfree(dirty);
1958 struct vmw_surface_dirty *dirty =
1959 (struct vmw_surface_dirty *) res->dirty;
1961 kvfree(dirty);
1962 res->dirty = NULL;