draw: fix prim_info.start for linear_run_elts

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35096>
This commit is contained in:
Aleksi Sapon 2025-05-21 15:53:24 -04:00 committed by Marge Bot
parent d4a9d62920
commit c20bb020a6
5 changed files with 7 additions and 3 deletions

View file

@ -120,6 +120,7 @@ struct draw_pt_middle_end {
unsigned fetch_start,
unsigned fetch_count,
const uint16_t *draw_elts,
unsigned draw_start,
unsigned draw_count,
unsigned prim_flags);

View file

@ -297,6 +297,7 @@ fse_run_linear_elts(struct draw_pt_middle_end *middle,
unsigned start,
unsigned count,
const uint16_t *draw_elts,
unsigned draw_start,
unsigned draw_count,
unsigned prim_flags)
{

View file

@ -439,6 +439,7 @@ fetch_pipeline_linear_run_elts(struct draw_pt_middle_end *middle,
unsigned start,
unsigned count,
const uint16_t *draw_elts,
unsigned draw_start,
unsigned draw_count,
unsigned prim_flags)
{
@ -452,7 +453,7 @@ fetch_pipeline_linear_run_elts(struct draw_pt_middle_end *middle,
fetch_info.elts = NULL;
prim_info.linear = false;
prim_info.start = start - fpme->draw->start_index;
prim_info.start = draw_start - fpme->draw->start_index;
prim_info.count = draw_count;
prim_info.elts = draw_elts;
prim_info.prim = prim_type(fpme->input_prim, prim_flags);

View file

@ -815,6 +815,7 @@ llvm_middle_end_linear_run_elts(struct draw_pt_middle_end *middle,
unsigned start,
unsigned count,
const uint16_t *draw_elts,
unsigned draw_start,
unsigned draw_count,
unsigned prim_flags)
{
@ -828,7 +829,7 @@ llvm_middle_end_linear_run_elts(struct draw_pt_middle_end *middle,
fetch_info.elts = NULL;
prim_info.linear = false;
prim_info.start = start - fpme->draw->start_index;
prim_info.start = draw_start - fpme->draw->start_index;
prim_info.count = draw_count;
prim_info.elts = draw_elts;
prim_info.prim = prim_type(fpme->input_prim, prim_flags);

View file

@ -113,7 +113,7 @@ CONCAT2(vsplit_primitive_, ELT_TYPE)(struct vsplit_frontend *vsplit,
return vsplit->middle->run_linear_elts(vsplit->middle,
fetch_start, fetch_count,
draw_elts, icount, 0x0);
draw_elts, istart, icount, 0x0);
}