i965/skl: Update Viewport Z Clip Test Enable bits for Skylake.

Skylake has separate controls for enabling the Z Clip Test for the near
and far planes.  For now, maintain the legacy behavior by setting both.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
This commit is contained in:
Kenneth Graunke 2014-04-21 19:47:07 -07:00
parent 77f584c7f9
commit 35bbe177ec
2 changed files with 10 additions and 2 deletions

View file

@ -1914,6 +1914,7 @@ enum brw_message_target {
#define _3DSTATE_RASTER 0x7850 /* GEN8+ */
/* DW1 */
# define GEN9_RASTER_VIEWPORT_Z_FAR_CLIP_TEST_ENABLE (1 << 26)
# define GEN8_RASTER_FRONT_WINDING_CCW (1 << 21)
# define GEN8_RASTER_CULL_BOTH (0 << 16)
# define GEN8_RASTER_CULL_NONE (1 << 16)
@ -1924,6 +1925,7 @@ enum brw_message_target {
# define GEN8_RASTER_LINE_AA_ENABLE (1 << 2)
# define GEN8_RASTER_SCISSOR_ENABLE (1 << 1)
# define GEN8_RASTER_VIEWPORT_Z_CLIP_TEST_ENABLE (1 << 0)
# define GEN9_RASTER_VIEWPORT_Z_NEAR_CLIP_TEST_ENABLE (1 << 0)
/* Gen8 BLEND_STATE */
/* DW0 */

View file

@ -291,8 +291,14 @@ upload_raster(struct brw_context *brw)
dw1 |= GEN8_RASTER_SCISSOR_ENABLE;
/* _NEW_TRANSFORM */
if (!ctx->Transform.DepthClamp)
dw1 |= GEN8_RASTER_VIEWPORT_Z_CLIP_TEST_ENABLE;
if (!ctx->Transform.DepthClamp) {
if (brw->gen >= 9) {
dw1 |= GEN9_RASTER_VIEWPORT_Z_NEAR_CLIP_TEST_ENABLE |
GEN9_RASTER_VIEWPORT_Z_FAR_CLIP_TEST_ENABLE;
} else {
dw1 |= GEN8_RASTER_VIEWPORT_Z_CLIP_TEST_ENABLE;
}
}
BEGIN_BATCH(5);
OUT_BATCH(_3DSTATE_RASTER << 16 | (5 - 2));