freedreno: Use common guardband helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5950>
This commit is contained in:
@@ -35,6 +35,7 @@
|
|||||||
#include "freedreno_log.h"
|
#include "freedreno_log.h"
|
||||||
#include "freedreno_resource.h"
|
#include "freedreno_resource.h"
|
||||||
#include "freedreno_query_hw.h"
|
#include "freedreno_query_hw.h"
|
||||||
|
#include "common/freedreno_guardband.h"
|
||||||
|
|
||||||
#include "fd6_emit.h"
|
#include "fd6_emit.h"
|
||||||
#include "fd6_blend.h"
|
#include "fd6_blend.h"
|
||||||
@@ -904,8 +905,12 @@ fd6_emit_state(struct fd_ringbuffer *ring, struct fd6_emit *emit)
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
unsigned guardband_x = fd_calc_guardband(scissor->maxx - scissor->minx);
|
unsigned guardband_x =
|
||||||
unsigned guardband_y = fd_calc_guardband(scissor->maxy - scissor->miny);
|
fd_calc_guardband(ctx->viewport.translate[0], ctx->viewport.scale[0],
|
||||||
|
false);
|
||||||
|
unsigned guardband_y =
|
||||||
|
fd_calc_guardband(ctx->viewport.translate[1], ctx->viewport.scale[1],
|
||||||
|
false);
|
||||||
|
|
||||||
OUT_REG(ring, A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ(
|
OUT_REG(ring, A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ(
|
||||||
.horz = guardband_x,
|
.horz = guardband_x,
|
||||||
|
@@ -203,18 +203,6 @@ fd_half_precision(struct pipe_framebuffer_state *pfb)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Note sure if this is same on all gens, but seems to be same on the later
|
|
||||||
* gen's
|
|
||||||
*/
|
|
||||||
static inline unsigned
|
|
||||||
fd_calc_guardband(unsigned x)
|
|
||||||
{
|
|
||||||
float l = log2(x);
|
|
||||||
if (l <= 8)
|
|
||||||
return 511;
|
|
||||||
return 511 - ((l - 8) * 65);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void emit_marker(struct fd_ringbuffer *ring, int scratch_idx);
|
static inline void emit_marker(struct fd_ringbuffer *ring, int scratch_idx);
|
||||||
|
|
||||||
/* like OUT_RING() but appends a cmdstream patch point to 'buf' */
|
/* like OUT_RING() but appends a cmdstream patch point to 'buf' */
|
||||||
|
Reference in New Issue
Block a user