Commit Graph

20 Commits (master)

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