Lines Matching full:part
52 ps->selector->info.num_inputs + (ps->key.ps.part.prolog.color_two_side ? num_colors : 0);
513 /* LS return values are inputs to the TCS main shader part. */
1179 fprintf(file, "\n%s - main shader part - LLVM IR:\n\n", si_get_shader_name(shader));
1242 si_dump_shader_key_vs(key, &key->ge.part.vs.prolog, "part.vs.prolog", f);
1251 si_dump_shader_key_vs(key, &key->ge.part.tcs.ls_prolog, "part.tcs.ls_prolog", f);
1253 fprintf(f, " part.tcs.epilog.prim_mode = %u\n", key->ge.part.tcs.epilog.prim_mode);
1269 key->ge.part.gs.es->stage == MESA_SHADER_VERTEX) {
1270 si_dump_shader_key_vs(key, &key->ge.part.gs.vs_prolog, "part.gs.vs_prolog", f);
1280 fprintf(f, " prolog.color_two_side = %u\n", key->ps.part.prolog.color_two_side);
1281 fprintf(f, " prolog.flatshade_colors = %u\n", key->ps.part.prolog.flatshade_colors);
1282 fprintf(f, " prolog.poly_stipple = %u\n", key->ps.part.prolog.poly_stipple);
1284 key->ps.part.prolog.force_persp_sample_interp);
1286 key->ps.part.prolog.force_linear_sample_interp);
1288 key->ps.part.prolog.force_persp_center_interp);
1290 key->ps.part.prolog.force_linear_center_interp);
1292 key->ps.part.prolog.bc_optimize_for_persp);
1294 key->ps.part.prolog.bc_optimize_for_linear);
1296 key->ps.part.prolog.samplemask_log_ps_iter);
1298 key->ps.part.epilog.spi_shader_col_format);
1299 fprintf(f, " epilog.color_is_int8 = 0x%X\n", key->ps.part.epilog.color_is_int8);
1300 fprintf(f, " epilog.color_is_int10 = 0x%X\n", key->ps.part.epilog.color_is_int10);
1301 fprintf(f, " epilog.last_cbuf = %u\n", key->ps.part.epilog.last_cbuf);
1302 fprintf(f, " epilog.alpha_func = %u\n", key->ps.part.epilog.alpha_func);
1303 fprintf(f, " epilog.alpha_to_one = %u\n", key->ps.part.epilog.alpha_to_one);
1304 fprintf(f, " epilog.alpha_to_coverage_via_mrtz = %u\n", key->ps.part.epilog.alpha_to_coverage_via_mrtz);
1305 fprintf(f, " epilog.clamp_color = %u\n", key->ps.part.epilog.clamp_color);
1306 fprintf(f, " epilog.dual_src_blend_swizzle = %u\n", key->ps.part.epilog.dual_src_blend_swizzle);
1379 * \param has_old_ Whether the preceding shader part is the NGG cull shader.
1382 * \param key Output shader part key.
1972 * Create, compile and return a shader part (prolog or epilog).
1977 * \param key shader part key
1978 * \param prolog whether the part being requested is a prolog
2023 shader.key.ge.part.tcs.epilog = key->tcs_epilog.states;
2028 shader.key.ps.part.prolog = key->ps_prolog.states;
2031 shader.key.ps.part.epilog = key->ps_epilog.states;
2036 unreachable("bad shader part");
2093 return si_get_vs_prolog(sscreen, compiler, shader, debug, shader, &shader->key.ge.part.vs.prolog);
2100 key->tcs_epilog.states = shader->key.ge.part.tcs.epilog;
2114 struct si_shader *ls_main_part = shader->key.ge.part.tcs.ls->main_shader_part_ls;
2117 &shader->key.ge.part.tcs.ls_prolog))
2143 es_main_part = shader->key.ge.part.gs.es->main_shader_part_ngg_es;
2145 es_main_part = shader->key.ge.part.gs.es->main_shader_part_es;
2147 if (shader->key.ge.part.gs.es->stage == MESA_SHADER_VERTEX &&
2149 &shader->key.ge.part.gs.vs_prolog))
2168 key->ps_prolog.states = shader->key.ps.part.prolog;
2183 if (shader->key.ps.part.prolog.poly_stipple)
2189 if (shader->key.ps.part.prolog.color_two_side) {
2206 if (shader->key.ps.part.prolog.flatshade_colors && interp == INTERP_MODE_COLOR)
2216 if (shader->key.ps.part.prolog.force_persp_sample_interp)
2218 if (shader->key.ps.part.prolog.force_persp_center_interp)
2246 if (shader->key.ps.part.prolog.force_linear_sample_interp)
2248 if (shader->key.ps.part.prolog.force_linear_center_interp)
2314 key->ps_epilog.states = shader->key.ps.part.epilog;
2348 if (shader->key.ps.part.prolog.poly_stipple) {
2354 if (shader->key.ps.part.prolog.force_persp_sample_interp &&
2361 if (shader->key.ps.part.prolog.force_linear_sample_interp &&
2368 if (shader->key.ps.part.prolog.force_persp_center_interp &&
2375 if (shader->key.ps.part.prolog.force_linear_center_interp &&
2397 if (shader->key.ps.part.prolog.samplemask_log_ps_iter) {
2438 /* LS, ES, VS are compiled on demand if the main part hasn't been
2441 * GS are compiled on demand if the main part hasn't been compiled
2456 * - the middle part is the user shader, it has 1 variant only
2459 * - the prolog part is inserted at the beginning
2460 * - the epilog part is inserted at the end
2592 shader->key.ge.part.vs.prolog.instance_divisor_is_one ||
2593 shader->key.ge.part.vs.prolog.instance_divisor_is_fetched;
2597 shader->key.ge.part.tcs.ls_prolog.instance_divisor_is_one ||
2598 shader->key.ge.part.tcs.ls_prolog.instance_divisor_is_fetched);
2602 shader->key.ge.part.gs.vs_prolog.instance_divisor_is_one ||
2603 shader->key.ge.part.gs.vs_prolog.instance_divisor_is_fetched);