On Thu, Apr 23, 2015 at 8:15 AM, Ilia Mirkin <[email protected]> wrote: > On Thu, Apr 23, 2015 at 11:08 AM, Matt Turner <[email protected]> wrote: >> On Thu, Apr 23, 2015 at 7:53 AM, Ilia Mirkin <[email protected]> wrote: >>> Add the 4.0/4.1/4.2 extensions lists to compute_version. A coule of >>> extensions aren't in mesa yet, so those are marked with 0 until they >>> become supported. >>> >>> Signed-off-by: Ilia Mirkin <[email protected]> >>> --- >>> >>> I wasn't 100% sure about shading_language_packing -- it includes a >>> couple of functions that don't appear until GL 4.2. However since it's >>> enabled for all the drivers that matter in mesa, wtvr. >> >> What makes you think that? >> >> I actually fixed something recently where we were exposing some >> shading_language_packing functions as GLSL 4.0 instead of 4.2. As far >> as I'm aware, it's part of 4.2. >> >> commit 8d3aa5926b73c67c7dbd4477b7177aaa00c533e5 >> Author: Matt Turner <[email protected]> >> Date: Wed Mar 11 18:14:28 2015 -0700 >> >> glsl: Expose built-in packing functions under GLSL 4.2. >> >> ARB_shading_language_packing is part of GLSL 4.2, not 4.0 as I >> mistakenly believed. The following functions are available only with >> ARB_shading_language_packing, GLSL 4.2 (not GLSL 4.0), or ES 3.0: >> >> - packSnorm2x16 >> - unpackSnorm2x16 >> - packHalf2x16 >> - unpackHalf2x16 >> >> Reviewed-by: Carl Worth <[email protected]> >> Reviewed-by: Marek Olšák <[email protected]> > > Right. Those were the functions from shading_language_packing that > don't appear until GL 4.2. But other ones it includes are in GL 4.0 > (packUnorm*, packSnorm4x8). In a theoretical world where we wanted to > support every possibility, we'd have a separate "packing_400" internal > enable which would imply that only the 4.0 ones are there. But in > practice, it's all-or-nothing, so who cares. So I included it in the > 4.0 list. > > Buuut... oops. Looks like those actually come in via ARB_gpu_shader5 > as well. And shading_language_packing has those *and* the extra ones > (for GPUs that don't do gs5). OK. I'll move it to the 4.2 list.
Right, I should have mentioned that. As you can tell, the packing/unpacking functions are really a disaster. To make things worse, ES 3.0 exposes a different set of functions than does gpu_shader5 or shading_language_packing. There are actually *three* distinct subsets of shading_language_packing that may be exposed depending on the API and extensions! _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
