[Mesa-dev] Initial pieces of GLSL 1.40

Kenneth Graunke kenneth at whitecape.org
Mon Mar 12 00:04:44 PDT 2012


On 03/09/2012 01:27 PM, Eric Anholt wrote:
> For the tests I've run this through, and a list of what I know is
> remaining, see:
>
> http://lists.freedesktop.org/archives/piglit/2012-March/002003.html
>
> All but the discard infinite loop test work on i965 with this series.

I haven't looked at the Piglit tests yet, but this patch series looks 
good (except for one issue in patch 3).

Patches 1 and 2 are:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

There's a bit more janitorial work left, though.  Below are my notes 
from triaging the 1.30/1.40 specs:

=======================================================================

New keywords:
- layout
- sampler2DRect, i, u, sampler2DRectShadow
- samplerBuffer, i, u

UBOs (4.3.5)

Precision:
- floats are highp by default (4.5.3)

VS Special Variables (7.1):
- New in int gl_InstanceID

FS Special variables (7.2):
- Removed text: "If the frame buffer is configured as a color index 
buffer..."

Remove VS variables:
- gl_ClipVertex
- gl_Color
- gl_SecondaryColor
- gl_Normal
- gl_Vertex
- gl_MultiTexCoord0, 1, 2, 3, 4, 5, 6, 7
- gl_FogCoord
and constants:
- gl_MaxClipPlanes
- gl_MaxTextureCoords
and uniform state (7.5):
- gl_ModelViewMatrix
- gl_ProjectionMatrix
- gl_ModelViewProjectionMatrix
- gl_TextureMatrix[]
- gl_NormalMatrix
- gl_ModelViewMatrixInverse
- gl_ProjectionMatrixInverse
- gl_ModelViewProjectionInverse
- gl_TextureMatrixInverse[]
- gl_ModelViewMatrixTranspose
- gl_ProjectionMatrixTranspose
- gl_ModelViewProjectionMatrixTranspose
- gl_TextureMatrixTranspose[]
- gl_ModelViewMatrixInverseTranspose
- gl_ProjectionMatrixInverseTranspose
- gl_ModelViewProjectionMatrixInverseTranspose
- gl_TextureMatrixInverseTranspose[]
- gl_NormalScale
- gl_ClipPlane
- gl_Point
- gl_FrontMaterial
- gl_BackMaterial
- gl_LightSource[]
- gl_LightModel
- gl_FrontLightModelProduct
- gl_BackLightModelProduct
- gl_FrontLightProduct[]
- gl_BackLightProduct[]
- gl_TextureEnvColor[]
- gl_EyePlaneS[]
- gl_EyePlaneT[]
- gl_EyePlaneR[]
- gl_EyePlaneQ[]
- gl_ObjectPlaneS[]
- gl_ObjectPlaneT[]
- gl_ObjectPlaneR[]
- gl_ObjectPlaneQ[]
- gl_Fog
and types:
- struct gl_PointParameters type
- struct gl_MaterialParameters
- struct gl_LightSourceParameters
- struct gl_LightModelProducts
- struct gl_LightModelParameters
- struct gl_LightProducts
- struct gl_FogParameters
and VS outputs ("There are no longer any built-in vertex output variables.":
and FS inputs: everything except gl_PointCoord dies.

Shaders are Mandatory (7.6):
"All programmable pipeline stages that are in use while rendering must
  have a shader provided; fixed functionality is not provided for
  programmable stages."

Built-ins:
- Remove ftransform()
- Add inverse() for square matrices

New texture built-ins (no bias/lod allowed):
- ivec2 textureSize(gsampler2DRect)
- ivec2 textureSize(sampler2DRectShadow)
- int textureSize(gsamplerBuffer)
- gvec4 texture(gsampler2DRect)
- float texture(sampler2DRectShadow)
- gvec4 textureProj(gsampler2DRect, vec3)
- gvec4 textureProj(gsampler2DRect, vec4)
- float textureProj(sampler2DRectShadow, vec4)
- gvec4 textureOffset(gsampler2DRect, vec2, ivec2)
- float textureOffset(sampler2DRectShadow, vec3, ivec2)
- gvec4 texelFetch(gsampler2DRect, ivec2)
- gvec4 texelFetch(gsamplerBuffer, int)
- gvec4 texelFetchOffset(gsampler2DRect, ivec2, ivec2)
- gvec4 textureProjOffset(gsampler2DRect, vec3, ivec2)
- gvec4 textureProjOffset(gsampler2DRect, vec4, ivec2)
- float textureProjOffset(sampler2DRectShadow, vec4, ivec2)
- gvec4 textureGrad(gsampler2DRect, vec2, vec2, vec2)
- float textureGrad(sampler2DRectShadow, vec3, vec2, vec2)
- gvec4 textureGradOffset(gsampler2DRect, vec2, vec2, vec2, ivec2)
- float textureGradOffset(sampler2DRectShadow, vec3, vec2, vec2, ivec2)
- gvec4 textureProjGrad(gsampler2DRect, vec3, vec2, vec2)
- float textureProjGrad(sampler2DRectShadow, vec4, vec2, vec2)
Deprecated texturing functions still exist (sadly).


More information about the mesa-dev mailing list