Lines Matching defs:gl_prog
1820 struct gl_program *gl_prog,
1824 if (gl_prog->info.stage != MESA_SHADER_TESS_CTRL)
1827 gl_prog->info.tess.tcs_vertices_out = 0;
1843 if (gl_prog->info.tess.tcs_vertices_out != 0 &&
1844 gl_prog->info.tess.tcs_vertices_out !=
1848 gl_prog->info.tess.tcs_vertices_out,
1852 gl_prog->info.tess.tcs_vertices_out =
1861 if (gl_prog->info.tess.tcs_vertices_out == 0) {
1877 struct gl_program *gl_prog,
1881 if (gl_prog->info.stage != MESA_SHADER_TESS_EVAL)
1887 gl_prog->info.tess.primitive_mode = PRIM_UNKNOWN;
1888 gl_prog->info.tess.spacing = TESS_SPACING_UNSPECIFIED;
1908 if (gl_prog->info.tess.primitive_mode != PRIM_UNKNOWN &&
1909 gl_prog->info.tess.primitive_mode !=
1915 gl_prog->info.tess.primitive_mode =
1920 if (gl_prog->info.tess.spacing != 0 && gl_prog->info.tess.spacing !=
1926 gl_prog->info.tess.spacing = shader->info.TessEval.Spacing;
1955 if (gl_prog->info.tess.primitive_mode == PRIM_UNKNOWN) {
1962 if (gl_prog->info.tess.spacing == TESS_SPACING_UNSPECIFIED)
1963 gl_prog->info.tess.spacing = TESS_SPACING_EQUAL;
1966 gl_prog->info.tess.ccw = true;
1968 gl_prog->info.tess.ccw = false;
1972 gl_prog->info.tess.point_mode = false;
1974 gl_prog->info.tess.point_mode = true;
2066 struct gl_program *gl_prog,
2073 if (gl_prog->info.stage != MESA_SHADER_GEOMETRY ||
2079 gl_prog->info.gs.invocations = 0;
2080 gl_prog->info.gs.input_primitive = PRIM_UNKNOWN;
2081 gl_prog->info.gs.output_primitive = PRIM_UNKNOWN;
2097 if (gl_prog->info.gs.input_primitive != PRIM_UNKNOWN &&
2098 gl_prog->info.gs.input_primitive !=
2104 gl_prog->info.gs.input_primitive = shader->info.Geom.InputType;
2108 if (gl_prog->info.gs.output_primitive != PRIM_UNKNOWN &&
2109 gl_prog->info.gs.output_primitive !=
2115 gl_prog->info.gs.output_primitive = shader->info.Geom.OutputType;
2130 if (gl_prog->info.gs.invocations != 0 &&
2131 gl_prog->info.gs.invocations !=
2135 gl_prog->info.gs.invocations,
2139 gl_prog->info.gs.invocations = shader->info.Geom.Invocations;
2147 if (gl_prog->info.gs.input_primitive == PRIM_UNKNOWN) {
2153 if (gl_prog->info.gs.output_primitive == PRIM_UNKNOWN) {
2164 gl_prog->info.gs.vertices_out = vertices_out;
2167 if (gl_prog->info.gs.invocations == 0)
2168 gl_prog->info.gs.invocations = 1;
2179 struct gl_program *gl_prog,
2186 if (gl_prog->info.stage != MESA_SHADER_COMPUTE)
2190 gl_prog->info.cs.local_size[i] = 0;
2192 gl_prog->info.cs.local_size_variable = false;
2194 gl_prog->info.cs.derivative_group = DERIVATIVE_GROUP_NONE;
2210 if (gl_prog->info.cs.local_size[0] != 0) {
2212 if (gl_prog->info.cs.local_size[i] !=
2221 gl_prog->info.cs.local_size[i] =
2225 if (gl_prog->info.cs.local_size[0] != 0) {
2237 gl_prog->info.cs.local_size_variable = true;
2242 if (gl_prog->info.cs.derivative_group != DERIVATIVE_GROUP_NONE &&
2243 gl_prog->info.cs.derivative_group != group) {
2248 gl_prog->info.cs.derivative_group = group;
2256 if (gl_prog->info.cs.local_size[0] == 0 &&
2257 !gl_prog->info.cs.local_size_variable) {
2263 if (gl_prog->info.cs.derivative_group == DERIVATIVE_GROUP_QUADS) {
2264 if (gl_prog->info.cs.local_size[0] % 2 != 0) {
2270 if (gl_prog->info.cs.local_size[1] % 2 != 0) {
2276 } else if (gl_prog->info.cs.derivative_group == DERIVATIVE_GROUP_LINEAR) {
2277 if ((gl_prog->info.cs.local_size[0] *
2278 gl_prog->info.cs.local_size[1] *
2279 gl_prog->info.cs.local_size[2]) % 4 != 0) {
2429 struct gl_program *gl_prog =
2433 if (!gl_prog) {
2439 _mesa_reference_shader_program_data(ctx, &gl_prog->sh.data, prog->data);
2442 linked->Program = gl_prog;
2448 link_tcs_out_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
2449 link_tes_in_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
2450 link_gs_inout_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
2451 link_cs_input_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
2534 vertices_per_prim(gl_prog->info.gs.input_primitive);