diff options
Diffstat (limited to 'src/mesa')
| -rw-r--r-- | src/mesa/shader/slang/slang_assemble_constructor.c | 15 | ||||
| -rw-r--r-- | src/mesa/shader/slang/slang_assemble_constructor.h | 44 | 
2 files changed, 33 insertions, 26 deletions
| diff --git a/src/mesa/shader/slang/slang_assemble_constructor.c b/src/mesa/shader/slang/slang_assemble_constructor.c index f6fb6d7c69..8b5458f766 100644 --- a/src/mesa/shader/slang/slang_assemble_constructor.c +++ b/src/mesa/shader/slang/slang_assemble_constructor.c @@ -34,6 +34,12 @@ +/** + * Checks if a field selector is a general swizzle (an r-value swizzle + * with replicated components or an l-value swizzle mask) for a + * vector.  Returns GL_TRUE if this is the case, <swz> is filled with + * swizzle information.  Returns GL_FALSE otherwise. + */  GLboolean  _slang_is_swizzle(const char *field, GLuint rows, slang_swizzle * swz)  { @@ -108,6 +114,11 @@ _slang_is_swizzle(const char *field, GLuint rows, slang_swizzle * swz) +/** + * Checks if a general swizzle is an l-value swizzle - these swizzles + * do not have duplicated fields.  Returns GL_TRUE if this is a + * swizzle mask.  Returns GL_FALSE otherwise + */  GLboolean  _slang_is_swizzle_mask(const slang_swizzle * swz, GLuint rows)  { @@ -129,6 +140,10 @@ _slang_is_swizzle_mask(const slang_swizzle * swz, GLuint rows) +/** + * Combines (multiplies) two swizzles to form single swizzle. + * Example: "vec.wzyx.yx" --> "vec.zw". + */  GLvoid  _slang_multiply_swizzles(slang_swizzle * dst, const slang_swizzle * left,                           const slang_swizzle * right) diff --git a/src/mesa/shader/slang/slang_assemble_constructor.h b/src/mesa/shader/slang/slang_assemble_constructor.h index 41a03943cf..c7aedf3af8 100644 --- a/src/mesa/shader/slang/slang_assemble_constructor.h +++ b/src/mesa/shader/slang/slang_assemble_constructor.h @@ -1,6 +1,6 @@  /*   * Mesa 3-D graphics library - * Version:  6.5 + * Version:  6.5.2   *   * Copyright (C) 2005-2006  Brian Paul   All Rights Reserved.   * @@ -22,43 +22,35 @@   * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.   */ -#if !defined SLANG_ASSEMBLE_CONSTRUCTOR_H +#ifndef SLANG_ASSEMBLE_CONSTRUCTOR_H  #define SLANG_ASSEMBLE_CONSTRUCTOR_H  #if defined __cplusplus  extern "C" {  #endif -/* - * Checks if a field selector is a general swizzle (an r-value swizzle with replicated - * components or an l-value swizzle mask) for a vector. - * Returns GL_TRUE if this is the case, <swz> is filled with swizzle information. - * Returns GL_FALSE otherwise. - */ -GLboolean _slang_is_swizzle (const char *field, GLuint rows, slang_swizzle *swz); -/* - * Checks if a general swizzle is an l-value swizzle - these swizzles do not have - * duplicated fields. - * Returns GL_TRUE if this is a swizzle mask. - * Returns GL_FALSE otherwise - */ -GLboolean _slang_is_swizzle_mask (const slang_swizzle *swz, GLuint rows); +extern GLboolean +_slang_is_swizzle(const char *field, GLuint rows, slang_swizzle *swz); -/* - * Combines (multiplies) two swizzles to form single swizzle. - * Example: "vec.wzyx.yx" --> "vec.zw". - */ -GLvoid _slang_multiply_swizzles (slang_swizzle *, const slang_swizzle *, const slang_swizzle *); +extern GLboolean +_slang_is_swizzle_mask(const slang_swizzle *swz, GLuint rows); + +extern GLvoid +_slang_multiply_swizzles(slang_swizzle *, const slang_swizzle *, +                         const slang_swizzle *); -GLboolean _slang_assemble_constructor (slang_assemble_ctx *, struct slang_operation_ *); +extern GLboolean +_slang_assemble_constructor(slang_assemble_ctx *, struct slang_operation_ *); -GLboolean _slang_assemble_constructor_from_swizzle (slang_assemble_ctx *, const slang_swizzle *, -	slang_type_specifier *, slang_type_specifier *); +extern GLboolean +_slang_assemble_constructor_from_swizzle(slang_assemble_ctx *, +                                         const slang_swizzle *, +                                         slang_type_specifier *, +                                         slang_type_specifier *);  #ifdef __cplusplus  }  #endif -#endif - +#endif /* SLANG_ASSEMBLE_CONSTRUCTOR_H */ | 
