Commit 724fe78b authored by Joshua Ashton's avatar Joshua Ashton

[dxso] Don't emit a co-issue for CNDs parented to a CND

Closes #1309
parent b4f2094c
Pipeline #977 passed with stage
in 4 minutes and 9 seconds
......@@ -10,8 +10,13 @@ namespace dxvk {
const DxsoInstructionContext& ctx) {
DxsoOpcode opcode = ctx.instruction.opcode;
if (opcode == DxsoOpcode::Cnd && ctx.instruction.coissue)
// Co-issued CNDs are issued before their parents,
// except when the parent is a CND.
if (opcode == DxsoOpcode::Cnd &&
m_coissueCtx.instruction.opcode != DxsoOpcode::Cnd &&
ctx.instruction.coissue) {
m_analysis->coissues.push_back(ctx);
}
if (opcode == DxsoOpcode::TexKill)
m_analysis->usesKill = true;
......@@ -41,6 +46,8 @@ namespace dxvk {
//|| opcode == DxsoOpcode::TexLdl
|| opcode == DxsoOpcode::TexDepth)
m_analysis->usesDerivatives = true;
m_coissueCtx = ctx;
}
void DxsoAnalyzer::finalize(size_t tokenCount) {
......
......@@ -34,6 +34,8 @@ namespace dxvk {
DxsoAnalysisInfo* m_analysis = nullptr;
DxsoInstructionContext m_coissueCtx;
};
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment