nir/linker: add ubo/ssbo to the program resource list
authorAlejandro Piñeiro <apinheiro@igalia.com>
Fri, 23 Mar 2018 11:35:48 +0000 (12:35 +0100)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Fri, 12 Jul 2019 21:42:41 +0000 (23:42 +0200)
v2: "nir/linker: Use the stageref when adding UBO/SSBO resources"
     squashed on this one (Timothy)

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
src/compiler/glsl/gl_nir_linker.c

index 92e90714e10bf6561070bea7ebad032f2c4f8b9a..49ba9501f7aeca8b8d728f231549fdf7455d1034 100644 (file)
@@ -65,5 +65,19 @@ nir_build_program_resource_list(struct gl_context *ctx,
    }
 
 
+   for (unsigned i = 0; i < prog->data->NumUniformBlocks; i++) {
+      if (!link_util_add_program_resource(prog, resource_set, GL_UNIFORM_BLOCK,
+                                          &prog->data->UniformBlocks[i],
+                                          prog->data->UniformBlocks[i].stageref))
+         return;
+   }
+
+   for (unsigned i = 0; i < prog->data->NumShaderStorageBlocks; i++) {
+      if (!link_util_add_program_resource(prog, resource_set, GL_SHADER_STORAGE_BLOCK,
+                                          &prog->data->ShaderStorageBlocks[i],
+                                          prog->data->ShaderStorageBlocks[i].stageref))
+         return;
+   }
+
    _mesa_set_destroy(resource_set, NULL);
 }