freedreno/a4xx: add depth clamp and halfz clip
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
parent
b17a405609
commit
a05e5491c3
|
@ -2059,6 +2059,8 @@ static inline uint32_t A4XX_TPL1_TP_TEX_COUNT_GS(uint32_t val)
|
|||
#define REG_A4XX_GRAS_PERFCTR_TSE_SEL_3 0x00000c8b
|
||||
|
||||
#define REG_A4XX_GRAS_CL_CLIP_CNTL 0x00002000
|
||||
#define A4XX_GRAS_CL_CLIP_CNTL_CLIP_DISABLE 0x00008000
|
||||
#define A4XX_GRAS_CL_CLIP_CNTL_ZERO_GB_SCALE_Z 0x00400000
|
||||
|
||||
#define REG_A4XX_GRAS_CLEAR_CNTL 0x00002003
|
||||
#define A4XX_GRAS_CLEAR_CNTL_NOT_FASTCLEAR 0x00000001
|
||||
|
|
|
@ -90,5 +90,10 @@ fd4_rasterizer_state_create(struct pipe_context *pctx,
|
|||
if (cso->offset_tri)
|
||||
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;
|
||||
if (cso->clip_halfz)
|
||||
so->gras_cl_clip_cntl |= A4XX_GRAS_CL_CLIP_CNTL_ZERO_GB_SCALE_Z;
|
||||
|
||||
return so;
|
||||
}
|
||||
|
|
|
@ -179,6 +179,8 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_CONDITIONAL_RENDER_INVERTED:
|
||||
case PIPE_CAP_FAKE_SW_MSAA:
|
||||
case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
|
||||
case PIPE_CAP_DEPTH_CLIP_DISABLE:
|
||||
case PIPE_CAP_CLIP_HALFZ:
|
||||
return is_a3xx(screen) || is_a4xx(screen);
|
||||
|
||||
case PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT:
|
||||
|
@ -192,10 +194,6 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
if (is_a4xx(screen)) return 16383;
|
||||
return 0;
|
||||
|
||||
case PIPE_CAP_DEPTH_CLIP_DISABLE:
|
||||
case PIPE_CAP_CLIP_HALFZ:
|
||||
return is_a3xx(screen);
|
||||
|
||||
case PIPE_CAP_TEXTURE_FLOAT_LINEAR:
|
||||
case PIPE_CAP_CUBE_MAP_ARRAY:
|
||||
return is_a4xx(screen);
|
||||
|
|
Loading…
Reference in New Issue