Commit graph

219 commits

Author SHA1 Message Date
914464811a Refactoring - Ops header renamed 2017-11-15 20:36:08 +01:00
fd0df03428 Refactoring - Compiler & parser moved to separate header 2017-11-15 18:58:37 +01:00
0c9ca6c04e Parser/compiler - Some refactoring 2017-11-15 18:44:34 +01:00
b7f79c11b0 Old code removal, 4/4 2017-11-15 17:24:42 +01:00
af974518cb Old code removal, 3/???
This isn't technically old code, just code I wrote but ended up not
using.
2017-11-15 17:19:40 +01:00
e98f2d831e Old stuff removal, commit 2/??? 2017-11-15 17:18:01 +01:00
f1d7935421 Removed some now-unused code 2017-11-15 17:16:12 +01:00
1d66085483 TODO list updated 2017-11-15 10:04:09 +01:00
1b06f9e299 IT LIVES!!!!!!!!
Ok, so it can display stuff.
2017-11-15 09:46:07 +01:00
210be3a852 Main script runs
Fixed a few more bugs, and now the main script runs without crashing. It
fails to produce any output, however.
2017-11-14 23:44:13 +01:00
3de255aad0 Started using new control code + bugfixes
The program is loaded and its init part is run. Many bugs were fixed in
the process, including various new bugs in the shaders manager.
2017-11-14 22:04:00 +01:00
8a0afc345f Control - Run guard 2017-11-14 17:46:45 +01:00
d5d463fd2c See? Bugs. 2017-11-14 17:42:26 +01:00
c05ab54ca7 Finished implementation of the emulator
It's probably full of bugs so meh
2017-11-14 17:35:13 +01:00
6deb59d884 Control / compiler - Fixed program initialization
Program initialization returns an identifier, unlike the rest
of the initializers which require an allocated GL ID.
2017-11-14 15:37:42 +01:00
96d821828f Shaders - Made it possible to load programs separately 2017-11-14 15:27:25 +01:00
71f6fed1ee Control - All opcodes that do not use assets are done 2017-11-14 14:25:55 +01:00
512c981402 Control - Implemented all basic opcodes
+ memory access
+ flow control
+ FPU ops
2017-11-14 12:49:59 +01:00
8b7964632a Compiler - Additional asserts on FPU stack 2017-11-13 18:53:42 +01:00
83b76a96f6 Compiler - Output debugging instruction 2017-11-13 18:51:15 +01:00
e877f3f391 Compiler - Input default value instruction 2017-11-13 18:31:21 +01:00
673b73c42d Compiler - Also gather constants from OP_INPUT 2017-11-13 18:21:06 +01:00
e7029af764 Compiler - Sampler initialisation command 2017-11-13 18:16:48 +01:00
91f363ee06 Compiler - Viewport instruction 2017-11-13 17:28:57 +01:00
cdf883c3cd Compiler - OP_UNIFORMS 2017-11-13 17:20:45 +01:00
d6fb6f9831 Compiler - OP_USE_TEXTURE + various operators 2017-11-13 16:58:38 +01:00
b9d9589d80 Compiler - OP_{FRAMEBUFFER,USE_{FRAMEBUFFER,PROGRAM,PIPELINE}} 2017-11-13 14:41:03 +01:00
057033f2e3 Compiler - OP_{TEXTURE,PROFILE,CLEAR} 2017-11-13 10:02:16 +01:00
415d565d72 Compiler - More ops + code reorg + call args order 2017-11-13 09:25:32 +01:00
6c58e8669f Compiler - Conditionals 2017-11-12 22:20:11 +01:00
bf1c4aa1b0 Compiler - Metadata for operators' stack effects 2017-11-12 18:38:31 +01:00
dd4c1ba7cd Ops - Operator metadata 2017-11-12 17:46:47 +01:00
87b46284ab Compiler - Progress on bytecode generator
+ added a technical node for call arguments
2017-11-12 17:01:13 +01:00
f97bb9b596 Parser - Changes to AST for the if instruction
The "else" case is now specific (to value 0), while the "then" case
is the default.
2017-11-12 11:23:29 +01:00
e8460456e6 Parser - Technical nodes in conditional instructions 2017-11-12 11:13:38 +01:00
abb2c02d61 Compiler - Started work
Committing as I need to make a few adjustments to the AST in order to
simplify things.
2017-11-12 10:50:05 +01:00
8806cd81d2 Parser - Finished type checks
... I think. Unless I forgot something, which is likely.
2017-11-11 16:53:21 +01:00
773efeff54 Parser - Errors when using inputs in initialisation 2017-11-11 16:16:22 +01:00
5d3aa32e9d Parser - Some clean-up in previously added code 2017-11-11 16:14:04 +01:00
84cdfa38de Parser - Initial ugly impl of argument type resolution 2017-11-11 15:05:20 +01:00
3e184f5796 Syntax highlighting - time/width/height built-ins 2017-11-11 12:15:03 +01:00
5933179f43 Parser - Prevent built-ins from being declared local 2017-11-11 12:05:03 +01:00
4d54ffe9e8 Parser - Improved type checking re: locals 2017-11-11 12:00:20 +01:00
949e4099ec Parser - Type checking for inputs and global identifiers 2017-11-11 10:17:35 +01:00
36a3e5e26f Parser - Check local variable declarations 2017-11-11 09:54:38 +01:00
e21e5cefb2 Parser - Type checking 2017-11-11 09:18:45 +01:00
65cbebd150 Parser - Progress on type checking prototype 2017-11-10 23:16:04 +01:00
d944ff80f3 Parser - Clean-up in AST node definitions 2017-11-10 23:09:36 +01:00
7abf50ae61 Minor fixes to previous commit
* Restrict clear to frame
* Restrict viewport to frame, as it used to be
* Moved viewport clearing to render code
2017-11-10 22:12:24 +01:00
b98c2247ae Parser - clear instruction 2017-11-10 22:09:24 +01:00