shader_decode: Use BitfieldExtract instead of shift + and

This commit is contained in:
ReinUsesLisp 2018-12-26 02:58:47 -03:00
parent 26d519c0f6
commit 44fce20a01
8 changed files with 37 additions and 48 deletions

View file

@ -348,6 +348,11 @@ void ShaderIR::SetLocalMemory(BasicBlock& bb, Node address, Node value) {
bb.push_back(Operation(OperationCode::Assign, GetLocalMemory(address), value));
}
Node ShaderIR::BitfieldExtract(Node value, u32 offset, u32 bits) {
return Operation(OperationCode::UBitfieldExtract, NO_PRECISE, value, Immediate(offset),
Immediate(bits));
}
/*static*/ OperationCode ShaderIR::SignedToUnsignedCode(OperationCode operation_code,
bool is_signed) {
if (is_signed) {