glsl: rename gl_nir_link() to gl_nir_link_spirv()
[mesa.git] / src / mesa / drivers / dri / i965 / brw_link.cpp
index c726551513a3927f51866b3ebae77c93217d4b0a..2a844575c3d2907e97bbc9a25600d9c7f1fbc6d5 100644 (file)
@@ -269,15 +269,11 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
 
    /* SPIR-V programs use a NIR linker */
    if (shProg->data->spirv) {
-      if (!gl_nir_link_uniform_blocks(ctx, shProg)) {
+      static const gl_nir_linker_options opts = {
+         .fill_parameters = false,
+      };
+      if (!gl_nir_link_spirv(ctx, shProg, &opts))
          return GL_FALSE;
-      }
-
-      if (!gl_nir_link_uniforms(ctx, shProg, /* fill_parameters */ false))
-         return GL_FALSE;
-
-      gl_nir_link_assign_atomic_counter_resources(ctx, shProg);
-      gl_nir_link_assign_xfb_resources(ctx, shProg);
    }
 
    for (stage = 0; stage < ARRAY_SIZE(shProg->_LinkedShaders); stage++) {
@@ -388,9 +384,9 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
 
    /* SPIR-V programs build its resource list from linked NIR shaders. */
    if (!shProg->data->spirv)
-      build_program_resource_list(ctx, shProg);
+      build_program_resource_list(ctx, shProg, false);
    else
-      nir_build_program_resource_list(ctx, shProg);
+      nir_build_program_resource_list(ctx, shProg, true);
 
    for (stage = 0; stage < ARRAY_SIZE(shProg->_LinkedShaders); stage++) {
       struct gl_linked_shader *shader = shProg->_LinkedShaders[stage];