| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Each predicated instruction will be wrapped in an `if (predicate) { instruction_body; }` in the GLSL, where `predicate` is one of the predicate boolean variables previously set by fsetp.
|
|
Predicate variables are now added to the generated shader code in the form of 'pX' where X is the predicate id.
These predicate variables are initialized to false on shader startup and are set via the fsetp instructions.
TODO:
* Not all the comparison types are implemented.
* Only the single-predicate version is implemented.
|
|
|
|
|
|
* gl_shader_gen: Support vertical/horizontal viewport flipping.
* fixup! gl_shader_gen: Support vertical/horizontal viewport flipping.
|
|
|
|
Misc gpu improvements
|
|
Shader decompiler changes part 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HLEing them.
|
|
The Ryujinx macro interpreter and envydis were used as reference.
Macros are programs that are uploaded by the games during boot and can later be called by writing to their method id in a GPU command buffer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
global.
|
|
TODO: A shader may not use all of these textures at the same time, shader analysis should be performed to determine which textures are actually sampled.
|
|
|
|
|
|
Allow unswizzling of DXT1 textures.
|
|
|
|
|
|
|
|
|
|
|
|
GPU: Added registers for color and Z buffers.
|
|
|
|
|