diff options
author | Dave Airlie <[email protected]> | 2012-03-24 13:33:41 +0000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2012-04-13 17:19:01 +0100 |
commit | 1256a5dcc86014d48bdc6fd10ea5a2fa11241667 (patch) | |
tree | 8739552f09debe93734d1b338ac0e2787fc8a80f /src/glsl/ast.h | |
parent | f8cf79936b42405a8366613b80e3bde21aadaa02 (diff) |
glsl: add support for ARB_blend_func_extended (v3)
This adds index support to the GLSL compiler.
I'm not 100% sure of my approach here, esp without how output ordering
happens wrt location, index pairs, in the "mark" function.
Since current hw doesn't ever have a location > 0 with an index > 0,
we don't have to work out if the output ordering the hw requires is
location, index, location, index or location, location, index, index.
But we have no hw to know, so punt on it for now.
v2: index requires layout - catch and error
setup explicit index properly.
v3: drop idx_offset stuff, assume index follow location
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/glsl/ast.h')
-rw-r--r-- | src/glsl/ast.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/glsl/ast.h b/src/glsl/ast.h index 9b1e0b19209..b096c838c06 100644 --- a/src/glsl/ast.h +++ b/src/glsl/ast.h @@ -363,6 +363,11 @@ struct ast_type_qualifier { * qualifier is used. */ unsigned explicit_location:1; + /** + * Flag set if GL_ARB_explicit_attrib_location "index" layout + * qualifier is used. + */ + unsigned explicit_index:1; /** \name Layout qualifiers for GL_AMD_conservative_depth */ /** \{ */ @@ -386,6 +391,13 @@ struct ast_type_qualifier { * This field is only valid if \c explicit_location is set. */ int location; + /** + * Index specified via GL_ARB_explicit_attrib_location layout + * + * \note + * This field is only valid if \c explicit_index is set. + */ + int index; /** * Return true if and only if an interpolation qualifier is present. |