Cleanup: Specify amount of buffers through preprocessor directives

This commit is contained in:
Germano Cavalcante 2021-05-26 21:28:05 -03:00 committed by Germano Cavalcante
parent e5b51cb511
commit 6fc9ec9257
2 changed files with 11 additions and 7 deletions

View File

@ -264,6 +264,10 @@ typedef struct MeshBatchCache {
bool no_loose_wire;
} MeshBatchCache;
#define MBC_BATCH_LEN (sizeof(((MeshBatchCache){0}).batch) / sizeof(void *))
#define MBC_VBO_LEN (sizeof(((MeshBufferCache){0}).vbo) / sizeof(void *))
#define MBC_IBO_LEN (sizeof(((MeshBufferCache){0}).ibo) / sizeof(void *))
void mesh_buffer_cache_create_requested(struct TaskGraph *task_graph,
MeshBatchCache *cache,
MeshBufferCache mbc,

View File

@ -1160,25 +1160,25 @@ static void drw_mesh_batch_cache_check_available(struct TaskGraph *task_graph, M
* some issues (See T77867 where we needed to disable this function in order to debug what was
* happening in release builds). */
BLI_task_graph_work_and_wait(task_graph);
for (int i = 0; i < sizeof(cache->batch) / sizeof(void *); i++) {
for (int i = 0; i < MBC_BATCH_LEN; i++) {
BLI_assert(!DRW_batch_requested(((GPUBatch **)&cache->batch)[i], 0));
}
for (int i = 0; i < sizeof(cache->final.vbo) / sizeof(void *); i++) {
for (int i = 0; i < MBC_VBO_LEN; i++) {
BLI_assert(!DRW_vbo_requested(((GPUVertBuf **)&cache->final.vbo)[i]));
}
for (int i = 0; i < sizeof(cache->final.ibo) / sizeof(void *); i++) {
for (int i = 0; i < MBC_IBO_LEN; i++) {
BLI_assert(!DRW_ibo_requested(((GPUIndexBuf **)&cache->final.ibo)[i]));
}
for (int i = 0; i < sizeof(cache->cage.vbo) / sizeof(void *); i++) {
for (int i = 0; i < MBC_VBO_LEN; i++) {
BLI_assert(!DRW_vbo_requested(((GPUVertBuf **)&cache->cage.vbo)[i]));
}
for (int i = 0; i < sizeof(cache->cage.ibo) / sizeof(void *); i++) {
for (int i = 0; i < MBC_IBO_LEN; i++) {
BLI_assert(!DRW_ibo_requested(((GPUIndexBuf **)&cache->cage.ibo)[i]));
}
for (int i = 0; i < sizeof(cache->uv_cage.vbo) / sizeof(void *); i++) {
for (int i = 0; i < MBC_VBO_LEN; i++) {
BLI_assert(!DRW_vbo_requested(((GPUVertBuf **)&cache->uv_cage.vbo)[i]));
}
for (int i = 0; i < sizeof(cache->uv_cage.ibo) / sizeof(void *); i++) {
for (int i = 0; i < MBC_IBO_LEN; i++) {
BLI_assert(!DRW_ibo_requested(((GPUIndexBuf **)&cache->uv_cage.ibo)[i]));
}
}