insta: what happens if i try to use radeonhd with a lower-end card? (an X600)
rbrett: insta: It won't work.
insta: fair enough
yangman: insta: not so much "lower-end" as "not on the list of supported chips"
insta: man, you guys are a lot friendlier than the mplayer guys
nanonyme: Hmm, if I fetch DRM with r6xx-support branch and radeonhd with CS branch, should I technically get at least some level of 2D acceleration?
agd5f: nanonyme: no
agd5f: CS is just a re-org of the current accel code, nothing new for r6xx
glisse: agd5f: btw have you considered porting cs to radeon ? :)
nanonyme: Oh, right.
agd5f: glisse: yeah, thought about it, not time at the moment
glisse: we definitly need to find where the hell the dolerean is parked ;p
nanonyme: *sigh* Sometimes I wish I had used time into this project when I had more of it at least so I could understand the significance that CP can be started with r600. :) (That is, hard to put it into scale when you don't understand the overall picture)
agd5f: nanonyme: CP wasn't too much of a problem overall, the 3D engine on the other hand...
nanonyme: Well, I rather meant on the 2D axel. How big a milestone is getting CP up on the path to EXA?
agd5f: nanonyme: there is no 2D engine on r6xx and newer, so you have to use the 3D engine.
agd5f: the CP is just the command processor, you feed it commands and it programs the hw
nanonyme: Hmm, I was completely ignorant of the lack of 2D engine. That gave me quite a bit of perspective, thanks. I suppose I'll just wait patiently then. :)
Plouj: can I already use both the DVI and HDMI ports to output to two LCD monitors from Radeon 3200 using this driver?
Plouj: I'm thinking of attaching two monitors to this motherboard: Asus M3A78-EM
agd5f: Plouj: depends on the motherboard. some wire up the dvi and hdmi to the same digital block
yangman: ugh. VoltageObjectInfo is nil in the table :(
ndim: Who needs voltage?
SirEmo: ndim, the way I figure it, if theres no voltage, the card will run very cool...
yangman: yeah, that'd be the ultimate power saving mode ;)
yangman: the most frustrating thing about working on PowerPlay has got to be not having any reliable and conclusive way to see if it's working or not :(
SirEmo: yangman, go get an ammeter :)
yangman: yeah, but then I've gotta rig something between the plug and power brick
SirEmo: also you kinda want to measure how much power it's pulling off the pci bus
yangman: acpi tells me idle power drops by about a watt when I switch to low power mode. I don't know how reliable this is, considering it's from 17W to 15.8-ish
SirEmo: hmm, that sounds significant enough to be worthwhile
SirEmo: another interesting question is does the heat generated go down?
SirEmo: I imagine one of the major reasons people want powerplay is to have their fans go from loud buzzsaw to mild hum.
yangman: see, that's the thing. the heat change isn't statistically significant
SirEmo: because the fan's autoadapted?
yangman: and this generation T60 is known to have heat dissipation problems
yangman: the CPU and GPU also share the same copper, so unless GPU temperature drops by about 10, it's impossible to tell
yangman: and this is all assuming I can trust what ACPI is saying
SirEmo: hmm, yeah I can see that doing this in a laptop would be a bit more complicated
yangman: I like to *think* that it's working, though ;)
SirEmo: you need to find someone to sponsor you a desktop, with an insane video card with some massive fans on it :)
SirEmo: so you can do more extensive testing
yangman: or, you know, release the damn specs ;)
SirEmo: you still need a test system to make sure you implement the specs properly :)
yangman: it'd also help if I knew what kind of power saving to expect ;)
SirEmo: minor point :)
yangman: well, I'm out of ideas on things to try at this point, so I think I'll try and get this clean-up and sent to the mailling list over the weekend or early next week
SirEmo: so what have you implemented so far?
yangman: "port" agd5f's powerplay branch over from radeon. PowerPlay table reading, engine and memory clock setting via AtomBios, and PCIe lane width setting via reg banging
yangman: plus some additional reg manipulation that I *think* does something, but don't know for sure
yangman: and hook the whole thing to up xrandr so I could actually test mode switching while X is running
SirEmo: that sounds pretty impressive.
SirEmo: xrandr? why would you hook it up to xrandr?
SirEmo: oh, for refresh clocks?
yangman: there's no other way to manipulate it on live X right now
yangman: basically expose Set PowerMode as a property
yangman: I don't touch the refresh clock stuff
yangman: I say "port" in quotes because radeonhd and radeon are so different in terms of AtomBIOS that I couldn't re-use any of the actually useful code
SirEmo: yangman, heh
chx: I love you guys thanks for the driver
SirEmo: yangman, I wonder how hard it is to determine when to automatically turn them on/off.
chx: how can I help? I dont think I can code it but I would be glad to run whatever tests you want on a RS740 (1002:796E)
SirEmo: chx, that's an r600 based card right?
SirEmo: unfortunately to my understanding r600 documentation hasn't been released yet (but is due Real Soon Now), so much work is being done on them quite yet.
yangman: SirEmo: modesetting docs are out. we're (and by we, I mean actual core-devs) are waiting for 3D programming to clear AMD legal
SirEmo: yangman, yeah, but I'm not sure what chx can test at the moment
yangman: I'm sure it helps just to have as many people using it as possible :)
chx: how can i check ? the 740G is basically a renamed 690G
MostAwesomeDude: chx: "lspci -nn | grep VGA"
chx: Radeon 2100
MostAwesomeDude: 'k, that's in the r6xx family.
SirEmo: yangman, so the powerplay tables have a range of modes that range from full power, to the lowest power setting?
MostAwesomeDude: chx: Trust me, we're not happy about the wait, either.
airlied: 690G is just r400 3d.
airlied: should work fine.
airlied: no tcl
MostAwesomeDude: airlied: Really? Do we already have PCI IDs added?
chx: airlied: http://en.wikipedia.org/wiki/Radeon_R600#New_model_numbering_scheme
chx: MostAwesomeDude: RadeonHD works with my board, that's true
yangman: SirEmo: appears to be the case. just seems to be a set of settings that are safe to apply
MostAwesomeDude: chx: radeon would also work. :3
SirEmo: yangman, they're not ordered from highest power to lowest power consumption?
chx: MostAwesomeDude: would it ? interesting. why there are two drivers?
yangman: SirEmo: there's a whole bunch of flags that are sort of self-explanatory, but I haven't put in the effort to see how they can be applied or even if they need to be applied manually
yangman: SirEmo: seems to be ordered lowest->highest in power consumption
SirEmo: yeah, I'm reading over agd's tree now :)
yangman: now, this is all based only on data from one machine, so, who knows what the other cards are like
yangman: laptops tend to have different tables as well
SirEmo: yangman, so if we can detect if the video card isn't keeping up, we could step up a mode, if we can detect if is keeping up, we could step down.
SirEmo: yangman, so, do you have a test program chx could run to give you a dump of their table?
yangman: there's flags like MULTI_DISPLAY_CAPABLE and UVD_CAPABLE
chx: http://www.phoronix.com/forums/showpost.php?p=30631&postcount=2 LOL
chx: it's a bit of everything! :D
SirEmo: chx, looks like ati put all their spare chips in a blender :)
yangman: agd5f's code dumps it. the patch I'll push will have the same thing, plus a couple more
chx: and re-released that crap on a smaller process
chx: resulting in a cheap and silent board
chx: hugs his 740G based board.
SirEmo: yangman, so you can skip the entries that don't meet the requirements for the current setup (eg, dualhead)
SirEmo: hrm, my new PC arrived with it's r6xx gfx cards yesterday
SirEmo: but I think the mobo is programming the system ram too fast
yangman: SirEmo: I guess that's the idea. who knows what's actually happening or needs to happen, though
yangman: my laptop will happily switch to any mode, but I'm noticing it won't drive an external 1920x1200 display properly at mode 0
chx: knowing the dangers that i will be kicked -- when rotation is supposed to arrive?
yangman: i don't think it's one of the top-3 priorities atm
chx: what are? i am just a curious newbie here :)
yangman: merging CS branch into master and r600 DRI support
yangman: not sure what's happening with the former. egbert hasn't said anything for a while
yangman: the latter is pending documentation release, but work's already started under NDA
yangman: CS merge is supposed to help acceleration performance on what's already supported
SirEmo: what needs to be done for rotation? presumably it's just twiddle a register somewhere? or am I missing something?
yangman: a filter to transform the image, and all the plumbing
SirEmo: ah right
yangman: I don't think anyone's claimed it'll be difficult. just that it needs to be done
SirEmo: yeah, I can see that.
MostAwesomeDude: Actually, really, honestly?
MostAwesomeDude: EXA rotation is very simple.
MostAwesomeDude: If you're in SW, the X server does it for you.
MostAwesomeDude: Actually, I think the coord transforms might *all* be done by the server and not the driver. Hm.
yangman: yeah, listen to the guy that knows this stuff ;)
yangman: goes home
MostAwesomeDude: So, if you have a pixmap to draw, and you want to rotate it on the screen, you need to do two things.
MostAwesomeDude: 1) Mangle the coords.
MostAwesomeDude: 2) Rotate the coords.
MostAwesomeDude: But, like a box drawn at (0,0), (0,h), (w,h), (w,0) could be rotated just by re-ordering those coords.
MostAwesomeDude: And then you just need to transform them to get them in the right spot on the screen.
SirEmo: but you still need to rotate pixmaps etc?
MostAwesomeDude: And then, you send the command to the 3D engine.
MostAwesomeDude: Huh, no.
MostAwesomeDude: Okay, in 3D engine stuff, if you rotate and translate your coords, that's getting the 3D engine to do the rotate and translate for you.
MostAwesomeDude: EXA-accelerated rotation on Radeons goes at the exact same speed as non-rotated EXA.
MostAwesomeDude: It's like...
SirEmo: rotate the screen camera and do everything in 3d?
MostAwesomeDude: Well, the thing is, all EXA *is* done on the 3D engine.
MostAwesomeDude: All of it.
MostAwesomeDude: So, we're already passing it a handful of coords, and some pixmaps, and telling it to draw stuff.
MostAwesomeDude: Rotation is just doing a rotate and translate on the coords before passing it to the card.
SirEmo: so the only thing that needs to be done is to rotate the camera?
MostAwesomeDude: There's no camera.
MostAwesomeDude: We're not at the level of OpenGL. We're talking about direct GPU programming. :3
MostAwesomeDude: Read through the Xv or EXA code to see what I mean. :3
MostAwesomeDude: But, yes, without acceleration, pixmaps have to be rotated in the server, which is a *very* expensive op.
airlied: we rotate one big pixmap
airlied: so we allocate a big enough pixmap and rotate the rectangle of the main frontbuffer into it .
airlied: very slow without hw accel