[Bug 30002] [regression r300g] Menu problem in Tiny and Big
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sat Sep 4 14:44:21 PDT 2010
https://bugs.freedesktop.org/show_bug.cgi?id=30002
--- Comment #8 from Marek Olšák <maraeo at gmail.com> 2010-09-04 14:44:20 PDT ---
(In reply to comment #7)
> (In reply to comment #1)
> > The handling of textures with a 0 width, height, or depth is an odd corner case
> > in the spec, so it's not too surprising that it's not handled correctly.
> >
> > "where ws, hs, and ds are the specified image width, depth, and depth,
> > and wt, ht, and dt are the dimensions of the texture image internal to
> > the border. If wt, ht, or dt are less than zero, then the error INVALID
> > VALUE is generated.
> >
> > An image with zero width, height, or depth indicates the null texture.
> > If the null texture is specified for the level-of-detail specified by
> > texture parameter TEXTURE BASE LEVEL (see section 3.8.4), it is as if
> > texturing were disabled."
> >
> > The last bit is the tricky part. You have to create the texture but disable
> > texturing on any unit where it is bound. We could use a piglit test for this
> > corner case.
>
> Interesting. Should this be part of Gallium's API as well, or should we handle
> it one level up and make these textures illegal in Gallium? Does anybody know
> what Dx does?
Look at R5xx docs and that's pretty much what D3D9 does. If we had to implement
a D3D9 driver, we'd be finished loooong ago. There is a set of samplers and you
bind textures to those samplers. This is the low level function to create a
texture:
http://msdn.microsoft.com/en-us/library/bb174363%28v=VS.85%29.aspx
It doesn't seem 0x0 textures are allowed, or meaningful. However if I had a
choice, I would use this high level function:
http://msdn.microsoft.com/en-us/library/bb172800%28v=VS.85%29.aspx
Which explicitly states that if you request a 0x0 texture, you get a texture of
size 1x1.
Anyway, I was looking into this issue and I am almost sure this is a bug in
st/mesa and that the game doesn't actually create a zero-sized texture. IIRC,
the mipmap setup is broken. In Tiny and Big, I get this failure:
state_tracker/st_texture.c:68:st_texture_create: Assertion `width0 > 0' failed.
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the dri-devel
mailing list