Lines Matching refs:gl_prog
1828 struct gl_program *gl_prog, in link_layer_viewport_relative_qualifier() argument
1837 gl_prog->info.layer_viewport_relative = in link_layer_viewport_relative_qualifier()
1849 gl_prog->info.layer_viewport_relative) { in link_layer_viewport_relative_qualifier()
1863 struct gl_program *gl_prog, in link_tcs_out_layout_qualifiers() argument
1867 if (gl_prog->info.stage != MESA_SHADER_TESS_CTRL) in link_tcs_out_layout_qualifiers()
1870 gl_prog->info.tess.tcs_vertices_out = 0; in link_tcs_out_layout_qualifiers()
1886 if (gl_prog->info.tess.tcs_vertices_out != 0 && in link_tcs_out_layout_qualifiers()
1887 gl_prog->info.tess.tcs_vertices_out != in link_tcs_out_layout_qualifiers()
1891 gl_prog->info.tess.tcs_vertices_out, in link_tcs_out_layout_qualifiers()
1895 gl_prog->info.tess.tcs_vertices_out = in link_tcs_out_layout_qualifiers()
1904 if (gl_prog->info.tess.tcs_vertices_out == 0) { in link_tcs_out_layout_qualifiers()
1920 struct gl_program *gl_prog, in link_tes_in_layout_qualifiers() argument
1924 if (gl_prog->info.stage != MESA_SHADER_TESS_EVAL) in link_tes_in_layout_qualifiers()
1930 gl_prog->info.tess.primitive_mode = PRIM_UNKNOWN; in link_tes_in_layout_qualifiers()
1931 gl_prog->info.tess.spacing = TESS_SPACING_UNSPECIFIED; in link_tes_in_layout_qualifiers()
1951 if (gl_prog->info.tess.primitive_mode != PRIM_UNKNOWN && in link_tes_in_layout_qualifiers()
1952 gl_prog->info.tess.primitive_mode != in link_tes_in_layout_qualifiers()
1958 gl_prog->info.tess.primitive_mode = in link_tes_in_layout_qualifiers()
1963 if (gl_prog->info.tess.spacing != 0 && gl_prog->info.tess.spacing != in link_tes_in_layout_qualifiers()
1969 gl_prog->info.tess.spacing = shader->info.TessEval.Spacing; in link_tes_in_layout_qualifiers()
1998 if (gl_prog->info.tess.primitive_mode == PRIM_UNKNOWN) { in link_tes_in_layout_qualifiers()
2005 if (gl_prog->info.tess.spacing == TESS_SPACING_UNSPECIFIED) in link_tes_in_layout_qualifiers()
2006 gl_prog->info.tess.spacing = TESS_SPACING_EQUAL; in link_tes_in_layout_qualifiers()
2009 gl_prog->info.tess.ccw = true; in link_tes_in_layout_qualifiers()
2011 gl_prog->info.tess.ccw = false; in link_tes_in_layout_qualifiers()
2015 gl_prog->info.tess.point_mode = false; in link_tes_in_layout_qualifiers()
2017 gl_prog->info.tess.point_mode = true; in link_tes_in_layout_qualifiers()
2109 struct gl_program *gl_prog, in link_gs_inout_layout_qualifiers() argument
2116 if (gl_prog->info.stage != MESA_SHADER_GEOMETRY || in link_gs_inout_layout_qualifiers()
2122 gl_prog->info.gs.invocations = 0; in link_gs_inout_layout_qualifiers()
2123 gl_prog->info.gs.input_primitive = PRIM_UNKNOWN; in link_gs_inout_layout_qualifiers()
2124 gl_prog->info.gs.output_primitive = PRIM_UNKNOWN; in link_gs_inout_layout_qualifiers()
2140 if (gl_prog->info.gs.input_primitive != PRIM_UNKNOWN && in link_gs_inout_layout_qualifiers()
2141 gl_prog->info.gs.input_primitive != in link_gs_inout_layout_qualifiers()
2147 gl_prog->info.gs.input_primitive = shader->info.Geom.InputType; in link_gs_inout_layout_qualifiers()
2151 if (gl_prog->info.gs.output_primitive != PRIM_UNKNOWN && in link_gs_inout_layout_qualifiers()
2152 gl_prog->info.gs.output_primitive != in link_gs_inout_layout_qualifiers()
2158 gl_prog->info.gs.output_primitive = shader->info.Geom.OutputType; in link_gs_inout_layout_qualifiers()
2173 if (gl_prog->info.gs.invocations != 0 && in link_gs_inout_layout_qualifiers()
2174 gl_prog->info.gs.invocations != in link_gs_inout_layout_qualifiers()
2178 gl_prog->info.gs.invocations, in link_gs_inout_layout_qualifiers()
2182 gl_prog->info.gs.invocations = shader->info.Geom.Invocations; in link_gs_inout_layout_qualifiers()
2190 if (gl_prog->info.gs.input_primitive == PRIM_UNKNOWN) { in link_gs_inout_layout_qualifiers()
2196 if (gl_prog->info.gs.output_primitive == PRIM_UNKNOWN) { in link_gs_inout_layout_qualifiers()
2207 gl_prog->info.gs.vertices_out = vertices_out; in link_gs_inout_layout_qualifiers()
2210 if (gl_prog->info.gs.invocations == 0) in link_gs_inout_layout_qualifiers()
2211 gl_prog->info.gs.invocations = 1; in link_gs_inout_layout_qualifiers()
2222 struct gl_program *gl_prog, in link_cs_input_layout_qualifiers() argument
2229 if (gl_prog->info.stage != MESA_SHADER_COMPUTE) in link_cs_input_layout_qualifiers()
2233 gl_prog->info.cs.local_size[i] = 0; in link_cs_input_layout_qualifiers()
2235 gl_prog->info.cs.local_size_variable = false; in link_cs_input_layout_qualifiers()
2237 gl_prog->info.cs.derivative_group = DERIVATIVE_GROUP_NONE; in link_cs_input_layout_qualifiers()
2253 if (gl_prog->info.cs.local_size[0] != 0) { in link_cs_input_layout_qualifiers()
2255 if (gl_prog->info.cs.local_size[i] != in link_cs_input_layout_qualifiers()
2264 gl_prog->info.cs.local_size[i] = in link_cs_input_layout_qualifiers()
2268 if (gl_prog->info.cs.local_size[0] != 0) { in link_cs_input_layout_qualifiers()
2280 gl_prog->info.cs.local_size_variable = true; in link_cs_input_layout_qualifiers()
2285 if (gl_prog->info.cs.derivative_group != DERIVATIVE_GROUP_NONE && in link_cs_input_layout_qualifiers()
2286 gl_prog->info.cs.derivative_group != group) { in link_cs_input_layout_qualifiers()
2291 gl_prog->info.cs.derivative_group = group; in link_cs_input_layout_qualifiers()
2299 if (gl_prog->info.cs.local_size[0] == 0 && in link_cs_input_layout_qualifiers()
2300 !gl_prog->info.cs.local_size_variable) { in link_cs_input_layout_qualifiers()
2306 if (gl_prog->info.cs.derivative_group == DERIVATIVE_GROUP_QUADS) { in link_cs_input_layout_qualifiers()
2307 if (gl_prog->info.cs.local_size[0] % 2 != 0) { in link_cs_input_layout_qualifiers()
2313 if (gl_prog->info.cs.local_size[1] % 2 != 0) { in link_cs_input_layout_qualifiers()
2319 } else if (gl_prog->info.cs.derivative_group == DERIVATIVE_GROUP_LINEAR) { in link_cs_input_layout_qualifiers()
2320 if ((gl_prog->info.cs.local_size[0] * in link_cs_input_layout_qualifiers()
2321 gl_prog->info.cs.local_size[1] * in link_cs_input_layout_qualifiers()
2322 gl_prog->info.cs.local_size[2]) % 4 != 0) { in link_cs_input_layout_qualifiers()
2472 struct gl_program *gl_prog = in link_intrastage_shaders() local
2474 if (!gl_prog) { in link_intrastage_shaders()
2480 _mesa_reference_shader_program_data(ctx, &gl_prog->sh.data, prog->data); in link_intrastage_shaders()
2483 linked->Program = gl_prog; in link_intrastage_shaders()
2489 link_tcs_out_layout_qualifiers(prog, gl_prog, shader_list, num_shaders); in link_intrastage_shaders()
2490 link_tes_in_layout_qualifiers(prog, gl_prog, shader_list, num_shaders); in link_intrastage_shaders()
2491 link_gs_inout_layout_qualifiers(prog, gl_prog, shader_list, num_shaders); in link_intrastage_shaders()
2492 link_cs_input_layout_qualifiers(prog, gl_prog, shader_list, num_shaders); in link_intrastage_shaders()
2499 link_layer_viewport_relative_qualifier(prog, gl_prog, shader_list, num_shaders); in link_intrastage_shaders()
2594 vertices_per_prim(gl_prog->info.gs.input_primitive); in link_intrastage_shaders()