| Commit message (Collapse) | Author | Files | Lines |
|
Removes a redundant variable that is already satisfied by the IsFull()
utility function.
|
|
Shifts a pair of registers to the right and returns the low register.
|
|
Shifts a pair of registers to the left and returns the high register.
|
|
Silences a few -Wshadow warnings.
|
|
Nvidia defaults to wrapped shifts, but this is undefined behaviour on
OpenGL's spec. Explicitly mask/clamp according to what the guest shader
requires.
|
|
Instead of having a vector of unique_ptr stored in a vector and
returning star pointers to this, use shared_ptr. While changing
initialization code, move it to a separate file when possible.
This is a first step to allow code analysis and node generation beyond
the ShaderIR class.
|
|
Keeps the shader code file endings consistent.
|
|
It's not always used as a basic block. Rename it for consistency.
|
|
Some games call LDG at the top of a basic block, making the tracking
heuristic to fail. This commit lets the heuristic the decoded nodes as a
whole instead of per basic blocks.
This may lead to some false positives but allows it the heuristic to
track cases it previously couldn't.
|
|
Constant buffer values on the shader IR were using different offsets if
the access direct or indirect. cbuf34 has a non-multiplied offset while
cbuf36 does. On shader decoding this commit multiplies it by four on
cbuf34 queries.
|
|
|
|
|
|
|
|
|
|
|