xref: /aosp_15_r20/external/mesa3d/src/gallium/drivers/svga/svga_link.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright (c) 2014-2024 Broadcom. All Rights Reserved.
3  * The term “Broadcom” refers to Broadcom Inc.
4  * and/or its subsidiaries.
5  * SPDX-License-Identifier: MIT
6  */
7 
8 #ifndef SVGA_LINK_H
9 #define SVGA_LINK_H
10 
11 #include "pipe/p_defines.h"
12 #include "tgsi/tgsi_scan.h"
13 
14 struct svga_context;
15 
16 struct shader_linkage
17 {
18    unsigned num_inputs;     /* number of inputs in the current shader */
19    unsigned position_index; /* position register index */
20    unsigned input_map_max;  /* highest index of mapped inputs */
21    uint8_t input_map[PIPE_MAX_SHADER_INPUTS];
22 
23    struct {
24       unsigned num_outputs;
25       uint8_t output_map[PIPE_MAX_SHADER_OUTPUTS];
26    } prevShader;
27 };
28 
29 void
30 svga_link_shaders(const struct tgsi_shader_info *outshader_info,
31                   const struct tgsi_shader_info *inshader_info,
32                   struct shader_linkage *linkage);
33 
34 #endif /* SVGA_LINK_H */
35