mirror of
https://github.com/elwrcl/intel-hard-graphics.git
synced 2026-10-31 10:58:03 +03:00
Mesa'nin "eliminate frontend refcounting" refactor'u (MR 36296) set_vertex_buffers'in sahiplik sozlesmesini degistirdi: cagiranin referansi artik devralinyor. threaded_context'te tc_set_vertex_buffers() slot'a duz memcpy yapiyor (referans almiyor) ve tc_call_set_vertex_buffers() surucuye verdikten sonra da birakmiyor -- komut asenkron calistigi icin tamponun hayatta kalmasi tamamen o devredilen referansa bagli. Nine eski sozlesmeye gore yazilmisti: odunc isaretci veriyor, referansi kendinde tutuyordu (eskiden take_ownership=false parametresi vardi). Refactor'un samplerview parcasi Nine'a uygulanmisti (Mart 2025), ama vertex/constant buffer parcasi Nine silindikten sonra geldi, dolayisiyla Nine hic uyarlanmadi. Sonuc: CSMT kuyrugu komutu calistirmadan once Nine kendi referansini birakirsa kaynak oluyor; tc replay edince crocus_set_vertex_buffers olu kaynaga referans almaya calisiyor ve u_inlines.h'de "pipe_reference_described: count != 1" ile patliyor. Zamanlamaya bagli, dolayisiyla araliklidir. Gercek cokme (The Witcher EE, 8086:0166, bes denemenin ikisinde): pipe_reference_described crocus_set_vertex_buffers tc_call_set_vertex_elements_and_buffers Co-Authored-By: Claude Opus 5 <[email protected]>