[Mesa-stable] [PATCH] glsl: skip stringification in preprocessor if in unreachable branch

Timothy Arceri tarceri at itsqueeze.com
Thu Aug 30 00:31:18 UTC 2018


Cc: mesa-stable at lists.freedesktop.org

On 29/08/18 11:36, Timothy Arceri wrote:
> This fixes compilation of some "No Mans Sky" shaders where the stringification
> happens in branches intended for DX12.
> 
> ---
> 
>   Piglit tests: https://patchwork.freedesktop.org/series/48850/
> 
>   src/compiler/glsl/glcpp/glcpp-lex.l | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/compiler/glsl/glcpp/glcpp-lex.l b/src/compiler/glsl/glcpp/glcpp-lex.l
> index 9cfcc120222..fe5845acd4e 100644
> --- a/src/compiler/glsl/glcpp/glcpp-lex.l
> +++ b/src/compiler/glsl/glcpp/glcpp-lex.l
> @@ -420,8 +420,10 @@ HEXADECIMAL_INTEGER	0[xX][0-9a-fA-F]+[uU]?
>   
>   	/* This will catch any non-directive garbage after a HASH */
>   <HASH>{NONSPACE} {
> -	BEGIN INITIAL;
> -	RETURN_TOKEN (GARBAGE);
> +	if (!parser->skipping) {
> +		BEGIN INITIAL;
> +		RETURN_TOKEN (GARBAGE);
> +	}
>   }
>   
>   	/* An identifier immediately followed by '(' */
> 


More information about the mesa-stable mailing list