From: Eduardo Lima Mitev Date: Tue, 10 Oct 2017 12:11:03 +0000 (+0200) Subject: i965: Build SPIR-V programs' resource list using NIR X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4bf8b80f54005d3cf6e435f9be7e4e948531f226;p=mesa.git i965: Build SPIR-V programs' resource list using NIR v2: tweak after nir_linker.h being renamed to gl_nir_linker.h Reviewed-by: Timothy Arceri --- 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];