[Mesa-dev] [PATCH 03/15] spirv: Handle XFB variable decorations

Timothy Arceri tarceri at itsqueeze.com
Sat Jul 21 03:05:49 UTC 2018


1-3:

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

On 21/07/18 01:08, Alejandro PiƱeiro wrote:
> From: Neil Roberts <nroberts at igalia.com>
> 
> These set the new explicit XFB members on nir_variable.
> 
> This is needed to support ARB_gl_spirv, as Vulkan doesn't support
> transform feedback.
> ---
>   src/compiler/spirv/vtn_variables.c | 12 +++++++++---
>   1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c
> index fbfea6f8cef..6ff2e83515a 100644
> --- a/src/compiler/spirv/vtn_variables.c
> +++ b/src/compiler/spirv/vtn_variables.c
> @@ -1299,7 +1299,6 @@ apply_var_decoration(struct vtn_builder *b,
>      case SpvDecorationAliased:
>      case SpvDecorationUniform:
>      case SpvDecorationStream:
> -   case SpvDecorationOffset:
>      case SpvDecorationLinkageAttributes:
>         break; /* Do nothing with these here */
>   
> @@ -1326,9 +1325,16 @@ apply_var_decoration(struct vtn_builder *b,
>         break;
>   
>      case SpvDecorationXfbBuffer:
> +      var_data->explicit_xfb_buffer = true;
> +      var_data->xfb_buffer = dec->literals[0];
> +      break;
>      case SpvDecorationXfbStride:
> -      vtn_warn("Vulkan does not have transform feedback: %s",
> -               spirv_decoration_to_string(dec->decoration));
> +      var_data->explicit_xfb_stride = true;
> +      var_data->xfb_stride = dec->literals[0];
> +      break;
> +   case SpvDecorationOffset:
> +      var_data->explicit_offset = true;
> +      var_data->offset = dec->literals[0];
>         break;
>   
>      case SpvDecorationCPacked:
> 


More information about the mesa-dev mailing list