/* ** Sample Framework for deko3d Applications ** FileLoader.cpp: Helpers for loading data from the filesystem directly into GPU memory */ #include "FileLoader.h" CMemPool::Handle LoadFile(CMemPool& pool, const char* path, uint32_t alignment) { FILE *f = fopen(path, "rb"); if (!f) return nullptr; fseek(f, 0, SEEK_END); uint32_t fsize = ftell(f); rewind(f); CMemPool::Handle mem = pool.allocate(fsize, alignment); if (!mem) { fclose(f); return nullptr; } fread(mem.getCpuAddr(), fsize, 1, f); fclose(f); return mem; }