| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Compresses a few namespace specifiers to be more compact.
|
|
|
|
|
|
|
|
|
|
It's similar to the FMNMX instruction but it works on integers.
|
|
It is unknown at this moment if we actually need to do something with these instructions or if the GLSL compiler takes care of that for us.
|
|
|
|
It's similar to the isetp and fsetp instructions but it works on predicates instead.
|
|
|
|
|
|
|
|
|
|
Like the MOV32I and FMUL32I instructions.
This fixes a potential crash when using these instructions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This instruction tells the GPU where the flow reconverges in a non-uniform control flow scenario, we can ignore this when generating GLSL code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|