Neil Roberts
2ded18933e
cogl-matrix: Get rid of the *_packed variants
...
cogl_matrix_project_points and cogl_matrix_transform_points had an
optimization for the common case where the stride parameters exactly
match the size of the corresponding structures. The code for both when
generated by gcc with -O2 on x86-64 use two registers to hold the
addresses of the input and output arrays. In the strided version these
pointers are incremented by adding the value of a register and in the
packed version they are incremented by adding an immediate value. I
think the difference in cost here would be negligible and it may even
be faster to add a register.
Also GCC appears to retain the loop counter in a register for the
strided version but in the packed version it can optimize it out and
directly use the input pointer as the counter. I think it would be
possible to reorder the code a bit to explicitly use the input pointer
as the counter if this were a problem.
Getting rid of the packed versions tidies up the code a bit and it
could potentially be faster if the code differences are small and we
get to avoid an extra conditional in cogl_matrix_transform_points.
2011-02-01 13:18:43 +00:00
..
2010-12-14 10:07:32 +00:00
2011-02-01 13:18:43 +00:00
2011-01-28 18:19:08 +00:00
2011-01-21 10:25:45 +00:00
2011-01-21 16:18:10 +00:00
2011-01-28 18:19:49 +00:00
2011-01-31 13:47:34 +00:00
2011-01-21 20:22:32 +00:00
2011-01-28 18:19:49 +00:00
2011-01-28 18:19:49 +00:00
2010-05-26 14:09:24 +01:00
2010-05-20 11:19:51 +01:00
2010-10-25 23:44:53 +01:00
2010-10-21 13:13:00 +01:00
2010-11-29 10:54:33 +00:00
2010-10-21 13:13:00 +01:00
2010-12-10 16:03:10 +00:00
2011-01-31 13:37:32 +00:00
2010-12-09 12:36:50 +00:00
2011-01-20 16:35:26 +00:00
2011-01-20 16:35:26 +00:00
2011-01-24 11:52:47 +00:00
2010-10-18 11:26:44 +01:00
2010-07-31 10:56:09 +01:00
2010-12-11 17:43:23 +00:00
2010-09-10 11:18:53 +01:00
2011-01-26 11:01:21 +00:00
2010-06-07 14:22:26 +01:00
2011-01-21 10:25:43 +00:00
2011-01-21 10:25:43 +00:00
2011-01-20 16:35:26 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2010-06-01 12:08:18 +01:00
2010-10-18 11:26:45 +01:00
2009-10-14 11:31:29 +01:00
2011-01-25 11:14:37 +00:00
2011-01-25 11:14:37 +00:00
2011-01-20 16:35:26 +00:00
2011-01-20 16:35:26 +00:00
2011-01-20 16:35:26 +00:00
2011-01-20 16:35:26 +00:00
2010-10-08 13:29:49 +01:00
2010-03-25 09:41:54 +00:00
2010-10-18 11:26:45 +01:00
2010-03-02 11:12:32 +00:00
2010-11-08 16:01:19 +00:00
2010-11-08 16:01:19 +00:00
2010-10-18 11:26:45 +01:00
2011-01-17 17:31:46 +00:00
2011-01-17 17:31:46 +00:00
2010-11-23 12:50:29 +00:00
2010-11-11 13:14:23 +00:00
2011-01-17 15:22:48 +00:00
2011-01-17 15:22:48 +00:00
2011-01-20 16:35:26 +00:00
2011-01-20 16:35:26 +00:00
2011-01-19 14:33:27 +00:00
2010-11-18 15:21:16 +00:00
2010-09-17 12:17:50 +01:00
2011-01-10 14:03:35 +00:00
2010-09-30 14:58:23 +01:00
2011-01-31 13:43:12 +00:00
2010-12-17 13:37:05 +00:00
2010-11-18 18:23:49 +00:00
2009-07-21 09:22:38 +01:00
2011-01-20 16:35:26 +00:00
2011-01-20 16:35:26 +00:00
2011-01-28 18:19:49 +00:00
2011-01-28 18:19:49 +00:00
2011-01-21 10:25:43 +00:00
2011-01-18 14:48:14 +00:00
2010-09-07 10:40:49 +01:00
2010-09-29 15:12:57 +01:00
2010-11-18 18:23:49 +00:00
2009-05-29 12:40:23 +01:00
2011-01-21 10:25:43 +00:00
2011-01-21 10:25:43 +00:00
2011-01-28 18:19:49 +00:00
2011-01-28 18:19:49 +00:00
2010-10-21 12:22:17 +01:00
2010-02-15 19:03:37 +00:00
2010-06-07 22:40:34 +01:00
2009-10-14 11:31:29 +01:00
2010-09-08 17:04:21 +01:00
2010-12-10 17:15:39 +00:00
2010-10-18 11:26:45 +01:00
2009-10-14 11:31:30 +01:00
2010-11-17 16:19:10 +00:00
2011-01-20 13:29:37 +00:00
2010-09-29 15:12:57 +01:00
2010-03-01 12:56:10 +00:00
2011-01-28 18:19:49 +00:00
2011-01-21 10:25:45 +00:00
2010-10-25 00:31:36 +01:00
2010-05-24 15:06:14 +01:00
2010-12-02 09:53:00 +00:00
2010-09-10 17:54:52 +01:00
2010-12-02 09:53:00 +00:00
2010-10-18 11:26:45 +01:00
2010-12-09 12:36:50 +00:00
2010-08-10 17:12:06 +01:00
2009-12-02 11:36:25 +00:00
2011-01-10 21:22:22 +00:00
2011-01-28 18:19:49 +00:00
2010-11-06 20:11:16 +00:00
2011-01-21 10:25:43 +00:00
2010-11-17 16:19:10 +00:00
2009-07-10 11:38:42 +01:00
2010-10-18 11:26:44 +01:00
2010-05-19 16:10:05 +01:00
2009-05-05 20:18:28 +01:00
2011-01-21 20:44:17 +00:00
2011-01-21 20:42:52 +00:00
2010-11-29 10:55:52 +00:00
2010-12-09 12:36:50 +00:00
2011-01-20 16:35:26 +00:00
2011-01-20 16:35:26 +00:00
2010-10-21 13:13:00 +01:00
2010-11-23 12:50:29 +00:00
2011-01-20 16:35:26 +00:00
2011-01-20 16:35:26 +00:00
2010-10-21 12:22:17 +01:00
2009-10-06 10:43:41 +01:00
2011-01-21 10:25:44 +00:00
2010-09-14 12:43:16 +01:00
2010-09-14 12:43:16 +01:00
2011-01-17 17:31:59 +00:00
2010-12-07 21:44:32 +00:00
2011-01-21 20:44:16 +00:00
2010-10-19 01:42:19 +01:00
2010-11-18 15:21:16 +00:00
2010-10-18 11:26:44 +01:00
2010-12-09 12:36:50 +00:00
2011-01-20 16:35:26 +00:00
2011-01-20 16:35:26 +00:00
2010-12-09 11:57:06 +00:00
2010-06-03 14:34:41 +01:00
2010-06-16 17:14:57 +01:00
2009-05-12 14:53:44 +01:00
2011-01-11 11:20:16 +00:00
2010-11-18 18:23:49 +00:00
2011-01-20 16:35:26 +00:00
2011-01-20 16:35:26 +00:00
2010-10-21 13:13:00 +01:00
2010-10-21 11:30:19 +01:00
2010-05-19 16:10:05 +01:00
2011-01-28 18:19:49 +00:00
2010-12-30 12:44:13 +00:00
2010-12-30 12:44:13 +00:00
2011-01-28 18:19:49 +00:00
2010-12-30 12:44:13 +00:00
2010-10-25 17:21:20 +01:00
2010-10-18 11:26:45 +01:00
2010-10-08 12:11:39 +01:00
2010-09-23 15:17:58 +01:00
2011-01-30 23:00:00 +00:00
2010-02-03 14:38:13 +00:00
2010-11-18 18:23:49 +00:00
2010-11-18 18:23:49 +00:00
2011-01-24 11:31:09 +00:00
2011-01-24 11:52:47 +00:00
2010-11-17 16:19:10 +00:00
2010-11-17 16:19:10 +00:00
2011-01-20 13:29:37 +00:00
2011-01-20 13:29:37 +00:00
2011-01-21 10:25:43 +00:00
2010-12-09 13:59:08 +00:00
2010-12-10 17:15:39 +00:00
2010-09-29 15:13:00 +01:00
2010-02-06 10:49:33 +00:00
2010-03-02 11:12:32 +00:00
2011-01-19 14:33:27 +00:00
2010-09-29 14:40:15 +01:00
2011-01-31 13:43:12 +00:00