Index: trunk/src/draw_composite.c =================================================================== --- trunk/src/draw_composite.c (revision 11270) +++ trunk/src/draw_composite.c (revision 11271) @@ -173,27 +173,6 @@ comp_start_add(ctx); } -/* Fake composite draw: if all layers are positively combined, bypass the - compositing and just draw directly (optimization). */ -static void comp_draw_layer_fake(comp_ctx_t *ctx, void (*draw_auto)(comp_ctx_t *ctx, void *data), void *auto_data) -{ - int n; - ctx->fake_comp = 1; - - for(n = 0; n < ctx->grp->len; n++) { - pcb_layer_t *l = pcb_get_layer(ctx->grp->lid[n]); - const char *old_color = l->meta.real.color; - - l->meta.real.color = ctx->color; - if (l->comb & PCB_LYC_AUTO) - draw_auto(ctx, auto_data); - pcb_draw_layer(l, ctx->screen); - l->meta.real.color = old_color; - } - -} - - int pcb_draw_layergrp_is_comp(pcb_layergrp_t *g) { int n; @@ -216,16 +195,10 @@ /* Draw a layer group with fake or real compositing */ static void comp_draw_layer(comp_ctx_t *ctx, void (*draw_auto)(comp_ctx_t *ctx, void *data), void *auto_data) { - int enable_fake = (pcb_gui != NULL) && (pcb_gui->enable_fake_composite); int is_comp = pcb_draw_layergrp_is_comp(ctx->grp); if (is_comp) Output.direct = 0; - /* optimization: don't do real compositing in thin draw mode (because that's - drawn all-positive) or if every layer is naturally positive */ - if ((!enable_fake || is_comp) && (!ctx->thin)) - comp_draw_layer_real(ctx, draw_auto, auto_data); - else - comp_draw_layer_fake(ctx, draw_auto, auto_data); + comp_draw_layer_real(ctx, draw_auto, auto_data); } Index: trunk/src/hid.h =================================================================== --- trunk/src/hid.h (revision 11270) +++ trunk/src/hid.h (revision 11271) @@ -207,14 +207,6 @@ punches through everything. */ unsigned holes_after:1; - /* If set, enable the fake composite layer draw optimization, that is: - if all layers in a compositing layer group are positive, no composition - is done but layers are just drawn. Useful for software render HIDs with - no transluency; causes problems with transluent rendering: different - layers within the same group will be darker on overlap */ - unsigned enable_fake_composite:1; - - /* lesstif allows positive AND negative drawing in HID_MASK_CLEAR. gtk only allows negative drawing. using the mask is to get rat transparency */ Index: trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c =================================================================== --- trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 11270) +++ trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 11271) @@ -1432,6 +1432,5 @@ hid->poly_after = 0; hid->poly_before = 0; - hid->enable_fake_composite = 0; } } Index: trunk/src_plugins/hid_gtk2_gdk/gtkhid-main.c =================================================================== --- trunk/src_plugins/hid_gtk2_gdk/gtkhid-main.c (revision 11270) +++ trunk/src_plugins/hid_gtk2_gdk/gtkhid-main.c (revision 11271) @@ -47,7 +47,6 @@ ghid_win32_init(); ghid_glue_hid_init(>k2_gdk_hid); - gtk2_gdk_hid.enable_fake_composite = 1; ghid_glue_common_init(); gtk2_gdk_hid.parse_arguments = gtk2_gdk_parse_arguments; Index: trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c =================================================================== --- trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 11270) +++ trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 11271) @@ -1237,7 +1237,6 @@ hid->poly_before = 0; hid->poly_after = 0; - hid->enable_fake_composite = 0; hid->holes_after = 1; } } Index: trunk/src_plugins/hid_lesstif/main.c =================================================================== --- trunk/src_plugins/hid_lesstif/main.c (revision 11270) +++ trunk/src_plugins/hid_lesstif/main.c (revision 11271) @@ -3739,7 +3739,6 @@ lesstif_hid.poly_before = 0; lesstif_hid.poly_after = 0; lesstif_hid.can_mask_clear_rats = 1; - lesstif_hid.enable_fake_composite = 0; lesstif_hid.get_export_options = lesstif_get_export_options; lesstif_hid.do_export = lesstif_do_export;