3e838627dc
Parser - Preliminary work in (include)
...
The parser accepts (include "some file") at top level. It does nothing
so far, however, and having it do anything will require some new code
for file name / path handling.
2017-12-25 22:40:55 +01:00
19ae316ad0
TODO list update
2017-12-25 21:53:09 +01:00
3ffc8bf240
Imgui updated
2017-12-25 20:44:32 +01:00
6b3f9bff2a
Scripting - Handle compute shader groups automatically
2017-12-25 20:39:56 +01:00
c3ccc9403a
Test - Converted DoF to compute shaders
...
It doesn't work too well, however. Other algorithms need to be checked
out.
2017-12-25 18:41:16 +01:00
eb2e83a568
Test - Compute shaders for raymarching
2017-12-25 10:12:17 +01:00
9b13b8e1c6
Profiler - Fixed checkboxes
2017-12-24 18:54:05 +01:00
786d1cf2fe
ImGui updated
...
This was an attempt at fixing the problem with the profiler's
checkboxes, which sometimes reset immediately after a click. The attempt
failed, profiler's checkboxes are still fucked.
2017-12-24 18:47:52 +01:00
020ba4a289
Profiler - Some code clean-up
2017-12-24 18:40:34 +01:00
98ecedfaae
Profiler - Display CPU/GPU times on tooltips
2017-12-24 18:40:12 +01:00
646ec5a423
Profiler - Also use GL timestamps
...
* Get performance information from the GPU using GL timers
* Avoid using glFinish() for the profiler
* Display max( cpu time , gpu time ) in the profiler window
2017-12-24 16:02:17 +01:00
99bd2c429b
Adjustments to test compute shader
2017-12-24 13:16:07 +01:00
81ff8a8da6
Test - Use compute shader for combine stage
2017-12-24 11:40:06 +01:00
4394d911c2
Script - Fixed (image) command
2017-12-24 11:39:41 +01:00
7db090fb5d
Scripting - Image unit binding
2017-12-24 11:10:38 +01:00
8839127c1a
Scripting - Support for compute shader dispatch
2017-12-23 18:40:36 +01:00
4e77e6cf16
TODO list update
2017-12-23 17:54:48 +01:00
0abab985c1
TODO list updated
2017-12-23 17:30:30 +01:00
965496b231
Optimizer - Fixed input handling
2017-12-23 17:29:52 +01:00
d3b1883693
Optimizer - Finished function inlining
2017-12-23 17:18:29 +01:00
2c636fb7b5
Optimizer - Count required extra locals for function inlining
2017-12-17 19:02:00 +01:00
1a6509814e
Optimizer - Determine order for call inlining
2017-12-17 17:27:23 +01:00
94b01e62b4
Optimizer - Started work on function inlining
...
For now:
* Option that triggers inlining
* Compute list of inline-able functions
2017-12-17 15:59:29 +01:00
fd84c3cae3
Compiler - Changed log level for full output dumps
2017-12-17 10:31:59 +01:00
01d9586264
Optimizer - Remove unused globals
2017-12-17 10:30:00 +01:00
630dd94ba6
Optimizer - Remove unused local variables
2017-12-17 09:55:53 +01:00
ff50ba561a
Optimizer - Dead store elimination
...
Works for variables and assets. Does not cover call arguments yet.
2017-12-17 09:33:45 +01:00
ab279857fa
Optimizer - Remove dead branches
2017-12-16 10:38:17 +01:00
08e486a57c
Optimizer - DCE: find conditionals with constant inputs
2017-12-15 07:40:40 +01:00
027d6a2f8d
Optimizer - Removed unnecessary computations
...
The following computations will not be done if their results are cached:
* instruction numbering,
* control flow graph construction,
* use-define chains
2017-12-15 07:16:51 +01:00
c89a62edae
TODO list update
2017-12-15 07:05:14 +01:00
f03b1ba4f1
EBCL update, fixed warnings about sets
2017-12-14 18:54:03 +01:00
8d95f4d1c7
Optimizer - Updated logging
2017-12-14 18:51:14 +01:00
312392d405
Optimizer - Update UD chains during constant propagation
2017-12-14 18:46:36 +01:00
12f9402c94
Optimizer - Working constant propagation
...
AST's replace function needed to be recursive
2017-12-14 07:39:38 +01:00
223dd1763d
AST - Finished refactoring
...
(unless I forgot shit)
2017-12-14 07:29:39 +01:00
5f6eee238f
Parser - Refactored AST nodes
...
AST nodes use the same storage structure, whatever their nature.
2017-12-13 21:44:50 +01:00
efa1b26150
Optimizer - Constant propagation for variables
...
* It doesn't work for function arguments at this point, but shouldn't be
too hard to implement that.
* Can't use it to its full potential mostly because I need to get rid of
the node-specific shit in the AST.
2017-12-12 18:30:41 +01:00
f574780c5e
Build configs - Fixed resolution chooser flag
...
It was being set to true even if disabled by a list of resolutions.
2017-12-12 18:19:16 +01:00
2d375aec72
Optimizer - Removed some unused code
2017-12-12 15:33:42 +01:00
7e5d782d2f
Optimizer - UD chains - WORKING (fo'real, man)
...
Horrible, spaghettish, slow, memory hungry but WORKING implementation of
use/define chains!!!!
2017-12-12 15:33:03 +01:00
cc519be077
Optimizer - UD chains - Function arguments
...
Function arguments are the simplest case for UD chains, as they are
immutable.
2017-12-10 15:25:51 +01:00
f37c0d0df3
Optimizer - Call bypass edges in CFG
...
It will make things simpler when walking the graph for locals.
2017-12-10 11:57:07 +01:00
b2c11d8d2a
Optimizer - More notes
2017-12-10 11:20:25 +01:00
cb42137592
Optimizer - Edge types in CFG
...
Control flow graph edges have been assigned a type, which may be either
FLOW (for normal edges), CALL (for edges that enter a function) or RET
(for edges that exit a function). In addition, call sites have an
additional FLOW edge that bypasses the function call.
2017-12-10 11:12:45 +01:00
ddad981055
Optimizer - Refactored CFG construction
...
Split the control flow graph construction function into multiple
functions. Doesn't add anything to the code, but makes it slightly less
unreadable.
2017-12-10 10:14:35 +01:00
35d3098917
Optimizer - So, UD chains are broken
...
Disabled broken code and added some notes, which are probably broken as
well but fuck it.
2017-12-10 09:59:55 +01:00
fac8de1fde
Optimizer - Mostly OK use/define chain construction
...
In which "mostly" means that it will work, unless:
1/ something is used before being defined (will trigger assertion)
2/ a local variable is re-used before being redefined, which will
be detected as using the def from the previous execution (won't be a
problem for now as it'll crash first, due to (1))
2017-12-08 22:00:43 +01:00
f58226aa79
Optimizer - Fixed control flow graph building
2017-12-08 21:57:41 +01:00
61cd7719f1
Optimizer - WIP UD chain construction
2017-12-08 07:38:59 +01:00