Lines Matching refs:ge
65 return shader->key.ge.as_ls || shader->key.ge.as_es ||
76 return shader->key.ge.as_ngg || si_is_multi_part_shader(shader);
230 return shader->key.ge.as_ngg ? 128 : 0;
320 if (shader->key.ge.as_ls) {
410 if (shader->key.ge.as_ls || stage == MESA_SHADER_TESS_CTRL)
412 else if (shader->key.ge.as_es || shader->key.ge.as_ngg || stage == MESA_SHADER_GEOMETRY)
443 if (shader->key.ge.as_es) {
445 } else if (shader->key.ge.as_ls) {
520 if (shader->key.ge.opt.same_patch_vertices) {
527 if (shader->key.ge.opt.same_patch_vertices) {
552 if (ctx->shader->key.ge.as_ngg)
615 if ((ctx->shader->key.ge.as_es || ngg_cull_shader) &&
656 if (shader->key.ge.as_es) {
847 (sel->stage <= MESA_SHADER_GEOMETRY && shader->key.ge.as_ngg))) {
854 if (sel->stage == MESA_SHADER_GEOMETRY && shader->key.ge.as_ngg) {
1134 if (shader->key.ge.as_es)
1136 else if (shader->key.ge.as_ls)
1138 else if (shader->key.ge.as_ngg)
1145 if (shader->key.ge.as_es)
1147 else if (shader->key.ge.as_ngg)
1215 fprintf(f, " mono.vs.fetch_opencode = %x\n", key->ge.mono.vs_fetch_opencode);
1218 union si_vs_fix_fetch fix = key->ge.mono.vs_fix_fetch[i];
1242 si_dump_shader_key_vs(key, &key->ge.part.vs.prolog, "part.vs.prolog", f);
1243 fprintf(f, " as_es = %u\n", key->ge.as_es);
1244 fprintf(f, " as_ls = %u\n", key->ge.as_ls);
1245 fprintf(f, " as_ngg = %u\n", key->ge.as_ngg);
1246 fprintf(f, " mono.u.vs_export_prim_id = %u\n", key->ge.mono.u.vs_export_prim_id);
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);
1254 fprintf(f, " opt.prefer_mono = %u\n", key->ge.opt.prefer_mono);
1255 fprintf(f, " opt.same_patch_vertices = %u\n", key->ge.opt.same_patch_vertices);
1259 fprintf(f, " as_es = %u\n", key->ge.as_es);
1260 fprintf(f, " as_ngg = %u\n", key->ge.as_ngg);
1261 fprintf(f, " mono.u.vs_export_prim_id = %u\n", key->ge.mono.u.vs_export_prim_id);
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);
1272 fprintf(f, " mono.u.gs_tri_strip_adj_fix = %u\n", key->ge.mono.u.gs_tri_strip_adj_fix);
1273 fprintf(f, " as_ngg = %u\n", key->ge.as_ngg);
1322 !key->ge.as_es && !key->ge.as_ls) {
1323 fprintf(f, " opt.kill_outputs = 0x%" PRIx64 "\n", key->ge.opt.kill_outputs);
1324 fprintf(f, " opt.kill_pointsize = 0x%x\n", key->ge.opt.kill_pointsize);
1325 fprintf(f, " opt.kill_clip_distances = 0x%x\n", key->ge.opt.kill_clip_distances);
1326 fprintf(f, " opt.ngg_culling = 0x%x\n", key->ge.opt.ngg_culling);
1330 fprintf(f, " opt.prefer_mono = %u\n", key->ge.opt.prefer_mono);
1335 if (key->ge.opt.inline_uniforms) {
1337 key->ge.opt.inline_uniforms,
1338 key->ge.opt.inlined_uniform_values[0],
1339 key->ge.opt.inlined_uniform_values[1],
1340 key->ge.opt.inlined_uniform_values[2],
1341 key->ge.opt.inlined_uniform_values[3]);
1370 (key->ge.opt.ngg_culling && !ngg_cull_shader && !is_gs);
1393 key->vs_prolog.as_ls = shader_out->key.ge.as_ls;
1394 key->vs_prolog.as_es = shader_out->key.ge.as_es;
1395 key->vs_prolog.as_ngg = shader_out->key.ge.as_ngg;
1398 !ngg_cull_shader && shader_out->key.ge.opt.ngg_culling)
1407 } else if (shader_out->key.ge.as_ngg) {
1431 (!key->ge.opt.kill_outputs &&
1432 !key->ge.opt.kill_pointsize &&
1433 !key->ge.opt.kill_clip_distances)) {
1460 key->ge.opt.kill_outputs &
1466 if (key->ge.opt.kill_pointsize && sem.location == VARYING_SLOT_PSIZ) {
1474 if ((key->ge.opt.kill_clip_distances & SI_USER_CLIP_PLANE_MASK) == SI_USER_CLIP_PLANE_MASK &&
1480 if (key->ge.opt.kill_clip_distances &&
1487 if ((key->ge.opt.kill_clip_distances >> index) & 0x1) {
1522 if (key->ge.as_ls) {
1524 key->ge.opt.same_patch_vertices, tcs_vgpr_only_inputs);
1526 } else if (key->ge.as_es) {
1533 key->ge.opt.same_patch_vertices);
1542 key->ge.opt.same_patch_vertices &&
1549 if (key->ge.as_es) {
1557 sel->screen->info.gfx_level, key->ge.mono.u.gs_tri_strip_adj_fix);
1787 (sel->stage == MESA_SHADER_GEOMETRY && shader->key.ge.as_ngg)) &&
1788 !shader->key.ge.as_ls && !shader->key.ge.as_es) {
1814 if (shader->key.ge.mono.u.vs_export_prim_id) {
1879 if (sel->stage == MESA_SHADER_GEOMETRY && !shader->key.ge.as_ngg) {
1891 !shader->key.ge.as_ls && !shader->key.ge.as_es) {
1894 if (sel->stage == MESA_SHADER_GEOMETRY && !shader->key.ge.as_ngg)
1900 shader->key.ge.mono.u.vs_export_prim_id;
2016 shader.key.ge.as_ls = key->vs_prolog.as_ls;
2017 shader.key.ge.as_es = key->vs_prolog.as_es;
2018 shader.key.ge.as_ngg = key->vs_prolog.as_ngg;
2023 shader.key.ge.part.tcs.epilog = key->tcs_epilog.states;
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))
2142 if (shader->key.ge.as_ngg)
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))
2499 if (!shader->key.ge.as_ngg) {
2566 if (sel->stage <= MESA_SHADER_GEOMETRY && shader->key.ge.as_ngg) {
2567 assert(!shader->key.ge.as_es && !shader->key.ge.as_ls);
2583 shader->key.ge.mono.u.vs_export_prim_id));
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);