-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 03/14/2011 04:01 PM, Jakob Bornecrantz wrote: > On Mon, Mar 14, 2011 at 11:46 PM, Ian Romanick <i...@freedesktop.org> wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> On 03/10/2011 03:30 PM, Marcin Slusarz wrote: >>> ...by copying support for gl_InstanceIDARB, but without "#extension" check, >>> because EXT_draw_instanced spec does not say anything about it (as opposed >>> to ARB_draw_instanced / gl_InstanceIDARB) and NVIDIA driver already allow it >> >> NAK for a couple reasons. >> >> This extension depends on EXT_gpu_shader4, which we don't support. >> There's no #extension bit required for this extension because the GLSL >> changes are implemented by EXT_gpu_shader4. Without EXT_draw_instanced, >> gl_InstanceID always reads 0. >> >> Note that EXT_gpu_shader4 says that a #extension line is required to use >> the features of the extension, including gl_InstanceID. If their driver >> allows gl_InstanceID without a #extension line, it is a bug in their driver. > > Oh you clearly haven't tried using new features on the nVidia blobs > have you, bugs galore! Mind you, you do get a warning per feature used > not #extension:ed or #version:ed in the shader log, but who bothers to > read that as long as the shader compiles and links correctly[1] :-/
And a little googling will find a *ton* of people pissed that their shaders work on NVIDIA's drivers and *nowhere* else. NVIDIA's implementation is clearly wrong here, and we should not copy their portability bugs. > The problem we have is that most who develops advanced 3D programs do > it against the blobs since they have all the cool features, me > included and yeah I'm lazy as well. Once EXT_gpu_shader4 lands in mesa > I guess I would be motivated to revisit my shaders and code and make > sure they are proper. I'm not sure EXT_gpu_shader4 should ever land in Mesa. All of the features in EXT_gpu_shader4 are in 1.30 or 1.40 (right?). Every piece of hardware that currently supports EXT_gpu_shader4 already also supports 1.30 and 1.40 (right?). As a result, there aren't a lot of apps that use just EXT_gpu_shader4 (and not 1.30 or 1.40), and it seems unlikely that new ones are being developed. But, this a debate we can have another day... since we don't have support for /any/ of it yet. > [1]The topping of this particular cake is that if you try to use any > of the #versions or #extensions you get errors when you try to use > deprecated things that are convenient to use, which promotes people to > not do the right thing here and just ignore the #version and/or > #extension for features. How do you mean? Unless you specifically request a "core" context, everything should still work fine. Certainly saying '#extension GL_EXT_gpu_shader4: require' shouldn't cause anything to stop working. Right? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAk1+rDkACgkQX1gOwKyEAw/MFwCbBARQGqOhF2SvakuN6PmmobT+ 1Q0AoIuyXVvXf6o4YpV/F5xNqgLy1z9c =DU85 -----END PGP SIGNATURE----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev