David Piuva e3f9cc969e Updated an outdated comment in SafePointer and explained the purpose behind the additional members. 1 день назад
..
DFPSR e3f9cc969e Updated an outdated comment in SafePointer and explained the purpose behind the additional members. 1 день назад
SDK dad5bd1b38 Starting Music SDK example in the application folder, because it would not find the wave file from a different directory. 1 неделя назад
soundManagers 73ed86cc59 Removed unused variable from AlsaSound.cpp. 9 месяцев назад
templates 671cd45c4e Simplified build wrappers for template projects. 8 месяцев назад
test d3aecccfb7 Replaced " to " with ".." for character ranges, because forgetting conversion to " TO " was the most common error when tests failed. 1 месяц назад
tools 11a84ab32c Replaced int with int32_t and made some declarations static. 1 неделя назад
windowManagers af922b5b4e Fixed contradictory type from automatic text replacement in X11 wrapper. 1 неделя назад
README.md 321fddf72b Getting cache line width using system APIs. 1 год назад
check.sh 15d1526231 Cleaned up the code a bit using cppcheck. 11 месяцев назад

README.md

Source folder

The source folder contains the framework, system dependent backends, code examples and tools.

System dependent code

Some of the code depends on different hardware and operating systems to abstract them away.

  • Source/DFPSR/api/fileAPI: The file API is implemented to hande file access on different operating systems.

  • Source/DFPSR/base/simd.h: The simd.h header is a SIMD abstraction layer that works without SIMD but can become faster for specific processor architectures by implementing the features.

  • Source/DFPSR/base/heap.cpp: The getCacheLineSize function depends on the operating system to get the cache line width for memory alignment, because aligning with cache lines is needed for thread safety and getting cache line width directly from hardware would require contemporary inline assembler hacks that will not work for future generations of hardware.

  • Source/windowManagers: Contains the integrations for displaying graphics and getting mouse and keyboard input on specific operating systems. These are selected based on the operating system in Source/DFPSR/DFPSR.DsrHead

  • Source/soundManagers: Contains the integrations for sound on specific operating systems. These are selected based on the operating system in Source/DFPSR/DFPSR.DsrHead