[gs-cvs] rev 7509 - in trunk/gs: doc src
leonardo at ghostscript.com
leonardo at ghostscript.com
Thu Dec 14 13:40:08 PST 2006
Author: leonardo
Date: 2006-12-14 13:40:07 -0800 (Thu, 14 Dec 2006)
New Revision: 7509
Modified:
trunk/gs/doc/pscet_status.txt
trunk/gs/src/gxshade.c
trunk/gs/src/gxshade.h
trunk/gs/src/gxshade4.c
Log:
Fix (shadings) : Align coordinate data and color data to byte boundary (continued).
DETAILS :
Debugged with CET 12-14O.PS page 2.
The recent patch for the subject appears incomplete.
After debugging with more tests (ShadingType 5),
the parameter align_color_data appears always false and goes away.
EXPECTED DIFFERENCES :
None.
Modified: trunk/gs/doc/pscet_status.txt
===================================================================
--- trunk/gs/doc/pscet_status.txt 2006-12-14 20:24:33 UTC (rev 7508)
+++ trunk/gs/doc/pscet_status.txt 2006-12-14 21:40:07 UTC (rev 7509)
@@ -1062,13 +1062,17 @@
- -
Test12: ok Fixed by rev 7175.
-09-47J-1 DIFF graphic column 1 row 1 different clipping Assign: Ray
+09-47J-1 AOK Analyzed by Igor.
+ Tek misses an imagemask or a character with a shading color.
+ See explanation in 09-47J-6.
cpsi/09-47J-1 missing
09-47J-10 OK Verified visually against Tek hardcopy by Sabrina
cpsi/09-47J-10 missing
-09-47J-2 DIFF graphic column 1 row 1 different clipping Assign: Ray
+09-47J-2 AOK Analyzed by Igor.
+ Tek misses an imagemask or a character with a shading color.
+ See explanation in 09-47J-6.
cpsi/09-47J-2 missing
09-47J-3 OK Verified visually against Tek hardcopy by Sabrina
@@ -1077,30 +1081,54 @@
09-47J-4 OK Verified visually against Tek hardcopy by Sabrina
cpsi/09-47J-4 missing
-09-47J-5 DIFF missing several graphics Assign: Ray
+09-47J-5 AOK Analyzed by Igor.
+ Tek misses an imagemask or a character with a shading color.
+ The bug is well visible in Test03 : The triangle is painted with the shading color,
+ then the character is painted with the shading Background,
+ which overlaps a part of the triangle, and then the character is
+ not painted with the shading color.
cpsi/09-47J-5 missing
-09-47J-6 DIFF missing several graphics Assign: Ray
+09-47J-6 AOK Analyzed by Igor.
+ Tek misses an imagemask or a character with a shading color.
+ The bug is well visible in Test03 : The triangle is painted with the shading color,
+ then the character is painted with the shading Background,
+ which overlaps a part of the triangle, and then the character is
+ not painted with the shading color.
cpsi/09-47J-6 missing
09-47J-4 OK Verified visually against Tek hardcopy by Sabrina
cpsi/09-47J-7 missing
-09-47J-8 DIFF graphic column 1 row 1 different clipping Assign: Ray
+09-47J-8 AOK Analyzed by Igor.
+ Tek misses an imagemaskmask or a character with a shading color.
cpsi/09-47J-8 missing
09-47J-4 OK Verified visually against Tek hardcopy by Sabrina
cpsi/09-47J-9 missing
-09-47K-1 DIFF graphic column 1 row 1 different clipping Assign: Ray
+09-47K-1 AOK Analyzed by Igor.
+ Tek yields a rangecheck while rendering
+ an imagemask or a character with a shading color.
+ and misses the rest of graphics.
+ I don't see any legal reason for rangecheck.
+ See explanation in 09-47J-6.
cpsi/09-47K-1 missing
-09-47K-2 DIFF graphic column 1 row 1 different clipping Assign: Ray
- Improved with rev 7211, still needs to veryfy with Tek.
+09-47K-2 AOK Analyzed by Igor.
+ Tek yields a rangecheck while rendering
+ an imagemask or a character with a shading color.
+ and misses the rest of graphics.
+ I don't see any legal reason for rangecheck.
+ See explanation in 09-47J-6.
cpsi/09-47K-2 missing
-09-47K-3 DIFF graphic column 1 row 1 different clipping Assign: Ray
- Improved with rev 7211, still needs to veryfy with Tek.
+09-47K-3 AOK Analyzed by Igor.
+ Tek yields a rangecheck while rendering
+ an imagemask or a character with a shading color.
+ and misses the rest of graphics.
+ I don't see any legal reason for rangecheck.
+ See explanation in 09-47J-6.
cpsi/09-47K-3 missing
09-47K-4 OK Verified visually against Tek hardcopy by Sabrina
@@ -2646,8 +2674,8 @@
12-14O-1 OK Minor differences in positions and character shapes - ADC
-12-14O-2 DIFF GS has wrong colors, Test05, Test06. GS has red-green shading
- CPSI has green-blue shading. (as of rev 7211) Assign: Igor
+12-14O-2 DIFF test12: The yellow horizontal bar must not appear.
+ Assigned to Igor.
12-14O-3 OK Fixed with rev 7211.
Modified: trunk/gs/src/gxshade.c
===================================================================
--- trunk/gs/src/gxshade.c 2006-12-14 20:24:33 UTC (rev 7508)
+++ trunk/gs/src/gxshade.c 2006-12-14 21:40:07 UTC (rev 7509)
@@ -297,12 +297,10 @@
/* Get the next vertex for a mesh element. */
int
-shade_next_vertex(shade_coord_stream_t * cs, shading_vertex_t * vertex, patch_color_t *c, bool align_color_data)
+shade_next_vertex(shade_coord_stream_t * cs, shading_vertex_t * vertex, patch_color_t *c)
{ /* Assuming p->c == c, provides a non-const access. */
int code = shade_next_coords(cs, &vertex->p, 1);
- if (code >= 0 && align_color_data)
- cs->align(cs, 8);
if (code >= 0)
code = shade_next_color(cs, c->cc.paint.values);
if (code >= 0)
Modified: trunk/gs/src/gxshade.h
===================================================================
--- trunk/gs/src/gxshade.h 2006-12-14 20:24:33 UTC (rev 7508)
+++ trunk/gs/src/gxshade.h 2006-12-14 21:40:07 UTC (rev 7509)
@@ -152,7 +152,7 @@
/* Get the next vertex for a mesh element. */
int shade_next_vertex(shade_coord_stream_t * cs, shading_vertex_t * vertex,
- patch_color_t *c, bool align_color_data);
+ patch_color_t *c);
/*
Currently, all shading fill procedures follow the same algorithm:
Modified: trunk/gs/src/gxshade4.c
===================================================================
--- trunk/gs/src/gxshade4.c 2006-12-14 20:24:33 UTC (rev 7508)
+++ trunk/gs/src/gxshade4.c 2006-12-14 21:40:07 UTC (rev 7509)
@@ -48,9 +48,9 @@
private int
Gt_next_vertex(const gs_shading_mesh_t * psh, shade_coord_stream_t * cs,
- shading_vertex_t * vertex, patch_color_t *c, bool align_color_data)
+ shading_vertex_t * vertex, patch_color_t *c)
{
- int code = shade_next_vertex(cs, vertex, c, align_color_data);
+ int code = shade_next_vertex(cs, vertex, c);
if (code >= 0 && psh->params.Function) {
c->t[0] = c->cc.paint.values[0];
@@ -122,9 +122,9 @@
default:
return_error(gs_error_rangecheck);
case 0:
- if ((code = Gt_next_vertex(pshm, &cs, &va, ca, false)) < 0 ||
+ if ((code = Gt_next_vertex(pshm, &cs, &va, ca)) < 0 ||
(code = shade_next_flag(&cs, num_bits)) < 0 ||
- (code = Gt_next_vertex(pshm, &cs, &vb, cb, false)) < 0 ||
+ (code = Gt_next_vertex(pshm, &cs, &vb, cb)) < 0 ||
(code = shade_next_flag(&cs, num_bits)) < 0
)
break;
@@ -139,11 +139,12 @@
vb = vc;
cb = cc;
vc.c = cc = c;
-v2: if ((code = Gt_next_vertex(pshm, &cs, &vc, cc, false)) < 0)
+v2: if ((code = Gt_next_vertex(pshm, &cs, &vc, cc)) < 0)
break;
if ((code = Gt_fill_triangle(&pfs, &va, &vb, &vc)) < 0)
break;
}
+ cs.align(&cs, 8); /* Debugged with 12-14O.PS page 2. */
}
if (VD_TRACE_TRIANGLE_PATCH && vd_allowed('s'))
vd_release_dc;
@@ -211,11 +212,11 @@
for (i = 0; i < per_row; ++i) {
color_buffer_ptrs[i] = (patch_color_t *)(color_buffer + pfs.color_stack_step * i);
vertex[i].c = color_buffer_ptrs[i];
- if ((code = Gt_next_vertex(pshm, &cs, &vertex[i], color_buffer_ptrs[i], true)) < 0)
+ if ((code = Gt_next_vertex(pshm, &cs, &vertex[i], color_buffer_ptrs[i])) < 0)
goto out;
}
while (!seofp(cs.s)) {
- code = Gt_next_vertex(pshm, &cs, &next, cn, true);
+ code = Gt_next_vertex(pshm, &cs, &next, cn);
if (code < 0)
goto out;
for (i = 1; i < per_row; ++i) {
@@ -226,7 +227,7 @@
vertex[i - 1] = next;
color_buffer_ptrs[i - 1] = cn;
next.c = cn = c;
- code = Gt_next_vertex(pshm, &cs, &next, cn, true);
+ code = Gt_next_vertex(pshm, &cs, &next, cn);
if (code < 0)
goto out;
code = Gt_fill_triangle(&pfs, &vertex[i], &vertex[i - 1], &next);
More information about the gs-cvs
mailing list