49946cf780
shader_recompiler, video_core: Resolve clang errors
...
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
2021-07-22 21:51:40 -04:00
75fd0079db
glasm: Remove unnecessary value types
2021-07-22 21:51:33 -04:00
379b305b4b
glasm: Throw when there are register leaks
2021-07-22 21:51:33 -04:00
ca05a13c62
glasm: Catch more register leaks
...
Add support for null registers. These are used when an instruction has
no usages.
This comes handy when an instruction is only used for its CC value, with
the caveat of having to invalidate all pseudo-instructions before
defining the instruction itself in the register allocator. This commits
changes this.
Workaround a bug on Nvidia's condition codes conditional execution using
branches.
2021-07-22 21:51:33 -04:00
fb3ba62b3a
glasm: Fix aliased bitcasts ref counting
2021-07-22 21:51:31 -04:00
31d402ee74
glasm: Add Void type to GLASM values
2021-07-22 21:51:31 -04:00
deda89372f
glasm: Fix register allocation when moving immediate on GLASM
2021-07-22 21:51:31 -04:00
8eb72ff0dc
glasm: Fix moving U64 immediates to registers in GLASM
2021-07-22 21:51:31 -04:00
ad61b47f80
glasm: Add conversion instructions to GLASM
2021-07-22 21:51:31 -04:00
4502595bc2
glasm: Initial GLASM fp64 support
2021-07-22 21:51:30 -04:00
6358b0d0c1
glasm: Specify namespace when using FormatTo
2021-07-22 21:51:30 -04:00
1c9307969c
glasm: Make GLASM aware of types
2021-07-22 21:51:30 -04:00
3e841f6441
glasm: Use BitField instead of C bitfields
2021-07-22 21:51:30 -04:00
c1ba685d9c
glasm: Changes to GLASM register allocator and emit context
2021-07-22 21:51:30 -04:00
b10cf64c48
glasm: Add GLASM backend infrastructure
2021-07-22 21:51:30 -04:00