diff options
author | Søren Sandmann Pedersen <ssp@redhat.com> | 2012-02-23 21:20:21 -0500 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2012-02-25 16:33:52 -0500 |
commit | 57394ca2846079fe3358b7bacb4f14da2b9b63b9 (patch) | |
tree | d1daaf67870e28409018aadcc05ffb562361d665 | |
parent | da7915b55b6964e9457a69a007d7957476f0d7c9 (diff) |
Process vargs
-rw-r--r-- | pixman/pixman-shader2.c | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/pixman/pixman-shader2.c b/pixman/pixman-shader2.c index 42a11943..d4d6edca 100644 --- a/pixman/pixman-shader2.c +++ b/pixman/pixman-shader2.c @@ -39,9 +39,6 @@ typedef enum READ0, READ1, READ2, READ3, READ4, READ5, READ6, READ7, READ8, READ9, READ10, READ11, READ12, READ13, READ14, READ15, - X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, - Y0, Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8, Y9, Y10, Y11, Y12, Y13, Y14, Y15, - ADD, MUL, SUB, @@ -267,12 +264,25 @@ pixman_shader_run (pixman_shader_t * shader, int y, int width, int height, - pixman_image_t * src1, + pixman_image_t * src0, ...) { int line, col, i; va_list vargs; + pixman_image_t *images[16], *img; + + memset (images, 0, sizeof (images)); + va_start (vargs, src0); + i = 0; + img = src0; + while (img != NULL) + { + _pixman_image_validate (img); + images[i++] = img; + img = va_arg (vargs, pixman_image_t *); + } + _pixman_image_validate (dest); for (line = y; line < y + height; ++line) @@ -290,10 +300,25 @@ pixman_shader_run (pixman_shader_t * shader, { switch (inst->op) { + case READ0: case READ1: case READ2: case READ3: + case READ4: case READ5: case READ6: case READ7: + case READ8: case READ9: case READ10: case READ11: + case READ12: case READ13: case READ14: case READ15: + break; + + case ASSIGN: + break; + + case CONSTANT: + break; + case ADD: case SUB: case MUL: break; + + case OUTPUT: + break; } } } |