r600/sfn: Handle pre-EG GS input fetch
Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Filip Gawin <filip@gawin.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822>
This commit is contained in:
@@ -326,13 +326,21 @@ bool GeometryShader::emit_load_per_vertex_input(nir_intrinsic_instr* instr)
|
||||
assert(literal_index->u32 < 6);
|
||||
assert(nir_intrinsic_io_semantics(instr).num_slots == 1);
|
||||
|
||||
|
||||
EVTXDataFormat fmt = chip_class() >= ISA_CC_EVERGREEN ?
|
||||
fmt_invalid:
|
||||
fmt_32_32_32_32_float;
|
||||
|
||||
|
||||
auto addr = m_per_vertex_offsets[literal_index->u32];
|
||||
auto fetch = new LoadFromBuffer(dest, dest_swz, addr,
|
||||
16 * nir_intrinsic_base(instr),
|
||||
R600_GS_RING_CONST_BUFFER, nullptr,
|
||||
fmt_invalid);
|
||||
fmt);
|
||||
|
||||
if (chip_class() >= ISA_CC_EVERGREEN)
|
||||
fetch->set_fetch_flag(FetchInstr::use_const_field);
|
||||
|
||||
fetch->set_fetch_flag(FetchInstr::use_const_field);
|
||||
fetch->set_num_format(vtx_nf_norm);
|
||||
fetch->reset_fetch_flag(FetchInstr::format_comp_signed);
|
||||
|
||||
|
Reference in New Issue
Block a user