mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 15:38:09 +02:00
panfrost: fix some omissions in valhall flow control
The code for checking flow control did not realize that
`LD_TEX` and `LD_TEX_IMM` were memory accesses, and hence was
not inserting waits where these were necessary. This showed up
as flakes in KHR-GLES31.core.shader_image_load_store.basic-glsl-misc-fs
Cc: mesa-stable
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29363>
(cherry picked from commit 272dcaff01)
This commit is contained in:
parent
49e025a284
commit
7c74d46567
2 changed files with 10 additions and 3 deletions
|
|
@ -2044,7 +2044,7 @@
|
|||
"description": "panfrost: fix some omissions in valhall flow control",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -115,9 +115,16 @@ bi_ld_vary_writes_hidden_register(const bi_instr *I)
|
|||
static bool
|
||||
bi_is_memory_access(const bi_instr *I)
|
||||
{
|
||||
/* On the attribute unit but functionally a general memory load */
|
||||
if (I->op == BI_OPCODE_LD_ATTR_TEX)
|
||||
/* Some instructions on the attribute unit are functionally
|
||||
a general memory load */
|
||||
switch (I->op) {
|
||||
case BI_OPCODE_LD_ATTR_TEX:
|
||||
case BI_OPCODE_LD_TEX:
|
||||
case BI_OPCODE_LD_TEX_IMM:
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* UBOs are read-only so there are no ordering constriants */
|
||||
if (I->seg == BI_SEG_UBO)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue