forked from ShuriZma/suyu
renderer_(opengl/vulkan): Fix tessellation clockwise parameter
This should be assigned CW only on Triangles_CW rather than not Triangles_CCW, making CCW the default winding order rather than CW.
This commit is contained in:
parent
26b76d2eaf
commit
d3114c620d
|
@ -390,7 +390,7 @@ public:
|
|||
FractionalEven = 2,
|
||||
};
|
||||
|
||||
enum class OutputPrimitves : u32 {
|
||||
enum class OutputPrimitives : u32 {
|
||||
Points = 0,
|
||||
Lines = 1,
|
||||
Triangles_CW = 2,
|
||||
|
@ -401,7 +401,7 @@ public:
|
|||
union {
|
||||
BitField<0, 2, DomainType> domain_type;
|
||||
BitField<4, 2, Spacing> spacing;
|
||||
BitField<8, 2, OutputPrimitves> output_primitives;
|
||||
BitField<8, 2, OutputPrimitives> output_primitives;
|
||||
};
|
||||
} params;
|
||||
|
||||
|
|
|
@ -317,8 +317,8 @@ GraphicsPipeline* ShaderCache::CurrentGraphicsPipeline() {
|
|||
graphics_key.tessellation_primitive.Assign(regs.tessellation.params.domain_type.Value());
|
||||
graphics_key.tessellation_spacing.Assign(regs.tessellation.params.spacing.Value());
|
||||
graphics_key.tessellation_clockwise.Assign(
|
||||
regs.tessellation.params.output_primitives.Value() !=
|
||||
Maxwell::Tessellation::OutputPrimitves::Triangles_CCW);
|
||||
regs.tessellation.params.output_primitives.Value() ==
|
||||
Maxwell::Tessellation::OutputPrimitives::Triangles_CW);
|
||||
graphics_key.xfb_enabled.Assign(regs.transform_feedback_enabled != 0 ? 1 : 0);
|
||||
if (graphics_key.xfb_enabled) {
|
||||
SetXfbState(graphics_key.xfb_state, regs);
|
||||
|
|
|
@ -73,8 +73,8 @@ void FixedPipelineState::Refresh(Tegra::Engines::Maxwell3D& maxwell3d,
|
|||
patch_control_points_minus_one.Assign(regs.patch_vertices - 1);
|
||||
tessellation_primitive.Assign(static_cast<u32>(regs.tessellation.params.domain_type.Value()));
|
||||
tessellation_spacing.Assign(static_cast<u32>(regs.tessellation.params.spacing.Value()));
|
||||
tessellation_clockwise.Assign(regs.tessellation.params.output_primitives.Value() !=
|
||||
Maxwell::Tessellation::OutputPrimitves::Triangles_CCW);
|
||||
tessellation_clockwise.Assign(regs.tessellation.params.output_primitives.Value() ==
|
||||
Maxwell::Tessellation::OutputPrimitives::Triangles_CW);
|
||||
logic_op_enable.Assign(regs.logic_op.enable != 0 ? 1 : 0);
|
||||
logic_op.Assign(PackLogicOp(regs.logic_op.op));
|
||||
topology.Assign(regs.draw.topology);
|
||||
|
|
Loading…
Reference in New Issue