taskReindeer - Tasks: task #10264, DataBlock automatic data...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

task #10264: DataBlock automatic data unload/reload

Submitter:  Patrik Olsson <peo>
Submitted:  Sat 13 Mar 2010 08:01:53 PM UTC
   
 
Should Start On:  Fri 12 Mar 2010 11:00:00 PM UTC Should be Finished on:  Fri 12 Mar 2010 11:00:00 PM UTC
Category:  libreindeer Priority:  3 - Low
Status:  None Privacy:  Public
Assigned to:  None Percent Complete:  0%
Open/Closed:  Open Planned Release:  None
Effort:  0.00

Sat 13 Mar 2010 08:01:53 PM UTC, original submission:  

It would be nice if DataBlock would unload the data if it is not actively used. For example, OpenGL copies the data to a texture object or buffer object and then does not touch it anymore.

The application would have to register a callback that would reload the data on demand. Registering the callback would activate the feature for a DataBlock instance.

To implement this, there should be a data_ref field in DataBlock. Reindeer modules should use _begin_use when they are actively using the data, and _end_use when they are not anymore. The field data_ref is set to 1 at initialization to avoid repeatedly unload/reload each time a module wants the data only temporarily. The application should do _end_use when they believe it is okay. This is usually after one or a few frames when the data block has been used by all Reindeer contexts that need it.

Applications should only write data in the reload callback, and it must be the exact same data as previously (undefined behavior otherwise). The DataBlock becomes immutable. The reload callback gives the data pointer, the block size and user data (specified on registering the callback).

The use of the feature is only recommended when the data can be relatively quickly reloaded, or where it is known that it is unlikely to be reloaded anyway.

Patrik Olsson <peo>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items

Digest:
   task dependencies.

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by peo (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-03-13 peo Should Start On- 2010-03-12
        Should be Finished on- 2010-03-12
        Dependencies- Depends on task #10265

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code