mirror of
				https://github.com/nicbarker/clay.git
				synced 2025-11-04 00:26:17 +00:00 
			
		
		
		
	[Core] Fix case where there could be 64 extra bytes of padding between arrays in clays internal arena
This commit is contained in:
		
							parent
							
								
									b9e27178c0
								
							
						
					
					
						commit
						c524485c46
					
				
							
								
								
									
										2
									
								
								clay.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								clay.h
									
									
									
									
									
								
							| 
						 | 
					@ -3819,7 +3819,7 @@ Clay__Warning *Clay__WarningArray_Add(Clay__WarningArray *array, Clay__Warning i
 | 
				
			||||||
void* Clay__Array_Allocate_Arena(int32_t capacity, uint32_t itemSize, Clay_Arena *arena)
 | 
					void* Clay__Array_Allocate_Arena(int32_t capacity, uint32_t itemSize, Clay_Arena *arena)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    size_t totalSizeBytes = capacity * itemSize;
 | 
					    size_t totalSizeBytes = capacity * itemSize;
 | 
				
			||||||
    uintptr_t nextAllocOffset = arena->nextAllocation + (64 - (arena->nextAllocation % 64));
 | 
					    uintptr_t nextAllocOffset = arena->nextAllocation + ((64 - (arena->nextAllocation % 64)) & 63);
 | 
				
			||||||
    if (nextAllocOffset + totalSizeBytes <= arena->capacity) {
 | 
					    if (nextAllocOffset + totalSizeBytes <= arena->capacity) {
 | 
				
			||||||
        arena->nextAllocation = nextAllocOffset + totalSizeBytes;
 | 
					        arena->nextAllocation = nextAllocOffset + totalSizeBytes;
 | 
				
			||||||
        return (void*)((uintptr_t)arena->memory + (uintptr_t)nextAllocOffset);
 | 
					        return (void*)((uintptr_t)arena->memory + (uintptr_t)nextAllocOffset);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue