Commit graph

20 commits

Author SHA1 Message Date
Fabien Freling
d28caec8cc Implement SIMD in two passes.
In a first pass, we put the pixels values and the coefficients
in two separate buffers.

In a second pass, we computer the interpolation.
2014-09-08 22:32:35 +02:00
Fabien Freling
242813ed41 Update padding and deactivate borders.
Borders are merged with padding for now.
2014-08-07 19:50:13 +02:00
Fabien Freling
723cd88d56 Do a memset for padding. 2014-08-06 23:22:29 +02:00
Fabien Freling
593352bc45 Use qdx to infer padding.
The border is unused for now.

I set padding to a specific color.
2014-08-06 21:49:40 +02:00
Fabien Freling
5403a2deeb Clean images before doing a run. 2014-08-06 21:43:27 +02:00
Fabien Freling
bcc195c775 Update build for Linux.
Add flags for SSE instructions.
2014-07-28 19:47:51 +02:00
Fabien Freling
da4bdf7702 Decompose complex lines.
Create a bunch of const variables to better profile.
2014-07-27 22:41:09 +02:00
Fabien Freling
4dba86c9f0 Add configure script.
- Deactivate LTO.
- Deactivate SIMD.
2014-07-27 18:01:41 +02:00
Fabien Freling
f8178fae98 Add 'callgrind' target.
- Reactivate SIMD.
2014-07-24 22:40:02 +02:00
Fabien Freling
c704c14526 Add 'runall' target.
The ‘runall’ target runs the rotation on different sizes:
- 512x512
- 1024x1024
- 3000x3000
2014-07-24 22:17:55 +02:00
Fabien Freling
7e152c29fc Add support for PGM format.
The code has been split into different source files.

This breaks for now rotation for tiled images and PPM format. The focus
is now on the PGM format.
2014-07-21 06:57:08 +02:00
Fabien Freling
20055e22c5 Clean Makefile indentation. 2014-07-16 22:07:30 +02:00
Fabien Freling
bcf16680ae Remove RGBX structure.
The pixels are still packed as RGBX in memory but
no structure is created, it’s just a contiguous buffer.

Interpolation is now done with SIMD on integer values.

- Add SIMD define.
2014-07-16 02:08:32 +02:00
Fabien Freling
cce4d45ba6 Implement pixels as RGBX structure.
- Add ‘make debug’ target
- Add links in README
2014-07-12 22:42:48 +02:00
Fabien Freling
7c6cfd9046 Create small overlap in tiles.
Tiles overlap on the bottom line and the right column.
Having an overlap allows us to get neighbor points for each point in a
tile, regardless of its position.
2014-07-10 22:01:55 +02:00
Fabien Freling
bb996596e4 Add commodity targets.
- make run
- make cachegrind
2014-07-08 00:15:16 +02:00
Fabien Freling
049228b377 Fill a temp buffer for each line.
We don’t write into the memory right away, we first write to a temp
buffer that we blit into the rotated image.
2014-07-04 08:23:06 +02:00
Fabien Freling
3af56f6619 Interpolate using SSE instructions. 2014-06-29 17:17:19 +02:00
Fabien Freling
8a17f7b8d8 Draw rotated outlines.
There is a bug for rotation = pi / 2
2014-06-19 00:05:49 +02:00
Fabien Freling
4bf69e8204 Initial commit 2014-06-18 08:47:10 +02:00