[Mesa-dev] [PATCH v2 17/21] i965: Build SPIR-V programs' resource list using NIR

Timothy Arceri tarceri at itsqueeze.com
Wed Jun 6 10:09:13 UTC 2018


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

On 12/05/18 19:40, Alejandro PiƱeiro wrote:
> From: Eduardo Lima Mitev <elima at igalia.com>
> 
> v2: tweak after nir_linker.h being renamed to gl_nir_linker.h
> ---
>   src/mesa/drivers/dri/i965/brw_link.cpp | 8 +++++++-
>   1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp b/src/mesa/drivers/dri/i965/brw_link.cpp
> index 39fa94c0f8d..996465f305a 100644
> --- a/src/mesa/drivers/dri/i965/brw_link.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_link.cpp
> @@ -25,11 +25,13 @@
>   #include "compiler/brw_nir.h"
>   #include "brw_program.h"
>   #include "compiler/glsl/gl_nir.h"
> +#include "compiler/glsl/gl_nir_linker.h"
>   #include "compiler/glsl/ir.h"
>   #include "compiler/glsl/ir_optimization.h"
>   #include "compiler/glsl/program.h"
>   #include "compiler/nir/nir_serialize.h"
>   #include "program/program.h"
> +#include "main/glspirv.h"
>   #include "main/mtypes.h"
>   #include "main/shaderapi.h"
>   #include "main/shaderobj.h"
> @@ -364,7 +366,11 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
>      if (brw->precompile && !brw_shader_precompile(ctx, shProg))
>         return false;
>   
> -   build_program_resource_list(ctx, shProg);
> +   /* SPIR-V programs build its resource list from linked NIR shaders. */
> +   if (!shProg->data->spirv)
> +      build_program_resource_list(ctx, shProg);
> +   else
> +      nir_build_program_resource_list(ctx, shProg);
>   
>      for (stage = 0; stage < ARRAY_SIZE(shProg->_LinkedShaders); stage++) {
>         struct gl_linked_shader *shader = shProg->_LinkedShaders[stage];
> 


More information about the mesa-dev mailing list