Add an additional meaning to the "dirty" flag. Now, if !dirty && !area, the
pixmaps's contents are undefined, so we won't need to upload the
undefined contents in MoveIn. Use the ExaCheck* for async ops as well,
so that dirty is always tracked. While the performance impact for my ls
-lR test was not significant (though the avoiding-upload path was being
hit), it's likely to be important for the upcoming Get/PutImage
acceleration from ajax.
This commit is contained in:
@@ -119,8 +119,12 @@ typedef struct {
|
||||
int devKind;
|
||||
DevUnion devPrivate;
|
||||
|
||||
/* True if the in-screen copy has been modified compared to the
|
||||
* system-memory copy.
|
||||
/* If area is NULL, then dirty == TRUE means that the pixmap has been
|
||||
* modified, so the contents are defined. Used to avoid uploads of
|
||||
* undefined data.
|
||||
* If area is non-NULL, then dirty == TRUE means that the in-framebuffer
|
||||
* copy has been changed from the system-memory copy. Used to avoid
|
||||
* downloads of unmodified data.
|
||||
*/
|
||||
Bool dirty;
|
||||
unsigned int size;
|
||||
|
||||
Reference in New Issue
Block a user