mirror of
https://github.com/xenia-project/xenia.git
synced 2025-12-06 07:12:03 +01:00
[D3D12] ROV: Fix 7e3 alpha converted twice
This commit is contained in:
parent
8cfff36ec1
commit
b183b13868
|
|
@ -2240,18 +2240,6 @@ void DxbcShaderTranslator::CompletePixelShader_WriteToROV_LoadColor(
|
||||||
// Release f10_mantissa_temp, f10_exponent_temp and f10_denormalized_temp.
|
// Release f10_mantissa_temp, f10_exponent_temp and f10_denormalized_temp.
|
||||||
PopSystemTemp(3);
|
PopSystemTemp(3);
|
||||||
|
|
||||||
// Convert alpha from fixed-point.
|
|
||||||
shader_code_.push_back(ENCODE_D3D10_SB_OPCODE_TYPE(D3D10_SB_OPCODE_UTOF) |
|
|
||||||
ENCODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(5));
|
|
||||||
shader_code_.push_back(
|
|
||||||
EncodeVectorMaskedOperand(D3D10_SB_OPERAND_TYPE_TEMP, 0b1000, 1));
|
|
||||||
shader_code_.push_back(target_temp);
|
|
||||||
shader_code_.push_back(
|
|
||||||
EncodeVectorSelectOperand(D3D10_SB_OPERAND_TYPE_TEMP, 3, 1));
|
|
||||||
shader_code_.push_back(target_temp);
|
|
||||||
++stat_.instruction_count;
|
|
||||||
++stat_.conversion_instruction_count;
|
|
||||||
|
|
||||||
// 7e3 conversion done.
|
// 7e3 conversion done.
|
||||||
shader_code_.push_back(ENCODE_D3D10_SB_OPCODE_TYPE(D3D10_SB_OPCODE_ENDIF) |
|
shader_code_.push_back(ENCODE_D3D10_SB_OPCODE_TYPE(D3D10_SB_OPCODE_ENDIF) |
|
||||||
ENCODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(1));
|
ENCODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(1));
|
||||||
|
|
@ -3245,18 +3233,6 @@ void DxbcShaderTranslator::CompletePixelShader_WriteToROV_StoreColor(
|
||||||
// Release f10_temp1 and f10_temp2.
|
// Release f10_temp1 and f10_temp2.
|
||||||
PopSystemTemp(2);
|
PopSystemTemp(2);
|
||||||
|
|
||||||
// Convert alpha to fixed-point.
|
|
||||||
shader_code_.push_back(ENCODE_D3D10_SB_OPCODE_TYPE(D3D10_SB_OPCODE_FTOU) |
|
|
||||||
ENCODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(5));
|
|
||||||
shader_code_.push_back(
|
|
||||||
EncodeVectorMaskedOperand(D3D10_SB_OPERAND_TYPE_TEMP, 0b1000, 1));
|
|
||||||
shader_code_.push_back(source_and_scratch_temp);
|
|
||||||
shader_code_.push_back(
|
|
||||||
EncodeVectorSelectOperand(D3D10_SB_OPERAND_TYPE_TEMP, 3, 1));
|
|
||||||
shader_code_.push_back(source_and_scratch_temp);
|
|
||||||
++stat_.instruction_count;
|
|
||||||
++stat_.conversion_instruction_count;
|
|
||||||
|
|
||||||
// 7e3 conversion done.
|
// 7e3 conversion done.
|
||||||
shader_code_.push_back(ENCODE_D3D10_SB_OPCODE_TYPE(D3D10_SB_OPCODE_ENDIF) |
|
shader_code_.push_back(ENCODE_D3D10_SB_OPCODE_TYPE(D3D10_SB_OPCODE_ENDIF) |
|
||||||
ENCODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(1));
|
ENCODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(1));
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue