Lines Matching refs:gs
373 unsigned mask = ctx->gfx_stages[PIPE_SHADER_GEOMETRY]->initial->info.gs.active_stream_mask & ~1;
387 struct d3d12_shader_selector *gs = ctx->gfx_stages[PIPE_SHADER_GEOMETRY];
389 if (gs != NULL && !gs->is_variant) {
391 return (gs->initial->info.gs.output_primitive == GL_POINTS &&
392 (gs->initial->info.outputs_written & VARYING_BIT_PSIZ ||
394 (gs->initial->info.gs.active_stream_mask == 1 ||
429 struct d3d12_shader_selector *gs = sel_ctx->ctx->gfx_stages[PIPE_SHADER_GEOMETRY];
430 struct d3d12_shader_selector *last_vertex_stage = gs && !gs->is_variant ? gs : vs;
440 mode = (enum pipe_prim_type)last_vertex_stage->current->nir->info.gs.output_primitive;
452 (!gs || gs->is_variant ||
453 gs->initial->info.gs.vertices_out > u_prim_vertex_count(mode)->min);
598 d3d12_shader_selector *gs = ctx->gfx_stages[PIPE_SHADER_GEOMETRY];
601 if (gs != NULL && !gs->is_variant)
632 if (gs && memcmp(&gs->gs_key, &key, sizeof(key)) == 0)
636 gs = variant_needed ? d3d12_get_gs_variant(ctx, &key) : NULL;
637 ctx->gfx_stages[PIPE_SHADER_GEOMETRY] = gs;
720 if (expect->gs.writes_psize) {
721 if (!have->gs.writes_psize ||
722 expect->gs.point_pos_stream_out != have->gs.point_pos_stream_out ||
723 expect->gs.sprite_coord_enable != have->gs.sprite_coord_enable ||
724 expect->gs.sprite_origin_upper_left != have->gs.sprite_origin_upper_left ||
725 expect->gs.point_size_per_vertex != have->gs.point_size_per_vertex)
727 } else if (have->gs.writes_psize) {
730 if (expect->gs.primitive_id != have->gs.primitive_id ||
731 expect->gs.triangle_strip != have->gs.triangle_strip)
836 hash = _mesa_hash_data_with_seed(&key->gs, sizeof(key->gs), hash);
949 key->gs.writes_psize = 1;
950 key->gs.point_size_per_vertex = rast->point_size_per_vertex;
951 key->gs.sprite_coord_enable = rast->sprite_coord_enable;
952 key->gs.sprite_origin_upper_left = (rast->sprite_coord_mode != PIPE_SPRITE_COORD_LOWER_LEFT);
954 key->gs.sprite_origin_upper_left = !key->gs.sprite_origin_upper_left;
955 key->gs.aa_point = rast->point_smooth;
956 key->gs.stream_output_factor = 6;
958 key->gs.stream_output_factor = 2;
960 key->gs.triangle_strip = 1;
964 key->gs.primitive_id = 1;
1087 if (key.gs.writes_psize) {
1089 !key.gs.sprite_origin_upper_left,
1090 key.gs.point_size_per_vertex,
1091 key.gs.sprite_coord_enable,
1098 if (key.gs.primitive_id) {
1105 if (key.gs.triangle_strip)