This will be useful for putting iterators into tables where they can
be looked up by iterator flags. Without this flag, wide iterators can
only be recognized by the absence of ITER_NARROW, which makes testing
for a match difficult.
---
pixman/pixman-general.c | 20 +---
Similar to the changes to noop, put all the iterators into a table of
pixman_iter_info_t and then do a generic search of that table during
iterator initialization.
---
pixman/pixman-sse2.c | 64
1 file changed, 35 insertions(+), 29 deletions(-)
Similar to the SSE2 commit, information about the iterators is stored
in a table of pixman_iter_info_t.
---
pixman/pixman-mmx.c | 64 +
1 file changed, 35 insertions(+), 29 deletions(-)
diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
Similar to the SSE2 and MMX patches, this commit replaces a table of
fetcher_info_t with a table of pixman_iter_info_t, and similar to the
noop patch, both fast_src_iter_init() and fast_dest_iter_init() are
now doing exactly the same thing, so their code can be shared in a new
function called
A new field, 'iter_info', is added to the implementation struct, and
all the implementations store a pointer to their iterator tables in
it. A new function, _pixman_implementation_iter_init(), is then added
that searches those tables, and the new function is called in
pixman-general.c and
The SSE2, MMX, and fast implementations all have a copy of the
function iter_init_bits_stride that computes an image buffer and
stride.
Move that function to pixman-utils.c and share it among all the
implementations.
---
pixman/pixman-fast-path.c | 19 +--
pixman/pixman-mmx.c