[gs-cvs] rev 8550 - trunk/gs/src
leonardo at ghostscript.com
leonardo at ghostscript.com
Tue Feb 26 16:08:22 PST 2008
Author: leonardo
Date: 2008-02-26 16:08:22 -0800 (Tue, 26 Feb 2008)
New Revision: 8550
Modified:
trunk/gs/src/gdevpdfg.c
trunk/gs/src/gsistate.c
trunk/gs/src/gxistate.h
trunk/gs/src/lib.mak
Log:
Fix (clist interpreter) : Improve transparency performance, step 2.
DETAILS :
This is a preparation for fixing bug 689708 "Long processing time of PDF file"
The last patch appears incomplete due to a missed dependence in makefile.
Now we see the mask pointer was used but it was always NULL.
EXPECTED DIFFERENCES :
None.
Modified: trunk/gs/src/gdevpdfg.c
===================================================================
--- trunk/gs/src/gdevpdfg.c 2008-02-26 23:14:40 UTC (rev 8549)
+++ trunk/gs/src/gdevpdfg.c 2008-02-27 00:08:22 UTC (rev 8550)
@@ -1417,8 +1417,8 @@
* If the graphics state calls for any transparency functions,
* we can't represent them, so return a rangecheck.
*/
- if (pis->opacity.alpha != 1 || pis->opacity.mask != 0 ||
- pis->shape.alpha != 1 || pis->shape.mask != 0 ||
+ if (pis->opacity.alpha != 1 ||
+ pis->shape.alpha != 1 ||
pis->transparency_stack != 0
)
return_error(gs_error_rangecheck);
Modified: trunk/gs/src/gsistate.c
===================================================================
--- trunk/gs/src/gsistate.c 2008-02-26 23:14:40 UTC (rev 8549)
+++ trunk/gs/src/gsistate.c 2008-02-27 00:08:22 UTC (rev 8550)
@@ -62,10 +62,8 @@
ENUM_PTRS_BEGIN(imager_state_enum_ptrs)
ENUM_SUPER(gs_imager_state, st_line_params, line_params, st_imager_state_num_ptrs - st_line_params_num_ptrs);
ENUM_PTR(0, gs_imager_state, client_data);
- ENUM_PTR(1, gs_imager_state, opacity.mask);
- ENUM_PTR(2, gs_imager_state, shape.mask);
- ENUM_PTR(3, gs_imager_state, transparency_stack);
-#define E1(i,elt) ENUM_PTR(i+4,gs_imager_state,elt);
+ ENUM_PTR(1, gs_imager_state, transparency_stack);
+#define E1(i,elt) ENUM_PTR(i+2,gs_imager_state,elt);
gs_cr_state_do_ptrs(E1)
#undef E1
ENUM_PTRS_END
@@ -73,8 +71,6 @@
{
RELOC_SUPER(gs_imager_state, st_line_params, line_params);
RELOC_PTR(gs_imager_state, client_data);
- RELOC_PTR(gs_imager_state, opacity.mask);
- RELOC_PTR(gs_imager_state, shape.mask);
RELOC_PTR(gs_imager_state, transparency_stack);
#define R1(i,elt) RELOC_PTR(gs_imager_state,elt);
gs_cr_state_do_ptrs(R1)
@@ -96,8 +92,6 @@
int i;
pis->memory = mem;
pis->client_data = 0;
- pis->opacity.mask = 0;
- pis->shape.mask = 0;
pis->transparency_stack = 0;
/* Color rendering state */
pis->halftone = 0;
@@ -157,8 +151,6 @@
void
gs_imager_state_copied(gs_imager_state * pis)
{
- rc_increment(pis->opacity.mask);
- rc_increment(pis->shape.mask);
rc_increment(pis->halftone);
rc_increment(pis->dev_ht);
rc_increment(pis->cie_render);
@@ -192,8 +184,6 @@
RCCOPY(cie_render);
RCCOPY(dev_ht);
RCCOPY(halftone);
- RCCOPY(shape.mask);
- RCCOPY(opacity.mask);
RCCOPY(devicergb_cs);
RCCOPY(devicecmyk_cs);
#undef RCCOPY
@@ -226,8 +216,6 @@
}
RCDECR(dev_ht);
RCDECR(halftone);
- RCDECR(shape.mask);
- RCDECR(opacity.mask);
RCDECR(devicergb_cs);
RCDECR(devicecmyk_cs);
#undef RCDECR
Modified: trunk/gs/src/gxistate.h
===================================================================
--- trunk/gs/src/gxistate.h 2008-02-26 23:14:40 UTC (rev 8549)
+++ trunk/gs/src/gxistate.h 2008-02-27 00:08:22 UTC (rev 8550)
@@ -272,7 +272,7 @@
{ (float)(scale), 0.0, 0.0, (float)(-(scale)), 0.0, 0.0 },\
false, {0, 0}, {0, 0}, false, \
lop_default, gx_max_color_value, BLEND_MODE_Compatible,\
- { 1.0, 0 }, { 1.0, 0 }, 0, 0/*false*/, 0, 0, 0/*false*/, 0, 0, 1.0, \
+ { 1.0 }, { 1.0 }, 0, 0/*false*/, 0, 0, 0/*false*/, 0, 0, 1.0, \
{ fixed_half, fixed_half }, 0/*false*/, 0/*false*/, 0/*false*/, 1.0,\
1, INIT_CUSTOM_COLOR_PTR /* 'Custom color' callback pointer */ \
gx_default_get_cmap_procs
Modified: trunk/gs/src/lib.mak
===================================================================
--- trunk/gs/src/lib.mak 2008-02-26 23:14:40 UTC (rev 8549)
+++ trunk/gs/src/lib.mak 2008-02-27 00:08:22 UTC (rev 8550)
@@ -429,7 +429,7 @@
gxcmap_h=$(GLSRC)gxcmap.h $(gscsel_h) $(gxcindex_h) $(gxcvalue_h) $(gxfmap_h)
gxistate_h=$(GLSRC)gxistate.h\
$(gscsel_h) $(gsrefct_h) $(gsropt_h) $(gstparam_h) $(gxcvalue_h) $(gxcmap_h)\
- $(gxfixed_h) $(gxline_h) $(gxmatrix_h) $(gxtmap_h) $(gscspace_h) $(gsnamecl_h)
+ $(gxfixed_h) $(gxline_h) $(gxmatrix_h) $(gxtmap_h) $(gscspace_h) $(gstrans_h) $(gsnamecl_h)
gxclist_h=$(GLSRC)gxclist.h $(gscspace_h)\
$(gxband_h) $(gxbcache_h) $(gxclio_h) $(gxdevbuf_h) $(gxistate_h)\
$(gxrplane_h)
More information about the gs-cvs
mailing list