1*d83cc019SAndroid Build Coastguard Worker #include "intel_batchbuffer.h"
2*d83cc019SAndroid Build Coastguard Worker
3*d83cc019SAndroid Build Coastguard Worker
emit_vertex_2s(struct intel_batchbuffer * batch,int16_t x,int16_t y)4*d83cc019SAndroid Build Coastguard Worker static inline void emit_vertex_2s(struct intel_batchbuffer *batch,
5*d83cc019SAndroid Build Coastguard Worker int16_t x, int16_t y)
6*d83cc019SAndroid Build Coastguard Worker {
7*d83cc019SAndroid Build Coastguard Worker OUT_BATCH((uint16_t)y << 16 | (uint16_t)x);
8*d83cc019SAndroid Build Coastguard Worker }
9*d83cc019SAndroid Build Coastguard Worker
emit_vertex(struct intel_batchbuffer * batch,float f)10*d83cc019SAndroid Build Coastguard Worker static inline void emit_vertex(struct intel_batchbuffer *batch,
11*d83cc019SAndroid Build Coastguard Worker float f)
12*d83cc019SAndroid Build Coastguard Worker {
13*d83cc019SAndroid Build Coastguard Worker union { float f; uint32_t ui; } u;
14*d83cc019SAndroid Build Coastguard Worker u.f = f;
15*d83cc019SAndroid Build Coastguard Worker OUT_BATCH(u.ui);
16*d83cc019SAndroid Build Coastguard Worker }
17*d83cc019SAndroid Build Coastguard Worker
emit_vertex_normalized(struct intel_batchbuffer * batch,float f,float total)18*d83cc019SAndroid Build Coastguard Worker static inline void emit_vertex_normalized(struct intel_batchbuffer *batch,
19*d83cc019SAndroid Build Coastguard Worker float f, float total)
20*d83cc019SAndroid Build Coastguard Worker {
21*d83cc019SAndroid Build Coastguard Worker union { float f; uint32_t ui; } u;
22*d83cc019SAndroid Build Coastguard Worker u.f = f / total;
23*d83cc019SAndroid Build Coastguard Worker OUT_BATCH(u.ui);
24*d83cc019SAndroid Build Coastguard Worker }
25*d83cc019SAndroid Build Coastguard Worker
26*d83cc019SAndroid Build Coastguard Worker void gen11_render_copyfunc(struct intel_batchbuffer *batch,
27*d83cc019SAndroid Build Coastguard Worker drm_intel_context *context,
28*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *src, unsigned src_x, unsigned src_y,
29*d83cc019SAndroid Build Coastguard Worker unsigned width, unsigned height,
30*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
31*d83cc019SAndroid Build Coastguard Worker void gen9_render_copyfunc(struct intel_batchbuffer *batch,
32*d83cc019SAndroid Build Coastguard Worker drm_intel_context *context,
33*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *src, unsigned src_x, unsigned src_y,
34*d83cc019SAndroid Build Coastguard Worker unsigned width, unsigned height,
35*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
36*d83cc019SAndroid Build Coastguard Worker void gen8_render_copyfunc(struct intel_batchbuffer *batch,
37*d83cc019SAndroid Build Coastguard Worker drm_intel_context *context,
38*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *src, unsigned src_x, unsigned src_y,
39*d83cc019SAndroid Build Coastguard Worker unsigned width, unsigned height,
40*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
41*d83cc019SAndroid Build Coastguard Worker void gen7_render_copyfunc(struct intel_batchbuffer *batch,
42*d83cc019SAndroid Build Coastguard Worker drm_intel_context *context,
43*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *src, unsigned src_x, unsigned src_y,
44*d83cc019SAndroid Build Coastguard Worker unsigned width, unsigned height,
45*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
46*d83cc019SAndroid Build Coastguard Worker void gen6_render_copyfunc(struct intel_batchbuffer *batch,
47*d83cc019SAndroid Build Coastguard Worker drm_intel_context *context,
48*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *src, unsigned src_x, unsigned src_y,
49*d83cc019SAndroid Build Coastguard Worker unsigned width, unsigned height,
50*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
51*d83cc019SAndroid Build Coastguard Worker void gen4_render_copyfunc(struct intel_batchbuffer *batch,
52*d83cc019SAndroid Build Coastguard Worker drm_intel_context *context,
53*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *src, unsigned src_x, unsigned src_y,
54*d83cc019SAndroid Build Coastguard Worker unsigned width, unsigned height,
55*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
56*d83cc019SAndroid Build Coastguard Worker void gen3_render_copyfunc(struct intel_batchbuffer *batch,
57*d83cc019SAndroid Build Coastguard Worker drm_intel_context *context,
58*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *src, unsigned src_x, unsigned src_y,
59*d83cc019SAndroid Build Coastguard Worker unsigned width, unsigned height,
60*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
61*d83cc019SAndroid Build Coastguard Worker void gen2_render_copyfunc(struct intel_batchbuffer *batch,
62*d83cc019SAndroid Build Coastguard Worker drm_intel_context *context,
63*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *src, unsigned src_x, unsigned src_y,
64*d83cc019SAndroid Build Coastguard Worker unsigned width, unsigned height,
65*d83cc019SAndroid Build Coastguard Worker const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
66