mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-29 15:55:29 +03:00
Stub Maxwell3D Alpha Testing
We stub alpha testing as it doesn't exist in Vulkan and few titles use it, it can be emulated in the future using a shader patch with manually discarding fragments failing the alpha test function but this'll be added in later as it isn't high priority at the moment and has associated overhead with it so other options might be explored at the time.
This commit is contained in:
parent
83ec99fa48
commit
ec378814aa
@ -531,5 +531,10 @@ namespace skyline::gpu::interconnect {
|
|||||||
}
|
}
|
||||||
}();
|
}();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetAlphaTestEnable(bool enable) {
|
||||||
|
if (enable)
|
||||||
|
Logger::Warn("Cannot enable alpha testing due to Vulkan constraints");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -183,6 +183,10 @@ namespace skyline::soc::gm20b::engine::maxwell3d {
|
|||||||
context.UpdateRenderTargetControl(renderTargetControl);
|
context.UpdateRenderTargetControl(renderTargetControl);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
MAXWELL3D_CASE(alphaTestEnable, {
|
||||||
|
context.SetAlphaTestEnable(alphaTestEnable);
|
||||||
|
})
|
||||||
|
|
||||||
MAXWELL3D_CASE(lineWidthSmooth, {
|
MAXWELL3D_CASE(lineWidthSmooth, {
|
||||||
if (*registers.lineSmoothEnable)
|
if (*registers.lineSmoothEnable)
|
||||||
context.SetLineWidth(lineWidthSmooth);
|
context.SetLineWidth(lineWidthSmooth);
|
||||||
|
@ -108,6 +108,7 @@ namespace skyline::soc::gm20b::engine::maxwell3d {
|
|||||||
Register<0x3EB, u32> rtSeparateFragData;
|
Register<0x3EB, u32> rtSeparateFragData;
|
||||||
Register<0x458, std::array<type::VertexAttribute, 0x20>> vertexAttributeState;
|
Register<0x458, std::array<type::VertexAttribute, 0x20>> vertexAttributeState;
|
||||||
Register<0x487, type::RenderTargetControl> renderTargetControl;
|
Register<0x487, type::RenderTargetControl> renderTargetControl;
|
||||||
|
Register<0x4BB, u32> alphaTestEnable;
|
||||||
Register<0x4C3, type::CompareOp> depthTestFunc;
|
Register<0x4C3, type::CompareOp> depthTestFunc;
|
||||||
Register<0x4C4, float> alphaTestRef;
|
Register<0x4C4, float> alphaTestRef;
|
||||||
Register<0x4C5, type::CompareOp> alphaTestFunc;
|
Register<0x4C5, type::CompareOp> alphaTestFunc;
|
||||||
|
Loading…
Reference in New Issue
Block a user