|
@@ -370,8 +370,29 @@ void Maxwell3D::CallMethodFromMME(u32 method, u32 method_argument) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void Maxwell3D::ProcessTopologyOverride() {
|
|
void Maxwell3D::ProcessTopologyOverride() {
|
|
|
|
|
+ using PrimitiveTopology = Maxwell3D::Regs::PrimitiveTopology;
|
|
|
|
|
+ using PrimitiveTopologyOverride = Maxwell3D::Regs::PrimitiveTopologyOverride;
|
|
|
|
|
+
|
|
|
|
|
+ PrimitiveTopology topology{};
|
|
|
|
|
+
|
|
|
|
|
+ switch (regs.topology_override) {
|
|
|
|
|
+ case PrimitiveTopologyOverride::None:
|
|
|
|
|
+ case PrimitiveTopologyOverride::Points:
|
|
|
|
|
+ topology = PrimitiveTopology::Points;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case PrimitiveTopologyOverride::Lines:
|
|
|
|
|
+ topology = PrimitiveTopology::Lines;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case PrimitiveTopologyOverride::LineStrip:
|
|
|
|
|
+ topology = PrimitiveTopology::LineStrip;
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ topology = static_cast<PrimitiveTopology>(regs.topology_override);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if (use_topology_override) {
|
|
if (use_topology_override) {
|
|
|
- regs.draw.topology.Assign(regs.topology_override);
|
|
|
|
|
|
|
+ regs.draw.topology.Assign(topology);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|