blob: fdc3cabb20d72c8e7495eb58b13cad5c567fdbec [file] [log] [blame]
Thomas Woodd96490a2014-06-16 16:21:35 +01001#include "intel_batchbuffer.h"
2
3
Daniel Vetterf1de2852012-01-18 00:55:49 +01004static inline void emit_vertex_2s(struct intel_batchbuffer *batch,
5 int16_t x, int16_t y)
Chris Wilson719ffef2011-05-22 10:34:12 +01006{
7 OUT_BATCH((uint16_t)y << 16 | (uint16_t)x);
8}
9
Daniel Vetterf1de2852012-01-18 00:55:49 +010010static inline void emit_vertex(struct intel_batchbuffer *batch,
11 float f)
Daniel Vettera6751ba2011-03-31 23:29:25 +020012{
13 union { float f; uint32_t ui; } u;
14 u.f = f;
15 OUT_BATCH(u.ui);
16}
17
Daniel Vetterf1de2852012-01-18 00:55:49 +010018static inline void emit_vertex_normalized(struct intel_batchbuffer *batch,
19 float f, float total)
Daniel Vettera6751ba2011-03-31 23:29:25 +020020{
21 union { float f; uint32_t ui; } u;
22 u.f = f / total;
23 OUT_BATCH(u.ui);
24}
25
Damien Lespiauaa7f9cf2013-02-27 14:57:33 +000026void gen9_render_copyfunc(struct intel_batchbuffer *batch,
Zhao Yakuif04bf002014-01-22 09:37:20 +080027 drm_intel_context *context,
Damien Lespiauaa7f9cf2013-02-27 14:57:33 +000028 struct igt_buf *src, unsigned src_x, unsigned src_y,
29 unsigned width, unsigned height,
30 struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
Jesse Barnes3edfff12013-02-27 14:51:32 +000031void gen8_render_copyfunc(struct intel_batchbuffer *batch,
Ville Syrjälä725da6e2013-11-21 19:05:17 +020032 drm_intel_context *context,
Daniel Vetter83a4c7d2014-03-22 15:44:48 +010033 struct igt_buf *src, unsigned src_x, unsigned src_y,
Jesse Barnes3edfff12013-02-27 14:51:32 +000034 unsigned width, unsigned height,
Daniel Vetter83a4c7d2014-03-22 15:44:48 +010035 struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
Ben Widawsky2234f872012-06-28 22:42:58 -070036void gen7_render_copyfunc(struct intel_batchbuffer *batch,
Ville Syrjälä725da6e2013-11-21 19:05:17 +020037 drm_intel_context *context,
Daniel Vetter83a4c7d2014-03-22 15:44:48 +010038 struct igt_buf *src, unsigned src_x, unsigned src_y,
Ben Widawsky2234f872012-06-28 22:42:58 -070039 unsigned width, unsigned height,
Daniel Vetter83a4c7d2014-03-22 15:44:48 +010040 struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
Daniel Vetterf1de2852012-01-18 00:55:49 +010041void gen6_render_copyfunc(struct intel_batchbuffer *batch,
Ville Syrjälä725da6e2013-11-21 19:05:17 +020042 drm_intel_context *context,
Daniel Vetter83a4c7d2014-03-22 15:44:48 +010043 struct igt_buf *src, unsigned src_x, unsigned src_y,
Daniel Vetter9f20ecc2012-01-18 17:46:00 +010044 unsigned width, unsigned height,
Daniel Vetter83a4c7d2014-03-22 15:44:48 +010045 struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
Daniel Vetterf1de2852012-01-18 00:55:49 +010046void gen3_render_copyfunc(struct intel_batchbuffer *batch,
Ville Syrjälä725da6e2013-11-21 19:05:17 +020047 drm_intel_context *context,
Daniel Vetter83a4c7d2014-03-22 15:44:48 +010048 struct igt_buf *src, unsigned src_x, unsigned src_y,
Daniel Vetter9f20ecc2012-01-18 17:46:00 +010049 unsigned width, unsigned height,
Daniel Vetter83a4c7d2014-03-22 15:44:48 +010050 struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
Daniel Vetterf1de2852012-01-18 00:55:49 +010051void gen2_render_copyfunc(struct intel_batchbuffer *batch,
Ville Syrjälä725da6e2013-11-21 19:05:17 +020052 drm_intel_context *context,
Daniel Vetter83a4c7d2014-03-22 15:44:48 +010053 struct igt_buf *src, unsigned src_x, unsigned src_y,
Daniel Vetter9f20ecc2012-01-18 17:46:00 +010054 unsigned width, unsigned height,
Daniel Vetter83a4c7d2014-03-22 15:44:48 +010055 struct igt_buf *dst, unsigned dst_x, unsigned dst_y);