mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 03:30:10 +01:00
i965/nir/gs: Implement EmitVertex and EndPrimitive
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
parent
551af29d2d
commit
1836201fde
2 changed files with 23 additions and 0 deletions
|
|
@ -65,4 +65,26 @@ vec4_gs_visitor::nir_setup_inputs(nir_shader *shader)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
vec4_gs_visitor::nir_emit_intrinsic(nir_intrinsic_instr *instr)
|
||||
{
|
||||
dst_reg dest;
|
||||
src_reg src;
|
||||
|
||||
switch (instr->intrinsic) {
|
||||
case nir_intrinsic_emit_vertex: {
|
||||
int stream_id = instr->const_index[0];
|
||||
gs_emit_vertex(stream_id);
|
||||
break;
|
||||
}
|
||||
|
||||
case nir_intrinsic_end_primitive:
|
||||
gs_end_primitive();
|
||||
break;
|
||||
|
||||
default:
|
||||
vec4_visitor::nir_emit_intrinsic(instr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,6 +91,7 @@ protected:
|
|||
virtual void visit(ir_end_primitive *);
|
||||
virtual void gs_emit_vertex(int stream_id);
|
||||
virtual void gs_end_primitive();
|
||||
virtual void nir_emit_intrinsic(nir_intrinsic_instr *instr);
|
||||
|
||||
protected:
|
||||
int setup_varying_inputs(int payload_reg, int *attribute_map,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue