|
|
@ -36,6 +36,9 @@ u32 ShaderIR::DecodeBfe(NodeBlock& bb, u32 pc) { |
|
|
|
|
|
|
|
|
const bool is_signed = instr.bfe.is_signed; |
|
|
const bool is_signed = instr.bfe.is_signed; |
|
|
|
|
|
|
|
|
|
|
|
// using reverse parallel method in
|
|
|
|
|
|
// https://graphics.stanford.edu/~seander/bithacks.html#ReverseParallel
|
|
|
|
|
|
// note for later if possible to implement faster method.
|
|
|
if (instr.bfe.brev) { |
|
|
if (instr.bfe.brev) { |
|
|
const auto swap = [&](u32 s, u32 mask) { |
|
|
const auto swap = [&](u32 s, u32 mask) { |
|
|
Node v1 = |
|
|
Node v1 = |
|
|
|