mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-15 07:29:17 +01:00
[dxso] Only track co-issue parent opcode rather than the full context
Tracking the full instruction ctx is slow and unnecessary
This commit is contained in:
parent
724fe78ba1
commit
e0b83b13b5
@ -13,7 +13,7 @@ namespace dxvk {
|
|||||||
// Co-issued CNDs are issued before their parents,
|
// Co-issued CNDs are issued before their parents,
|
||||||
// except when the parent is a CND.
|
// except when the parent is a CND.
|
||||||
if (opcode == DxsoOpcode::Cnd &&
|
if (opcode == DxsoOpcode::Cnd &&
|
||||||
m_coissueCtx.instruction.opcode != DxsoOpcode::Cnd &&
|
m_parentOpcode != DxsoOpcode::Cnd &&
|
||||||
ctx.instruction.coissue) {
|
ctx.instruction.coissue) {
|
||||||
m_analysis->coissues.push_back(ctx);
|
m_analysis->coissues.push_back(ctx);
|
||||||
}
|
}
|
||||||
@ -47,7 +47,7 @@ namespace dxvk {
|
|||||||
|| opcode == DxsoOpcode::TexDepth)
|
|| opcode == DxsoOpcode::TexDepth)
|
||||||
m_analysis->usesDerivatives = true;
|
m_analysis->usesDerivatives = true;
|
||||||
|
|
||||||
m_coissueCtx = ctx;
|
m_parentOpcode = ctx.instruction.opcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DxsoAnalyzer::finalize(size_t tokenCount) {
|
void DxsoAnalyzer::finalize(size_t tokenCount) {
|
||||||
|
@ -34,7 +34,7 @@ namespace dxvk {
|
|||||||
|
|
||||||
DxsoAnalysisInfo* m_analysis = nullptr;
|
DxsoAnalysisInfo* m_analysis = nullptr;
|
||||||
|
|
||||||
DxsoInstructionContext m_coissueCtx;
|
DxsoOpcode m_parentOpcode;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user