Commit graph

306 commits

Author SHA1 Message Date
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
a455f2ad40 Parser - main-output instruction 2017-11-10 21:56:28 +01:00
1ee448a4c0 Script - FXAA ported
A pair of missing instructions: clear and main-output
2017-11-10 21:46:15 +01:00
424dca64e9 Script - Combine pass ported 2017-11-10 21:24:47 +01:00
e0929d6ec4 Parser - Local variable declarations 2017-11-10 21:01:35 +01:00
9515d64400 Parser - Support for LODs in texture and framebuffers 2017-11-10 20:38:17 +01:00
9e583c1374 Ported bloom to script
Breaks the parser because we don't support LODs for textures and
framebuffers. Also we need a command for local variables.
2017-11-10 18:28:56 +01:00
46972c7e60 Parser - Sampler definition instruction 2017-11-10 17:18:29 +01:00
7e5b69e714 Vim syntax file for demo.srd 2017-11-10 16:02:30 +01:00
b6738aff95 Parser - Partial prototype for type registry 2017-11-10 14:29:36 +01:00
eae82f1f9a Parser - (odbg) instruction 2017-11-10 12:48:57 +01:00
448acdf16b Parser - Framebuffer definition command 2017-11-10 10:15:56 +01:00
d02ab91767 Parser - Support for (uniforms)/(uniforms-i) 2017-11-09 23:20:48 +01:00
351614123e Parser - Split parser off from nodes code 2017-11-09 18:27:28 +01:00