summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <ssp@redhat.com>2012-02-23 21:20:21 -0500
committerSøren Sandmann Pedersen <ssp@redhat.com>2012-02-25 16:33:52 -0500
commit57394ca2846079fe3358b7bacb4f14da2b9b63b9 (patch)
treed1daaf67870e28409018aadcc05ffb562361d665
parentda7915b55b6964e9457a69a007d7957476f0d7c9 (diff)
Process vargs
-rw-r--r--pixman/pixman-shader2.c33
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;
}
}
}