Thomas Wood | d96490a | 2014-06-16 16:21:35 +0100 | [diff] [blame] | 1 | #include "intel_batchbuffer.h" |
| 2 | |
| 3 | |
Daniel Vetter | f1de285 | 2012-01-18 00:55:49 +0100 | [diff] [blame] | 4 | static inline void emit_vertex_2s(struct intel_batchbuffer *batch, |
| 5 | int16_t x, int16_t y) |
Chris Wilson | 719ffef | 2011-05-22 10:34:12 +0100 | [diff] [blame] | 6 | { |
| 7 | OUT_BATCH((uint16_t)y << 16 | (uint16_t)x); |
| 8 | } |
| 9 | |
Daniel Vetter | f1de285 | 2012-01-18 00:55:49 +0100 | [diff] [blame] | 10 | static inline void emit_vertex(struct intel_batchbuffer *batch, |
| 11 | float f) |
Daniel Vetter | a6751ba | 2011-03-31 23:29:25 +0200 | [diff] [blame] | 12 | { |
| 13 | union { float f; uint32_t ui; } u; |
| 14 | u.f = f; |
| 15 | OUT_BATCH(u.ui); |
| 16 | } |
| 17 | |
Daniel Vetter | f1de285 | 2012-01-18 00:55:49 +0100 | [diff] [blame] | 18 | static inline void emit_vertex_normalized(struct intel_batchbuffer *batch, |
| 19 | float f, float total) |
Daniel Vetter | a6751ba | 2011-03-31 23:29:25 +0200 | [diff] [blame] | 20 | { |
| 21 | union { float f; uint32_t ui; } u; |
| 22 | u.f = f / total; |
| 23 | OUT_BATCH(u.ui); |
| 24 | } |
| 25 | |
Damien Lespiau | aa7f9cf | 2013-02-27 14:57:33 +0000 | [diff] [blame] | 26 | void gen9_render_copyfunc(struct intel_batchbuffer *batch, |
Zhao Yakui | f04bf00 | 2014-01-22 09:37:20 +0800 | [diff] [blame] | 27 | drm_intel_context *context, |
Damien Lespiau | aa7f9cf | 2013-02-27 14:57:33 +0000 | [diff] [blame] | 28 | 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 Barnes | 3edfff1 | 2013-02-27 14:51:32 +0000 | [diff] [blame] | 31 | void gen8_render_copyfunc(struct intel_batchbuffer *batch, |
Ville Syrjälä | 725da6e | 2013-11-21 19:05:17 +0200 | [diff] [blame] | 32 | drm_intel_context *context, |
Daniel Vetter | 83a4c7d | 2014-03-22 15:44:48 +0100 | [diff] [blame] | 33 | struct igt_buf *src, unsigned src_x, unsigned src_y, |
Jesse Barnes | 3edfff1 | 2013-02-27 14:51:32 +0000 | [diff] [blame] | 34 | unsigned width, unsigned height, |
Daniel Vetter | 83a4c7d | 2014-03-22 15:44:48 +0100 | [diff] [blame] | 35 | struct igt_buf *dst, unsigned dst_x, unsigned dst_y); |
Ben Widawsky | 2234f87 | 2012-06-28 22:42:58 -0700 | [diff] [blame] | 36 | void gen7_render_copyfunc(struct intel_batchbuffer *batch, |
Ville Syrjälä | 725da6e | 2013-11-21 19:05:17 +0200 | [diff] [blame] | 37 | drm_intel_context *context, |
Daniel Vetter | 83a4c7d | 2014-03-22 15:44:48 +0100 | [diff] [blame] | 38 | struct igt_buf *src, unsigned src_x, unsigned src_y, |
Ben Widawsky | 2234f87 | 2012-06-28 22:42:58 -0700 | [diff] [blame] | 39 | unsigned width, unsigned height, |
Daniel Vetter | 83a4c7d | 2014-03-22 15:44:48 +0100 | [diff] [blame] | 40 | struct igt_buf *dst, unsigned dst_x, unsigned dst_y); |
Daniel Vetter | f1de285 | 2012-01-18 00:55:49 +0100 | [diff] [blame] | 41 | void gen6_render_copyfunc(struct intel_batchbuffer *batch, |
Ville Syrjälä | 725da6e | 2013-11-21 19:05:17 +0200 | [diff] [blame] | 42 | drm_intel_context *context, |
Daniel Vetter | 83a4c7d | 2014-03-22 15:44:48 +0100 | [diff] [blame] | 43 | struct igt_buf *src, unsigned src_x, unsigned src_y, |
Daniel Vetter | 9f20ecc | 2012-01-18 17:46:00 +0100 | [diff] [blame] | 44 | unsigned width, unsigned height, |
Daniel Vetter | 83a4c7d | 2014-03-22 15:44:48 +0100 | [diff] [blame] | 45 | struct igt_buf *dst, unsigned dst_x, unsigned dst_y); |
Daniel Vetter | f1de285 | 2012-01-18 00:55:49 +0100 | [diff] [blame] | 46 | void gen3_render_copyfunc(struct intel_batchbuffer *batch, |
Ville Syrjälä | 725da6e | 2013-11-21 19:05:17 +0200 | [diff] [blame] | 47 | drm_intel_context *context, |
Daniel Vetter | 83a4c7d | 2014-03-22 15:44:48 +0100 | [diff] [blame] | 48 | struct igt_buf *src, unsigned src_x, unsigned src_y, |
Daniel Vetter | 9f20ecc | 2012-01-18 17:46:00 +0100 | [diff] [blame] | 49 | unsigned width, unsigned height, |
Daniel Vetter | 83a4c7d | 2014-03-22 15:44:48 +0100 | [diff] [blame] | 50 | struct igt_buf *dst, unsigned dst_x, unsigned dst_y); |
Daniel Vetter | f1de285 | 2012-01-18 00:55:49 +0100 | [diff] [blame] | 51 | void gen2_render_copyfunc(struct intel_batchbuffer *batch, |
Ville Syrjälä | 725da6e | 2013-11-21 19:05:17 +0200 | [diff] [blame] | 52 | drm_intel_context *context, |
Daniel Vetter | 83a4c7d | 2014-03-22 15:44:48 +0100 | [diff] [blame] | 53 | struct igt_buf *src, unsigned src_x, unsigned src_y, |
Daniel Vetter | 9f20ecc | 2012-01-18 17:46:00 +0100 | [diff] [blame] | 54 | unsigned width, unsigned height, |
Daniel Vetter | 83a4c7d | 2014-03-22 15:44:48 +0100 | [diff] [blame] | 55 | struct igt_buf *dst, unsigned dst_x, unsigned dst_y); |