From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <44c6dddc491d4dead1518fcd7e7de7cd@brasstown.quanstro.net> References: <7caa7a0a-fb6d-4ffa-81ef-ad3256100f2c@g21g2000yqk.googlegroups.co> <9e5fc5ec-43d5-4cf3-be92-3fc8c4829ba0@l32g2000yqm.googlegroups.co> <589116.91988.qm@web1202.biz.mail.gq1.yahoo.com> <44c6dddc491d4dead1518fcd7e7de7cd@brasstown.quanstro.net> From: Venkatesh Srinivas Date: Sat, 1 May 2010 15:05:24 -0400 Message-ID: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] ctrl radeon: not working for ATI Radeon 9600 Mobility? Topicbox-Message-UUID: 1672de8c-ead6-11e9-9d60-3106f5b1d025 On Sat, May 1, 2010 at 10:08 AM, erik quanstrom wro= te: >> erik quanstrom wrote: >> > i think it's mainly a question of getting the best graphics >> > performance. =C2=A0but these days the 2d accelleration (especially >> > for radeon) is fairly poor. >> >> Do you happen to have any workloads where this is a problem? There is >> a lot more we can do for the radeon, particularly the r100-r300 chips, >> which could improve draw performance. > > i didn't make it clear that i'm using the vesa > interface. =C2=A0and it's very slow for every day > use with acme, but it sure displays pictures quickly. > > ; pci | grep vid | grep 1002 > 1.5.0: =C2=A0vid =C2=A003.00.00 1002/791e =C2=A010 0:d800000c 134217728 1= :00000000 16 2:fbff0004 65536 3:00000000 16 4:0000a001 256 5:fbe00000 10485= 76 > ; pci 1002/791e > 1002/791e > =C2=A0 =C2=A0 =C2=A0 =C2=A0ATI Technologies Inc RS690 [Radeon X1200 Serie= s] > >> To ask the radeon gpu to do anything interesting for you, you must >> carry out a series of register writes - for example, to fill a >> rectangle with a solid color, you write the rectangle's color to >> DP_BRUSH_FGRD_CLR (register 0x147c), the start to DST_X_Y, and the >> width and height to DST_WIDTH_HEIGHT. Everything you can ask the >> radeon to do is ultimately done via register writes. > > i wonder if this pio doesn't explain a lot of the slowness. > i would have thought that they would have used a ring. There is a command processor on the radeon, which we do not initialize; it can share a ring of commands with the host; it can also accept indirect buffers. If the radeon driver (on supported h/w) was too slow for general work, then we could use it, but if its fine right now, there is no need. If we really needed speed, we could go further - currently plan9 video drivers can only accelerate fill and scroll, but in principle the draw path could use any other functionality the card was willing to do for it; for the earlier radeons, the 2D engine can do a lot... for the later ones, we could use the 3d engine in the same style as X's EXA. -- vs