Lines Matching refs:gl_prog
1756 struct gl_program *gl_prog, in link_tcs_out_layout_qualifiers() argument
1760 if (gl_prog->info.stage != MESA_SHADER_TESS_CTRL) in link_tcs_out_layout_qualifiers()
1763 gl_prog->info.tess.tcs_vertices_out = 0; in link_tcs_out_layout_qualifiers()
1779 if (gl_prog->info.tess.tcs_vertices_out != 0 && in link_tcs_out_layout_qualifiers()
1780 gl_prog->info.tess.tcs_vertices_out != in link_tcs_out_layout_qualifiers()
1784 gl_prog->info.tess.tcs_vertices_out, in link_tcs_out_layout_qualifiers()
1788 gl_prog->info.tess.tcs_vertices_out = in link_tcs_out_layout_qualifiers()
1797 if (gl_prog->info.tess.tcs_vertices_out == 0) { in link_tcs_out_layout_qualifiers()
1813 struct gl_program *gl_prog, in link_tes_in_layout_qualifiers() argument
1817 if (gl_prog->info.stage != MESA_SHADER_TESS_EVAL) in link_tes_in_layout_qualifiers()
1823 gl_prog->info.tess.primitive_mode = PRIM_UNKNOWN; in link_tes_in_layout_qualifiers()
1824 gl_prog->info.tess.spacing = TESS_SPACING_UNSPECIFIED; in link_tes_in_layout_qualifiers()
1844 if (gl_prog->info.tess.primitive_mode != PRIM_UNKNOWN && in link_tes_in_layout_qualifiers()
1845 gl_prog->info.tess.primitive_mode != in link_tes_in_layout_qualifiers()
1851 gl_prog->info.tess.primitive_mode = in link_tes_in_layout_qualifiers()
1856 if (gl_prog->info.tess.spacing != 0 && gl_prog->info.tess.spacing != in link_tes_in_layout_qualifiers()
1862 gl_prog->info.tess.spacing = shader->info.TessEval.Spacing; in link_tes_in_layout_qualifiers()
1891 if (gl_prog->info.tess.primitive_mode == PRIM_UNKNOWN) { in link_tes_in_layout_qualifiers()
1898 if (gl_prog->info.tess.spacing == TESS_SPACING_UNSPECIFIED) in link_tes_in_layout_qualifiers()
1899 gl_prog->info.tess.spacing = TESS_SPACING_EQUAL; in link_tes_in_layout_qualifiers()
1902 gl_prog->info.tess.ccw = true; in link_tes_in_layout_qualifiers()
1904 gl_prog->info.tess.ccw = false; in link_tes_in_layout_qualifiers()
1908 gl_prog->info.tess.point_mode = false; in link_tes_in_layout_qualifiers()
1910 gl_prog->info.tess.point_mode = true; in link_tes_in_layout_qualifiers()
1992 struct gl_program *gl_prog, in link_gs_inout_layout_qualifiers() argument
1999 if (gl_prog->info.stage != MESA_SHADER_GEOMETRY || in link_gs_inout_layout_qualifiers()
2005 gl_prog->info.gs.invocations = 0; in link_gs_inout_layout_qualifiers()
2006 gl_prog->info.gs.input_primitive = PRIM_UNKNOWN; in link_gs_inout_layout_qualifiers()
2007 gl_prog->info.gs.output_primitive = PRIM_UNKNOWN; in link_gs_inout_layout_qualifiers()
2023 if (gl_prog->info.gs.input_primitive != PRIM_UNKNOWN && in link_gs_inout_layout_qualifiers()
2024 gl_prog->info.gs.input_primitive != in link_gs_inout_layout_qualifiers()
2030 gl_prog->info.gs.input_primitive = shader->info.Geom.InputType; in link_gs_inout_layout_qualifiers()
2034 if (gl_prog->info.gs.output_primitive != PRIM_UNKNOWN && in link_gs_inout_layout_qualifiers()
2035 gl_prog->info.gs.output_primitive != in link_gs_inout_layout_qualifiers()
2041 gl_prog->info.gs.output_primitive = shader->info.Geom.OutputType; in link_gs_inout_layout_qualifiers()
2056 if (gl_prog->info.gs.invocations != 0 && in link_gs_inout_layout_qualifiers()
2057 gl_prog->info.gs.invocations != in link_gs_inout_layout_qualifiers()
2061 gl_prog->info.gs.invocations, in link_gs_inout_layout_qualifiers()
2065 gl_prog->info.gs.invocations = shader->info.Geom.Invocations; in link_gs_inout_layout_qualifiers()
2073 if (gl_prog->info.gs.input_primitive == PRIM_UNKNOWN) { in link_gs_inout_layout_qualifiers()
2079 if (gl_prog->info.gs.output_primitive == PRIM_UNKNOWN) { in link_gs_inout_layout_qualifiers()
2090 gl_prog->info.gs.vertices_out = vertices_out; in link_gs_inout_layout_qualifiers()
2093 if (gl_prog->info.gs.invocations == 0) in link_gs_inout_layout_qualifiers()
2094 gl_prog->info.gs.invocations = 1; in link_gs_inout_layout_qualifiers()
2105 struct gl_program *gl_prog, in link_cs_input_layout_qualifiers() argument
2112 if (gl_prog->info.stage != MESA_SHADER_COMPUTE) in link_cs_input_layout_qualifiers()
2116 gl_prog->info.cs.local_size[i] = 0; in link_cs_input_layout_qualifiers()
2118 gl_prog->info.cs.local_size_variable = false; in link_cs_input_layout_qualifiers()
2134 if (gl_prog->info.cs.local_size[0] != 0) { in link_cs_input_layout_qualifiers()
2136 if (gl_prog->info.cs.local_size[i] != in link_cs_input_layout_qualifiers()
2145 gl_prog->info.cs.local_size[i] = in link_cs_input_layout_qualifiers()
2149 if (gl_prog->info.cs.local_size[0] != 0) { in link_cs_input_layout_qualifiers()
2161 gl_prog->info.cs.local_size_variable = true; in link_cs_input_layout_qualifiers()
2169 if (gl_prog->info.cs.local_size[0] == 0 && in link_cs_input_layout_qualifiers()
2170 !gl_prog->info.cs.local_size_variable) { in link_cs_input_layout_qualifiers()
2282 struct gl_program *gl_prog = in link_intrastage_shaders() local
2286 if (!gl_prog) { in link_intrastage_shaders()
2292 _mesa_reference_shader_program_data(ctx, &gl_prog->sh.data, prog->data); in link_intrastage_shaders()
2295 linked->Program = gl_prog; in link_intrastage_shaders()
2301 link_tcs_out_layout_qualifiers(prog, gl_prog, shader_list, num_shaders); in link_intrastage_shaders()
2302 link_tes_in_layout_qualifiers(prog, gl_prog, shader_list, num_shaders); in link_intrastage_shaders()
2303 link_gs_inout_layout_qualifiers(prog, gl_prog, shader_list, num_shaders); in link_intrastage_shaders()
2304 link_cs_input_layout_qualifiers(prog, gl_prog, shader_list, num_shaders); in link_intrastage_shaders()
2384 vertices_per_prim(gl_prog->info.gs.input_primitive); in link_intrastage_shaders()