f95602f152
video_core: Resolve more variable shadowing scenarios pt.3
...
Cleans out the rest of the occurrences of variable shadowing and makes
any further occurrences of shadowing compiler errors.
2020-12-05 16:02:23 -05:00
ff45c39578
General: Make use of std::nullopt where applicable
...
Allows some implementations to avoid completely zeroing out the internal
buffer of the optional, and instead only set the validity byte within
the structure.
This also makes it consistent how we return empty optionals.
2020-09-22 17:32:33 -04:00
223a89a19f
shader: Remove curly braces initializers on shared pointers
2020-02-01 22:52:10 -03:00
074b38b7a9
video_core/shader/ast: Make ShowCurrentState() and SanityCheck() const member functions
...
These can also trivially be made const member functions, with the
addition of a few consts.
2019-10-17 20:59:48 -04:00
222f4b45eb
video_core/shader/ast: Make ASTManager::Print a const member function
...
Given all visiting functions never modify the nodes, we can trivially
make this a const member function.
2019-10-17 20:56:39 -04:00
d82b181d44
video_core/ast: Unindent most of IsFullyDecompiled() by one level
2019-10-05 09:14:27 -04:00
6c41d1cd7e
video_core/ast: Make ShowCurrentState() take a string_view instead of std::string
...
Allows the function to be non-allocating in terms of the output string.
2019-10-05 09:14:27 -04:00
3a20d9734f
video_core/ast: Default the move constructor and assignment operator
...
This is behaviorally equivalent and also fixes a bug where some members
weren't being moved over.
2019-10-05 09:14:26 -04:00
43503a69bf
video_core/{ast, expr}: Organize forward declaration
...
Keeps them alphabetically sorted for readability.
2019-10-05 09:14:26 -04:00
8eb1398f8d
video_core/{ast, expr}: Use std::move where applicable
...
Avoids unnecessary atomic reference count increments and decrements.
2019-10-05 09:14:23 -04:00
8e0c80f269
video_core/ast: Supply const accessors for data where applicable
...
Provides const equivalents of data accessors for use within const
contexts.
2019-10-05 08:22:03 -04:00
e6eae4b815
Shader_ir: Address feedback
2019-10-04 18:52:57 -04:00
3c09d9abe6
Shader_Ir: Address Feedback and clang format.
2019-10-04 18:52:57 -04:00
2e9a810423
Shader_IR: allow else derivation to be optional.
2019-10-04 18:52:52 -04:00
ca9901867e
vk_shader_compiler: Implement the decompiler in SPIR-V
2019-10-04 18:52:51 -04:00
0366c18d87
Shader_IR: mark labels as unused for partial decompile.
2019-10-04 18:52:51 -04:00
47e4f6a52c
Shader_Ir: Refactor Decompilation process and allow multiple decompilation modes.
2019-10-04 18:52:50 -04:00
38fc995f6c
gl_shader_decompiler: Implement AST decompiling
2019-10-04 18:52:50 -04:00
6fdd501113
shader_ir: Declare Manager and pass it to appropiate programs.
2019-10-04 18:52:49 -04:00
8be6e1c522
shader_ir: Corrections to outward movements and misc stuffs
2019-10-04 18:52:48 -04:00
4fde66e609
shader_ir: Add basic goto elimination
2019-10-04 18:52:48 -04:00
c17953978b
shader_ir: Initial Decompile Setup
2019-10-04 18:52:47 -04:00