Add changelog

This commit is contained in:
fincs 2015-08-22 13:46:22 +02:00
parent 011668baef
commit 8366ecf660
3 changed files with 17 additions and 1 deletions

13
Changelog.md Normal file
View File

@ -0,0 +1,13 @@
# picasso Changelog
# v2.0
- (**Breaking change**) Command line format changed.
- Added support for assembling multiple shaders (DVLEs) into a single SHBIN.
- Added new directives: `.entry`, `.nodvle`, `.setf`, `.seti`, `.setb`.
- Added auto-detection of inverted forms of opcodes. (Explicitly using `dphi`, `sgei`, `slti` and `madi` is now deprecated)
- Several miscellaneous bug fixes.
# v1.0
- Initial release.

View File

@ -64,12 +64,16 @@ Options:
-h, --header=<file> Specifies the name of the header file to generate
```
DVLEs are generated in the same order as the files in the command line.
## Linking Model
`picasso` takes one or more source code files, and assembles them into a single `.shbin` file. A DVLE object is generated for each source code file, unless the `.nodvle` directive is used (see below). Procedures are shared amongst all source code files, and they may be defined and called wherever. Uniform space is also shared, that is, if two source code files declare the same uniform, they are assigned the same location. Constants however are not shared, and the same space is reused for the constants of each DVLE. Outputs and aliases are necessarily not shared either.
The entry point of a DVLE may be set with the `.entry` directive. If this directive is not used, `main` is assumed as the entrypoint.
A DVLE is marked by default as a vertex shader, unless `setemit` is used (in the case of which a geometry shader is assumed).
Uniforms that start with the underscore (`_`) character are not exposed in the DVLE table of uniforms. This allows for creating private uniforms that can be internally used to configure the behaviour of shared procedures.
## Supported Directives

View File

@ -7,7 +7,6 @@
static const char* curFile = NULL;
static int curLine = -1;
bool g_isGeoShader = false;
std::vector<u32> g_outputBuf;
StackEntry g_stack[MAX_STACK];