1bf215546Sopenharmony_ci 2bf215546Sopenharmony_ci#ifndef SVGA_LINK_H 3bf215546Sopenharmony_ci#define SVGA_LINK_H 4bf215546Sopenharmony_ci 5bf215546Sopenharmony_ci#include "pipe/p_defines.h" 6bf215546Sopenharmony_ci 7bf215546Sopenharmony_cistruct svga_context; 8bf215546Sopenharmony_ci 9bf215546Sopenharmony_cistruct shader_linkage 10bf215546Sopenharmony_ci{ 11bf215546Sopenharmony_ci unsigned num_inputs; /* number of inputs in the current shader */ 12bf215546Sopenharmony_ci unsigned position_index; /* position register index */ 13bf215546Sopenharmony_ci unsigned input_map_max; /* highest index of mapped inputs */ 14bf215546Sopenharmony_ci ubyte input_map[PIPE_MAX_SHADER_INPUTS]; 15bf215546Sopenharmony_ci 16bf215546Sopenharmony_ci struct { 17bf215546Sopenharmony_ci unsigned num_outputs; 18bf215546Sopenharmony_ci ubyte output_map[PIPE_MAX_SHADER_OUTPUTS]; 19bf215546Sopenharmony_ci } prevShader; 20bf215546Sopenharmony_ci}; 21bf215546Sopenharmony_ci 22bf215546Sopenharmony_civoid 23bf215546Sopenharmony_cisvga_link_shaders(const struct tgsi_shader_info *outshader_info, 24bf215546Sopenharmony_ci const struct tgsi_shader_info *inshader_info, 25bf215546Sopenharmony_ci struct shader_linkage *linkage); 26bf215546Sopenharmony_ci 27bf215546Sopenharmony_ci#endif /* SVGA_LINK_H */ 28