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

Submitted by:  Patrik Olsson <peo>
Submitted on:  Sat 13 Mar 2010 08:01:53 PM UTC  
Should Start On: Fri 12 Mar 2010 11:00:00 PM UTCShould be Finished on: Fri 12 Mar 2010 11:00:00 PM UTC
Category: libreindeerPriority: 3 - Low
Status: NonePrivacy: Public
Percent Complete: 0%Assigned to: None
Open/Closed: OpenPlanned 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>
Project Administrator


No files currently attached


Depends on the following items

   task dependencies.

Items that depend on this one: None found


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

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 13 Mar 2010 08:37:21 PM UTCpeoShould Start On-=>Fri 12 Mar 2010 11:00:00 PM UTC
      Should be Finished on-=>Fri 12 Mar 2010 11:00:00 PM UTC
      Dependencies-=>Depends on task #10265

    Back to the top

    Powered by Savane 3.1-cleanup1