gl_rasterizer: Fix polygon offset units

For some reason hardware divides polygon offset units by two. This is
visible since drivers multiply the application requested polygon offset
by two.
This commit is contained in:
ReinUsesLisp 2019-10-01 02:00:23 -03:00
parent e11afeb34d
commit 69c806feb6
No known key found for this signature in database
GPG Key ID: 2DFC508897B39CFE
1 changed files with 3 additions and 1 deletions

View File

@ -1340,7 +1340,9 @@ void RasterizerOpenGL::SyncPolygonOffset() {
state.polygon_offset.fill_enable = regs.polygon_offset_fill_enable != 0; state.polygon_offset.fill_enable = regs.polygon_offset_fill_enable != 0;
state.polygon_offset.line_enable = regs.polygon_offset_line_enable != 0; state.polygon_offset.line_enable = regs.polygon_offset_line_enable != 0;
state.polygon_offset.point_enable = regs.polygon_offset_point_enable != 0; state.polygon_offset.point_enable = regs.polygon_offset_point_enable != 0;
state.polygon_offset.units = regs.polygon_offset_units;
// Hardware divides polygon offset units by two
state.polygon_offset.units = regs.polygon_offset_units / 2.0f;
state.polygon_offset.factor = regs.polygon_offset_factor; state.polygon_offset.factor = regs.polygon_offset_factor;
state.polygon_offset.clamp = regs.polygon_offset_clamp; state.polygon_offset.clamp = regs.polygon_offset_clamp;