[Nouveau] 8-bit swizzled textures
Younes Manton
younes.m at gmail.com
Sun Oct 11 21:38:35 PDT 2009
13:28 < pmdata> ymanton> We have a bit more work to do for 8 bits texture.
13:28 < pmdata> Swizzling works by halving dimensions, and using a8r8g8b8 as
format as seen in dumps for test_texture_format.
13:28 < pmdata> I nearly got text in progs/demos/texenv:
http://people.freedesktop.org/~pmandin/20091011.png
13:28 < pmdata> My current patch:
http://people.freedesktop.org/~pmandin/8bit_texture.diff
13:51 < pmdata> ymanton> it appears there is an extra copy done with m2mf when
dealing with 8 bits texture
Sorry, was not around earlier.
Did you try NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8 instead and
not changing the dimensions? I've seen the blob do strange things
before for swizzling that don't seem necessary, so we might be better
off trying the simplest approach first. I suspect it would work.
...Unless you already tried it and it didn't work, in which case I'd
be interested to see what the PGRAPH errors are.
@@ -51,6 +53,10 @@ static INLINE int
nv04_scaled_image_format(enum pipe_format format)
{
switch (format) {
+ case PIPE_FORMAT_A8_UNORM:
+ case PIPE_FORMAT_L8_UNORM:
+ case PIPE_FORMAT_I8_UNORM:
- return NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8;
+ return NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8;
case PIPE_FORMAT_A1R5G5B5_UNORM:
return NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5;
case PIPE_FORMAT_A8R8G8B8_UNORM:
More information about the Nouveau
mailing list