Lines Matching defs:prolog
52 ps->selector->info.num_inputs + (ps->key.ps.part.prolog.color_two_side ? num_colors : 0);
727 /* Color inputs from the prolog. */
835 add_part(shader->prolog);
1188 if (shader->prolog)
1189 si_shader_dump_disassembly(sscreen, &shader->prolog->binary, stage, shader->wave_size, debug,
1190 "prolog", file);
1207 const struct si_vs_prolog_bits *prolog, const char *prefix,
1210 fprintf(f, " %s.instance_divisor_is_one = %u\n", prefix, prolog->instance_divisor_is_one);
1212 prolog->instance_divisor_is_fetched);
1213 fprintf(f, " %s.ls_vgpr_fix = %u\n", prefix, prolog->ls_vgpr_fix);
1242 si_dump_shader_key_vs(key, &key->ge.part.vs.prolog, "part.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);
1283 fprintf(f, " prolog.force_persp_sample_interp = %u\n",
1284 key->ps.part.prolog.force_persp_sample_interp);
1285 fprintf(f, " prolog.force_linear_sample_interp = %u\n",
1286 key->ps.part.prolog.force_linear_sample_interp);
1287 fprintf(f, " prolog.force_persp_center_interp = %u\n",
1288 key->ps.part.prolog.force_persp_center_interp);
1289 fprintf(f, " prolog.force_linear_center_interp = %u\n",
1290 key->ps.part.prolog.force_linear_center_interp);
1291 fprintf(f, " prolog.bc_optimize_for_persp = %u\n",
1292 key->ps.part.prolog.bc_optimize_for_persp);
1293 fprintf(f, " prolog.bc_optimize_for_linear = %u\n",
1294 key->ps.part.prolog.bc_optimize_for_linear);
1295 fprintf(f, " prolog.samplemask_log_ps_iter = %u\n",
1296 key->ps.part.prolog.samplemask_log_ps_iter);
1367 * VS prolog. */
1369 /* The 2nd VS prolog loads input VGPRs from LDS */
1374 * Compute the VS prolog key, which contains all the information needed to
1375 * build the VS prolog function, and set shader->info bits where needed.
1380 * \param prolog_key Key of the VS prolog
1972 * Create, compile and return a shader part (prolog or epilog).
1978 * \param prolog whether the part being requested is a prolog
1986 gl_shader_stage stage, bool prolog, union si_shader_part_key *key,
2022 assert(!prolog);
2027 if (prolog) {
2028 shader.key.ps.part.prolog = key->ps_prolog.states;
2076 /* Get the prolog. */
2081 shader->prolog =
2084 return shader->prolog != NULL;
2088 * Select and compile (or reuse) vertex shader parts (prolog & epilog).
2093 return si_get_vs_prolog(sscreen, compiler, shader, debug, shader, &shader->key.ge.part.vs.prolog);
2134 * Select and compile (or reuse) GS parts (prolog).
2159 * Compute the PS prolog key, which contains all the information needed to
2160 * build the PS prolog function, and set related bits in shader->config.
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)
2286 * Check whether a PS prolog is required based on the key.
2318 * Select and compile (or reuse) pixel shader parts (prolog & epilog).
2326 /* Get the prolog. */
2329 /* The prolog is a no-op if these aren't set. */
2331 shader->prolog =
2334 if (!shader->prolog)
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) {
2459 * - the prolog part is inserted at the beginning
2462 * The prolog and epilog have many (but simple) variants.
2465 * shaders also contain the prolog and user shader parts of
2533 if (shader->prolog) {
2535 MAX2(shader->config.num_sgprs, shader->prolog->config.num_sgprs);
2537 MAX2(shader->config.num_vgprs, shader->prolog->config.num_vgprs);
2592 shader->key.ge.part.vs.prolog.instance_divisor_is_one ||
2593 shader->key.ge.part.vs.prolog.instance_divisor_is_fetched;