|
Beatmup
|
Stores references to GPU resources that will not be used anymore and needed to be recycled in a thread having access to the GPU. More...
#include <recycle_bin.h>
Classes | |
| class | Item |
| A wrapper for a GPU resource. More... | |
Public Member Functions | |
| RecycleBin (Context &ctx) | |
| ~RecycleBin () | |
| void | put (Item *item) |
| Puts an item into the recycle bin. More... | |
| void | put (std::initializer_list< Item * > items) |
| Puts items into the recycle bin. More... | |
| void | emptyBin () |
| Empty the bin destroying all the items in a GPU-aware thread. More... | |
Public Member Functions inherited from Beatmup::LockableObject | |
| void | lock () |
| void | unlock () |
Public Member Functions inherited from Beatmup::Object | |
| virtual | ~Object () |
Private Attributes | |
| std::vector< Item * > | items |
| Context & | ctx |
| AbstractTask * | recycler |
Stores references to GPU resources that will not be used anymore and needed to be recycled in a thread having access to the GPU.
GPU resources such as texture handles generally cannot be destroyed in a user thread due to OpenGL API restrictions. They are kept in a RecycleBin until the application empties it, which launches a task running in the thread that can access the GPU.
Definition at line 34 of file recycle_bin.h.
| RecycleBin::RecycleBin | ( | Context & | ctx | ) |
Definition at line 63 of file recycle_bin.cpp.
| RecycleBin::~RecycleBin | ( | ) |
Definition at line 68 of file recycle_bin.cpp.
| void RecycleBin::put | ( | RecycleBin::Item * | item | ) |
| void RecycleBin::put | ( | std::initializer_list< Item * > | items | ) |
Puts items into the recycle bin.
Definition at line 82 of file recycle_bin.cpp.
| void RecycleBin::emptyBin | ( | ) |
Empty the bin destroying all the items in a GPU-aware thread.
Definition at line 91 of file recycle_bin.cpp.
|
private |
Definition at line 48 of file recycle_bin.h.
|
private |
Definition at line 49 of file recycle_bin.h.
|
private |
Definition at line 50 of file recycle_bin.h.