zink: implement streamout and xfb handling in ntv
[mesa.git] / src / gallium / drivers / zink / zink_compiler.h
index 47e5b4b7c480dcc473d19a399bce57017c20fd34..73bdebec9ddf1c91f70b4f9393b0cfa40664e2cb 100644 (file)
 
 struct pipe_screen;
 struct zink_screen;
+struct zink_gfx_program;
 
 struct nir_shader_compiler_options;
 struct nir_shader;
 
+struct set;
+
 struct tgsi_token;
 
 const void *
@@ -58,10 +61,12 @@ struct zink_shader {
       VkDescriptorType type;
    } bindings[PIPE_MAX_CONSTANT_BUFFERS + PIPE_MAX_SHADER_SAMPLER_VIEWS];
    size_t num_bindings;
+   struct set *programs;
 };
 
 struct zink_shader *
-zink_compile_nir(struct zink_screen *screen, struct nir_shader *nir);
+zink_compile_nir(struct zink_screen *screen, struct nir_shader *nir,
+                 const struct pipe_stream_output_info *so_info);
 
 void
 zink_shader_free(struct zink_screen *screen, struct zink_shader *shader);