From: Roland S. <sr...@vm...> - 2009-12-03 20:16:14
|
On 03.12.2009 20:55, Christoph Bumiller wrote: > Roland Scheidegger schrieb: >> Hi, >> >> I'm planning to merge gallium-noblocks branch to master soon. This api >> change may affect your driver, statetracker, whatever. I _should_ have >> fixed up all in tree stuff using it, but that's not a guarantee it will >> still run correctly (nv50 driver was strange for instance), and > What's strange with nv50 ? > There's this one "if (!pt->nblocksx[level]) {" in nv50_transfer.c that > was an unnecessary leftover because I hadn't seen miptree_blanket forgot > the initialize these and pushed a bit too early, thankfully this is now > gone automatically. Ok, this is mostly what was strange. That and it was the driver which by far needed the most changes :-). > > I just need the y blocks everywhere instead of just y because things > like offset = stride * y is simply wrong if you have *actual* > multi-pixel blocks (pitch as in nblocksx * width). Yes, drivers are encouraged to use the block helpers. This way they don't need to special case any formats, as it should work for uncompressed, dxt, or things like ycbcr just the same. > I hope no one will try to transfer just parts of a block (makes not much > sense for DXT imo though). Yes, this shouldn't happen. Neither ogl nor dx should trigger this (it's not allowed for CompressedTexSubImage), so transfers are required to only happen along block boundaries. Roland |