I'm moving my blog to LiveJournal. Not really sure why, but LiveJournal is just more interesting to me. Perhaps it's because folks I know are blogging there, too.
I'm moving my blog to LiveJournal. Not really sure why, but LiveJournal is just more interesting to me. Perhaps it's because folks I know are blogging there, too.
I've also spent time working on getting the Composite solid-fill case accelerated using the driver's solid fill hook that already exists. XFree86 code helped out quite a bit here, since I'm relatively unfamiliar with the internals of this stuff. It appears to be working, but I'm going to wait to commit until I can get some review or more thorough testing, I think. Then I'd like to do cleanups and merge my DRI branch, where I've been doing this work, to trunk. While in the area, I caught a bug I had introduced to kaa when starting on Xati which wasted 0 to 75% of offscreen memory depending on bpp.
I've also spent more time the last few days on SiS and Radeon Composite acceleration using 3d, but to no avail so far.
Took a look at whether xvideo could be done using the scaler like the Composite accel is. Although the scaling parts should be OK, it looks like the formats supported by the hardware don't match the formats desired by Xv. Or I'm failing to understand YUV formats, which is quite likely.
Spent a solid chunk of the day working on Radeon Render acceleration. I think I do have enough information in the end to do Composite cleanly on Radeon in Xati. The code is written, but nothing's being rendered yet. Not sure what's going on.
Moved back home from school for the break. It's great to be at home with family, eating good food and doing family activities. And in theory I've got more time to dedicate to hacking. However, today I had to drive my vehicle-less friend around as he tried to scrounge enough money to get his car back from the shop. I ended up loaning him $200. I hope this turns out well, and not like all the cases in all those "judge shows" that everyone else in the world seems to love to watch. I trust him, it's just what everyone else I've mentioned loaning money to has brought up. Finished off the day watching my sister at her baton performance, though, which is always fun.
xserver:
Managed to get a bit of hacking on glx done. The XFree86 code is in place in the tree, but now I need to figure out how this mess is supposed to all tie in to a DRI driver (well, I can actually answer that: it wasn't ever supposed to. I just want it to at this point).
Worked on my hook for the "(ARGB8888 IN A8) OVER screen" composite, one of the common ones in xcompmgr. It (as will be the case for most hardware) will be implemented using the 3d hardware and treat the pixmaps as textures. What appears to be required for most operations (xcompmgr's operations included) is non-power-of-two textures, wrapping for POT textures at least (for 1x1 textures), two texture units, and the standard GL_BLEND-type alpha blending. I suspect more ops could be accelerated using more complicated texture blending instead of GL_BLEND, and I would bet the NPOT texture requirement could be avoided by using scissoring. Anyway, most of the 3d setup is done, and I just need to set one more register and then write code to actually emit vertices. I hope. :-)
Note that this doesn't cover trapezoid acceleration, which is something that will be used by many consumers of Render (cairo, for example). It's just to get some of the very common uses at the moment (AA text and xcompmgr) accelerated.
Applied the patch from Michel Daenzer I had worked on for fbdev backend in Xati. It's a little unstable for me when I have fbdev loaded, but I've heard rumors there are issues with radeonfb on 2.6.0-test
I'm stuck in the FreeBSD port of the kdrive server. I'm getting a panic in vm86 mode when using VM86_INTCALL, which I was hoping would be the easy solution. I don't understand how to use the normal VM86 mode in this situation, either.
Issues that I know of with it, hmm. Radeon with acceleration and 1400x1050 mode doesn't work right because of limitations in pitch -- we need to do our own mode setup (hopefully we can figure out how to do that in a clean manner) or use radeonfb for that. Lacks render accel (need help from keithp for infrastructure). Lacks xv (needs to be done using 3d hardware instead of overlay). Hardware cursor not supported (insignificant, at least with standard X cursors). Doesn't use the DRM. The DRM is my next task, fixing up that poor r128drm code I had done to be used with Xati. I have this hope, and I think it's pretty realistic, that a lot of code can be shared between r128_dri.c and radeon_dri.c, so I can have a single ati_dri.c.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!