mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-14 22:29:15 +01:00
[dxbc] Scan for discard and derivative instructions
This commit is contained in:
parent
667616bc39
commit
ec5572aa69
@ -34,7 +34,17 @@ namespace dxvk {
|
|||||||
m_analysis->uavInfos[registerId].accessAtomicOp = true;
|
m_analysis->uavInfos[registerId].accessAtomicOp = true;
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
case DxbcInstClass::TextureSample:
|
||||||
|
case DxbcInstClass::VectorDeriv: {
|
||||||
|
m_analysis->usesDerivatives = true;
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case DxbcInstClass::ControlFlow: {
|
||||||
|
if (ins.op == DxbcOpcode::Discard)
|
||||||
|
m_analysis->usesKill = true;
|
||||||
|
} break;
|
||||||
|
|
||||||
case DxbcInstClass::TypedUavLoad: {
|
case DxbcInstClass::TypedUavLoad: {
|
||||||
const uint32_t registerId = ins.src[1].idx[0].offset;
|
const uint32_t registerId = ins.src[1].idx[0].offset;
|
||||||
m_analysis->uavInfos[registerId].accessTypedLoad = true;
|
m_analysis->uavInfos[registerId].accessTypedLoad = true;
|
||||||
|
@ -37,6 +37,9 @@ namespace dxvk {
|
|||||||
|
|
||||||
DxbcClipCullInfo clipCullIn;
|
DxbcClipCullInfo clipCullIn;
|
||||||
DxbcClipCullInfo clipCullOut;
|
DxbcClipCullInfo clipCullOut;
|
||||||
|
|
||||||
|
bool usesDerivatives = false;
|
||||||
|
bool usesKill = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user