|
@@ -311,8 +311,7 @@ class CommandQueueMT {
|
|
|
/***** BASE *******/
|
|
|
|
|
|
enum {
|
|
|
- COMMAND_MEM_SIZE_KB = 256,
|
|
|
- COMMAND_MEM_SIZE = COMMAND_MEM_SIZE_KB * 1024,
|
|
|
+ DEFAULT_COMMAND_MEM_SIZE_KB = 256,
|
|
|
SYNC_SEMAPHORES = 8
|
|
|
};
|
|
|
|
|
@@ -320,6 +319,7 @@ class CommandQueueMT {
|
|
|
uint32_t read_ptr;
|
|
|
uint32_t write_ptr;
|
|
|
uint32_t dealloc_ptr;
|
|
|
+ uint32_t command_mem_size;
|
|
|
SyncSemaphore sync_sems[SYNC_SEMAPHORES];
|
|
|
Mutex *mutex;
|
|
|
Semaphore *sync;
|
|
@@ -345,7 +345,7 @@ class CommandQueueMT {
|
|
|
} else {
|
|
|
// ahead of dealloc_ptr, check that there is room
|
|
|
|
|
|
- if ((COMMAND_MEM_SIZE - write_ptr) < alloc_size + sizeof(uint32_t)) {
|
|
|
+ if ((command_mem_size - write_ptr) < alloc_size + sizeof(uint32_t)) {
|
|
|
// no room at the end, wrap down;
|
|
|
|
|
|
if (dealloc_ptr == 0) { // don't want write_ptr to become dealloc_ptr
|
|
@@ -358,7 +358,7 @@ class CommandQueueMT {
|
|
|
}
|
|
|
|
|
|
// if this happens, it's a bug
|
|
|
- ERR_FAIL_COND_V((COMMAND_MEM_SIZE - write_ptr) < 8, NULL);
|
|
|
+ ERR_FAIL_COND_V((command_mem_size - write_ptr) < 8, NULL);
|
|
|
// zero means, wrap to beginning
|
|
|
|
|
|
uint32_t *p = (uint32_t *)&command_mem[write_ptr];
|