1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-12 22:08:59 +01:00

[d3d9] Remove generalHazards option

Move everything into MarkRenderHazard.

We are doing a big bump for driver support anyway, no reason to keep this around. Old drivers can take the perf penalty.
This commit is contained in:
Joshua Ashton 2022-08-05 19:15:27 +00:00 committed by Joshie
parent 63d582a6e7
commit 8c9601b4cd
3 changed files with 6 additions and 19 deletions

View File

@ -5241,6 +5241,10 @@ namespace dxvk {
void D3D9DeviceEx::MarkRenderHazards() {
EmitCs([](DxvkContext* ctx) {
ctx->emitGraphicsBarrier();
});
for (uint32_t rtIdx : bit::BitMask(m_activeHazardsRT)) {
// Guaranteed to not be nullptr...
auto tex = m_state.renderTargets[rtIdx]->GetCommonTexture();
@ -5957,14 +5961,8 @@ namespace dxvk {
void D3D9DeviceEx::PrepareDraw(D3DPRIMITIVETYPE PrimitiveType) {
if (unlikely(m_activeHazardsRT != 0)) {
EmitCs([](DxvkContext* ctx) {
ctx->emitGraphicsBarrier();
});
if (m_d3d9Options.generalHazards)
MarkRenderHazards();
}
if (unlikely(m_activeHazardsRT != 0))
MarkRenderHazards();
if (unlikely((m_lastHazardsDS == 0) != (m_activeHazardsDS == 0))) {
m_flags.set(D3D9DeviceFlag::DirtyFramebuffer);

View File

@ -75,13 +75,6 @@ namespace dxvk {
this->seamlessCubes = config.getOption<bool> ("d3d9.seamlessCubes", false);
this->textureMemory = config.getOption<int32_t> ("d3d9.textureMemory", 100) << 20;
// If we are not Nvidia, enable general hazards.
this->generalHazards = adapter != nullptr
&& !adapter->matchesDriver(
VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR,
0, 0);
applyTristate(this->generalHazards, config.getOption<Tristate>("d3d9.generalHazards", Tristate::Auto));
std::string floatEmulation = Config::toLower(config.getOption<std::string>("d3d9.floatEmulation", "auto"));
if (floatEmulation == "strict") {
d3d9FloatEmulation = D3D9FloatEmulation::Strict;

View File

@ -67,10 +67,6 @@ namespace dxvk {
/// Defer surface creation
bool deferSurfaceCreation;
/// Whether to transition to general
/// for rendering hazards
bool generalHazards;
/// Anisotropic filter override
///
/// Enforces anisotropic filtering with the