a4xx: only disable depth clipping, not all clipping, when requested
The previous bit disables the whole clipper, including the regular viewport-related clipping that would go on. The two new bits disable near and far clipping (separately, as verified with the depth-clamp-range piglit). Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: mesa-stable@lists.freedesktop.org
This commit is contained in:
@@ -3145,6 +3145,8 @@ static inline uint32_t A4XX_TPL1_TP_TEX_COUNT_GS(uint32_t val)
|
||||
|
||||
#define REG_A4XX_GRAS_CL_CLIP_CNTL 0x00002000
|
||||
#define A4XX_GRAS_CL_CLIP_CNTL_CLIP_DISABLE 0x00008000
|
||||
#define A4XX_GRAS_CL_CLIP_CNTL_ZNEAR_CLIP_DISABLE 0x00010000
|
||||
#define A4XX_GRAS_CL_CLIP_CNTL_ZFAR_CLIP_DISABLE 0x00020000
|
||||
#define A4XX_GRAS_CL_CLIP_CNTL_ZERO_GB_SCALE_Z 0x00400000
|
||||
|
||||
#define REG_A4XX_GRAS_CLEAR_CNTL 0x00002003
|
||||
|
||||
@@ -98,7 +98,8 @@ fd4_rasterizer_state_create(struct pipe_context *pctx,
|
||||
so->gras_su_mode_control |= A4XX_GRAS_SU_MODE_CONTROL_POLY_OFFSET;
|
||||
|
||||
if (!cso->depth_clip)
|
||||
so->gras_cl_clip_cntl |= A4XX_GRAS_CL_CLIP_CNTL_CLIP_DISABLE;
|
||||
so->gras_cl_clip_cntl |= A4XX_GRAS_CL_CLIP_CNTL_ZNEAR_CLIP_DISABLE |
|
||||
A4XX_GRAS_CL_CLIP_CNTL_ZFAR_CLIP_DISABLE;
|
||||
if (cso->clip_halfz)
|
||||
so->gras_cl_clip_cntl |= A4XX_GRAS_CL_CLIP_CNTL_ZERO_GB_SCALE_Z;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user