Lines Matching refs:dirty

71  * struct vmw_surface_dirty - Surface dirty-tracker
74 * @boxes: Array of SVGA3dBoxes indicating dirty regions. One per subresource.
524 * backup buffer is dirty.
542 * @readback: Readback - only true if dirty
663 WARN_ON_ONCE(res->dirty);
1203 if (res->guest_memory_bo->dirty && res->guest_memory_dirty) {
1204 /* We've just made a full upload. Cear dirty regions. */
1654 * vmw_subres_dirty_add - Add a dirty region to a subresource
1655 * @dirty: The surfaces's dirty tracker.
1665 static void vmw_subres_dirty_add(struct vmw_surface_dirty *dirty,
1669 const struct vmw_surface_cache *cache = &dirty->cache;
1670 SVGA3dBox *box = &dirty->boxes[loc_start->sub_resource];
1675 if (WARN_ON(loc_start->sub_resource >= dirty->num_subres))
1709 * vmw_subres_dirty_full - Mark a full subresource as dirty
1710 * @dirty: The surface's dirty tracker.
1713 static void vmw_subres_dirty_full(struct vmw_surface_dirty *dirty, u32 subres)
1715 const struct vmw_surface_cache *cache = &dirty->cache;
1718 SVGA3dBox *box = &dirty->boxes[subres];
1735 struct vmw_surface_dirty *dirty =
1736 (struct vmw_surface_dirty *) res->dirty;
1743 cache = &dirty->cache;
1753 * fashion, compute the dirty region for each sheet and the
1754 * resulting union. Since this is not a common case, just dirty
1757 for (sub_res = 0; sub_res < dirty->num_subres; ++sub_res)
1758 vmw_subres_dirty_full(dirty, sub_res);
1763 vmw_subres_dirty_add(dirty, &loc1, &loc2);
1770 vmw_subres_dirty_add(dirty, &loc1, &loc_max);
1772 vmw_subres_dirty_add(dirty, &loc_min, &loc2);
1775 vmw_subres_dirty_full(dirty, sub_res);
1786 struct vmw_surface_dirty *dirty =
1787 (struct vmw_surface_dirty *) res->dirty;
1788 const struct vmw_surface_cache *cache = &dirty->cache;
1790 SVGA3dBox *box = &dirty->boxes[0];
1828 struct vmw_surface_dirty *dirty =
1829 (struct vmw_surface_dirty *) res->dirty;
1831 const struct vmw_surface_cache *cache = &dirty->cache;
1843 for (i = 0; i < dirty->num_subres; ++i) {
1844 const SVGA3dBox *box = &dirty->boxes[i];
1861 for (i = 0; i < dirty->num_subres; ++i) {
1862 const SVGA3dBox *box = &dirty->boxes[i];
1892 memset(&dirty->boxes[0], 0, sizeof(dirty->boxes[0]) *
1893 dirty->num_subres);
1905 struct vmw_surface_dirty *dirty;
1923 dirty_size = struct_size(dirty, boxes, num_subres);
1925 dirty = kvzalloc(dirty_size, GFP_KERNEL);
1926 if (!dirty) {
1934 &dirty->cache);
1938 dirty->num_subres = num_subres;
1939 res->dirty = (struct vmw_resource_dirty *) dirty;
1944 kvfree(dirty);
1954 struct vmw_surface_dirty *dirty =
1955 (struct vmw_surface_dirty *) res->dirty;
1957 kvfree(dirty);
1958 res->dirty = NULL;