53 lines
3.5 KiB
Markdown
53 lines
3.5 KiB
Markdown
![]() |
# Changelog
|
||
|
|
||
|
## Version 1.0.0
|
||
|
|
||
|
* New features:
|
||
|
- libctru documentation is now available at http://smealum.github.io/ctrulib/
|
||
|
- Added the NDSP API, which allows the use of the DSP (audio).
|
||
|
- Added Inter Process Communication helpers.
|
||
|
- Added Result code helpers.
|
||
|
- Added support for lightweight synchronization primitives.
|
||
|
- Added support for making the C/C++ standard libraries thread safe.
|
||
|
- Added support for thread-local objects, with the use of standard C and C++ constructs (or GCC extensions).
|
||
|
- Added a new threading API that properly manages internal state. Direct usage of svcCreateThread is deprecated.
|
||
|
- Added a mappable address space allocator. Services which need to map shared memory blocks now use this allocator.
|
||
|
- Added support for embedded RomFS, embedded SMDH and GPU shader building in the template Makefiles.
|
||
|
|
||
|
* Changes and additions to the GPU code:
|
||
|
- Stateless wrapper functions (GPU_*) that merely masked GPU register usage were deprecated, in favour of external GPU wrapper libraries such as citro3d. A future release of libctru may remove them.
|
||
|
- The API set has therefore been simplified down to command list management.
|
||
|
- Synchronized register names with the 3dbrew Wiki.
|
||
|
- Added fragment lighting registers and enums.
|
||
|
- Added procedural texture registers and enums.
|
||
|
- Added shaderProgramSetGshInputPermutation, for configuring the wiring between the vertex shader and the geometry shader.
|
||
|
- Added shaderProgramSetGshMode, for configuring the geometry shader operation mode.
|
||
|
- Added shaderProgramConfigure, intended to be used by GPU wrapper libraries.
|
||
|
- SHBIN/shaderProgram code now correctly computes and sets the values of the GPUREG_SH_OUTATTR_MODE/CLOCK registers.
|
||
|
- GX function naming has been improved, and the initial GX command buffer parameter has been removed.
|
||
|
|
||
|
* Major changes and miscellaneous additions:
|
||
|
- Sweeping changes to make function/structure/enum naming more consistent across the whole library. This affects a lot of code.
|
||
|
- Compiler/linker flags have been tweaked to increase performance and reduce code size, through the garbage collection of unused functions.
|
||
|
- Service initialization is now reference counted in order to properly manage dependencies.
|
||
|
- Initial service handle parameters have been removed, since they were nearly always set to NULL.
|
||
|
- Completed coverage of srv and FSUSER service calls.
|
||
|
- Added fsUseSession and fsEndUseSession for overriding the FSUSER session used in commands in the current thread.
|
||
|
- Added osGet3DSliderState, osSetSpeedupEnable, osGetSystemVersionData and osGetSystemVersionDataString.
|
||
|
- Refactored the MICU service.
|
||
|
- NCCH versions of applications now detect the maximum amount of available memory on startup.
|
||
|
|
||
|
* Miscellaneous changes and bug fixes:
|
||
|
- Commits and pull requests are now built on travis to check that the library compiles, and to generate the documentation.
|
||
|
- General changes and improvements to overall code quality.
|
||
|
- Added the missing struct and functions for Y2R.
|
||
|
- Added srvGetServiceHandleDirect for bypassing the handle override mechanism.
|
||
|
- Usage of the CSND service in new applications is not recommended, however it is not deprecated. The usage of NDSP instead is advised.
|
||
|
- Usage of the HB service in new applications is not recommended due to its necessary removal in hax 2.x, however it is not deprecated.
|
||
|
- Several bugs affecting APT were fixed.
|
||
|
- Several bugs affecting C++ were fixed.
|
||
|
|
||
|
## Version 0 through 0.6.0
|
||
|
|
||
|
No changelog available.
|