mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-24 12:30:19 +01:00
i965: Stop XY clipping point and line primitives.
Wide points and lines are not supposed to be clipped by the viewport. Rather, they should be rendered, and any fragments outside of the viewport should be discarded. The traditional use case for this behavior is rendering moving wide point particles. When the center of the point approaches the viewport edge, clipping would make it pop out of view early. Fixes: - dEQP-GLES2.functional.clipping.point.wide_point_clip - dEQP-GLES3.functional.clipping.point.wide_point_clip - dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center - dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner - dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center - dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94453 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94454 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
parent
0de64ab788
commit
88d28aa4d9
1 changed files with 7 additions and 1 deletions
|
|
@ -174,12 +174,14 @@ upload_clip_state(struct brw_context *brw)
|
|||
else
|
||||
enable = GEN6_CLIP_ENABLE;
|
||||
|
||||
if (!is_drawing_points(brw) && !is_drawing_lines(brw))
|
||||
dw2 |= GEN6_CLIP_XY_TEST;
|
||||
|
||||
BEGIN_BATCH(4);
|
||||
OUT_BATCH(_3DSTATE_CLIP << 16 | (4 - 2));
|
||||
OUT_BATCH(dw1);
|
||||
OUT_BATCH(enable |
|
||||
GEN6_CLIP_MODE_NORMAL |
|
||||
GEN6_CLIP_XY_TEST |
|
||||
dw2);
|
||||
OUT_BATCH(U_FIXED(0.125, 3) << GEN6_CLIP_MIN_POINT_WIDTH_SHIFT |
|
||||
U_FIXED(255.875, 3) << GEN6_CLIP_MAX_POINT_WIDTH_SHIFT |
|
||||
|
|
@ -195,7 +197,9 @@ const struct brw_tracked_state gen6_clip_state = {
|
|||
_NEW_TRANSFORM,
|
||||
.brw = BRW_NEW_CONTEXT |
|
||||
BRW_NEW_FS_PROG_DATA |
|
||||
BRW_NEW_GEOMETRY_PROGRAM |
|
||||
BRW_NEW_META_IN_PROGRESS |
|
||||
BRW_NEW_PRIMITIVE |
|
||||
BRW_NEW_RASTERIZER_DISCARD,
|
||||
},
|
||||
.emit = upload_clip_state,
|
||||
|
|
@ -209,7 +213,9 @@ const struct brw_tracked_state gen7_clip_state = {
|
|||
_NEW_TRANSFORM,
|
||||
.brw = BRW_NEW_CONTEXT |
|
||||
BRW_NEW_FS_PROG_DATA |
|
||||
BRW_NEW_GEOMETRY_PROGRAM |
|
||||
BRW_NEW_META_IN_PROGRESS |
|
||||
BRW_NEW_PRIMITIVE |
|
||||
BRW_NEW_RASTERIZER_DISCARD,
|
||||
},
|
||||
.emit = upload_clip_state,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue