[Mesa-dev] [PATCH v3 (part2) 27/56] nir: Implement __intrinsic_store_ssbo

Jordan Justen jordan.l.justen at intel.com
Thu Jul 30 23:13:29 PDT 2015


On 2015-07-14 00:46:29, Iago Toral Quiroga wrote:
> ---
> diff --git a/src/glsl/nir/nir_intrinsics.h b/src/glsl/nir/nir_intrinsics.h
> index f264f55..83eeecd 100644
> --- a/src/glsl/nir/nir_intrinsics.h
> +++ b/src/glsl/nir/nir_intrinsics.h
> @@ -176,12 +176,12 @@ LOAD(input, 0, NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER)
>   * offset.
>   */
>  
> -#define STORE(name, num_indices, flags) \
> -   INTRINSIC(store_##name, 1, ARR(0), false, 0, 0, num_indices, flags) \
> -   INTRINSIC(store_##name##_indirect, 2, ARR(0, 1), false, 0, 0, \
> +#define STORE(name, extra_srcs, num_indices, flags) \
> +   INTRINSIC(store_##name, extra_srcs, ARR(0, 1), false, 0, 0, num_indices, flags) \
> +   INTRINSIC(store_##name##_indirect, extra_srcs + 1, ARR(0, 1, 1), false, 0, 0, \
>               num_indices, flags) \
> 
> -STORE(output, 1, 0)
> -/* STORE(ssbo, 2, 0) */
> +STORE(output, 1, 2, 0)

So, num_indicies changes from 1 to 2 on outputs. Also, I'm not too
sure what to make of the ARR() changes in the macro.

Connor, Jason, either of you have time to look at this patch?

-Jordan

> +STORE(ssbo, 2, 2, 0)
>  
> -LAST_INTRINSIC(store_output_indirect)
> +LAST_INTRINSIC(store_ssbo_indirect)
> -- 
> 1.9.1
> 


More information about the mesa-dev mailing list