Bug 6661

Summary: Trim some historical crap from miarc.c
Product: xorg Reporter: Adam Jackson <ajax>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: high Keywords: patch
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
miarc-fat-trim-1.patch none

Description Adam Jackson 2006-04-20 02:46:22 UTC
The mi arc code caches the results of some "expensive" computations, presumably
for performance reasons.  It's actually in desperate need of a rewrite, possibly
by just reverting to the R4 version, but this is low-hanging fruit.
Comment 1 Adam Jackson 2006-04-20 02:47:31 UTC
Created attachment 5383 [details] [review]
miarc-fat-trim-1.patch

reduce the cache to a single bucket, and remove a needlessly global symbol.

i'll test performance of this with Xvfb in a bit.
Comment 2 Adam Jackson 2006-04-20 08:35:32 UTC
this can't be right:

~% x11perfcomp -r /tmp/xvfb-old-arc.perf /tmp/xvfb-new-arc.perf
1: /tmp/xvfb-old-arc.perf
2: /tmp/xvfb-new-arc.perf

    1              2           Operation
--------   -----------------   -----------------
6680000.0   6820000.0 (  1.02)   1-pixel circle
4080000.0   3800000.0 (  0.93)   10-pixel circle
611000.0   570000.0 (  0.93)   100-pixel circle
117000.0   104000.0 (  0.89)   500-pixel circle
202000.0   214000.0 (  1.06)   100-pixel dashed circle
170000.0   170000.0 (  1.00)   100-pixel double-dashed circle
449000.0   443000.0 (  0.99)   10-pixel wide circle
 25400.0    43100.0 (  1.70)   100-pixel wide circle
  1890.0     7440.0 (  3.94)   500-pixel wide circle
  6240.0     6430.0 (  1.03)   100-pixel wide dashed circle
  6520.0     7160.0 (  1.10)   100-pixel wide double-dashed circle
1880000.0   1810000.0 (  0.96)   10-pixel partial circle
514000.0   506000.0 (  0.98)   100-pixel partial circle
 72400.0    71600.0 (  0.99)   10-pixel wide partial circle
 21200.0    26200.0 (  1.24)   100-pixel wide partial circle
15900000.0   15700000.0 (  0.99)   1-pixel solid circle
720000.0   796000.0 (  1.11)   10-pixel solid circle
 19300.0    68500.0 (  3.55)   100-pixel solid circle
  3450.0     9160.0 (  2.66)   500-pixel solid circle
538000.0   546000.0 (  1.01)   10-pixel fill chord partial circle
 27100.0    77800.0 (  2.87)   100-pixel fill chord partial circle
506000.0   505000.0 (  1.00)   10-pixel fill slice partial circle
 23800.0    69400.0 (  2.92)   100-pixel fill slice partial circle
3460000.0   3470000.0 (  1.00)   10-pixel ellipse
670000.0   654000.0 (  0.98)   100-pixel ellipse
153000.0   153000.0 (  1.00)   500-pixel ellipse
255000.0   252000.0 (  0.99)   100-pixel dashed ellipse
205000.0   203000.0 (  0.99)   100-pixel double-dashed ellipse
543000.0   214000.0 (  0.39)   10-pixel wide ellipse
 35900.0    22200.0 (  0.62)   100-pixel wide ellipse
  2710.0     4090.0 (  1.51)   500-pixel wide ellipse
  5930.0     5270.0 (  0.89)   100-pixel wide dashed ellipse
  5030.0     4130.0 (  0.82)   100-pixel wide double-dashed ellipse
1610000.0   1600000.0 (  0.99)   10-pixel partial ellipse
585000.0   588000.0 (  1.01)   100-pixel partial ellipse
 69700.0    56900.0 (  0.82)   10-pixel wide partial ellipse
 13000.0    14300.0 (  1.10)   100-pixel wide partial ellipse
954000.0   994000.0 (  1.04)   10-pixel filled ellipse
 31100.0    98800.0 (  3.18)   100-pixel filled ellipse
  5060.0    14400.0 (  2.85)   500-pixel filled ellipse
605000.0   604000.0 (  1.00)   10-pixel fill chord partial ellipse
 60000.0   130000.0 (  2.17)   100-pixel fill chord partial ellipse
601000.0   587000.0 (  0.98)   10-pixel fill slice partial ellipse
 54900.0   114000.0 (  2.08)   100-pixel fill slice partial ellipse
Comment 3 Daniel Stone 2007-02-27 01:31:37 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 4 Adam Jackson 2010-05-10 12:49:32 UTC
Fixed in git, yay.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.