mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-19 05:52:11 +01:00
[d3d11] Disable Predication support
Doesn't work at all in the few games that use it.
This commit is contained in:
parent
cd63cebc63
commit
4eff83bdee
@ -279,21 +279,27 @@ namespace dxvk {
|
||||
m_state.pr.predicateObject = predicate;
|
||||
m_state.pr.predicateValue = PredicateValue;
|
||||
|
||||
if (!m_device->features().extConditionalRendering.conditionalRendering)
|
||||
return;
|
||||
static bool s_errorShown = false;
|
||||
|
||||
EmitCs([
|
||||
cPredicate = Com<D3D11Query>(predicate),
|
||||
cValue = PredicateValue
|
||||
] (DxvkContext* ctx) {
|
||||
DxvkBufferSlice predSlice;
|
||||
if (pPredicate && !std::exchange(s_errorShown, true))
|
||||
Logger::err("D3D11DeviceContext::SetPredication: Stub");
|
||||
|
||||
if (cPredicate != nullptr)
|
||||
predSlice = cPredicate->GetPredicate(ctx);
|
||||
// TODO: Figure out why this breaks Watch Dogs and crashes War Thunder
|
||||
// if (!m_device->features().extConditionalRendering.conditionalRendering)
|
||||
// return;
|
||||
|
||||
ctx->setPredicate(predSlice,
|
||||
cValue ? VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT : 0);
|
||||
});
|
||||
// EmitCs([
|
||||
// cPredicate = Com<D3D11Query>(predicate),
|
||||
// cValue = PredicateValue
|
||||
// ] (DxvkContext* ctx) {
|
||||
// DxvkBufferSlice predSlice;
|
||||
|
||||
// if (cPredicate != nullptr)
|
||||
// predSlice = cPredicate->GetPredicate(ctx);
|
||||
|
||||
// ctx->setPredicate(predSlice,
|
||||
// cValue ? VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT : 0);
|
||||
// });
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user