From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 110229] Textures binded to framebuffer objects or images are not correctly updated. Date: Fri, 29 Mar 2019 21:39:31 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0881496793==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [IPv6:2610:10:20:722:a800:ff:fe98:4b55]) by gabe.freedesktop.org (Postfix) with ESMTP id 8A4BD6E520 for ; Fri, 29 Mar 2019 21:39:31 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0881496793== Content-Type: multipart/alternative; boundary="15538955711.bC257Fb9.2662" Content-Transfer-Encoding: 7bit --15538955711.bC257Fb9.2662 Date: Fri, 29 Mar 2019 21:39:31 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated https://bugs.freedesktop.org/show_bug.cgi?id=3D110229 --- Comment #14 from Laurent --- (In reply to Laurent from comment #13) > "I'm afraid that's not the problem. The drivers compile the whole shader, > then copy it to memory, and the entire content is present before the shad= er > stops executing. This has been extensively battle-tested in many games, > conformance suites, computer-vision analysis, industrial-scale movie > renders, etc." >=20 > Yeah but the shader'll not stop if he's not launched, and you have to use > some synchronisation mechanism to copy the content before the shader stop= s. >=20 >=20 > "The real answer is that maintaining these drivers is a lot of work, and = the > people developing it cannot always drop everything to examine your source > code and debug a relatively complex application for you in the space of a > few days." >=20 > Yes of course. >=20 > "GPU execution is very, very, different from CPU execution: in particular, > fragment shading is massively parallel (frequently within tiles). It may = be > that the execution order is not what you expect, or the access to shared > variables is also not what you expect. It's hard to tell from the code, > since the per-fragment linked-list approach you have is definitely ... > novel." >=20 > Yeah so there are one thread per fragment and not per instruction. > With the CPU you need mutex to avoid concurrent access, and I think two C= PU > thread cannot write/read to/from the memory at the same time, the GPU can > because he use one micro controller per thread (if I'm not wrong) so you > don't need to protect from concurrent access but you need to use an OIT > mechanism in the driver (I think) because you don't know which thread'll > write to the memory first... And (I've forgot), using mutex is slow so, normally we don't use them with = the GPU. --=20 You are receiving this mail because: You are the assignee for the bug.= --15538955711.bC257Fb9.2662 Date: Fri, 29 Mar 2019 21:39:31 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated

Comme= nt # 14 on bug 11022= 9 from Laurent
(In reply to Laurent from comment #13)
> "I'm afraid that's not the problem. The dri=
vers compile the whole shader,
> then copy it to memory, and the entire content is present before the s=
hader
> stops executing. This has been extensively battle-tested in many games,
> conformance suites, computer-vision analysis, industrial-scale movie
> renders, etc."
>=20
> Yeah but the shader'll not stop if he's not launched, and you have to =
use
> some synchronisation mechanism to copy the content before the shader s=
tops.
>=20
>=20
> "The real answer is that maintaining these drivers is a lot of wo=
rk, and the
> people developing it cannot always drop everything to examine your sou=
rce
> code and debug a relatively complex application for you in the space o=
f a
> few days."
>=20
> Yes of course.
>=20
> "GPU execution is very, very, different from CPU execution: in pa=
rticular,
> fragment shading is massively parallel (frequently within tiles). It m=
ay be
> that the execution order is not what you expect, or the access to shar=
ed
> variables is also not what you expect. It's hard to tell from the code,
> since the per-fragment linked-list approach you have is definitely ...
> novel."
>=20
> Yeah so there are one thread per fragment and not per instruction.
> With the CPU you need mutex to avoid concurrent access, and I think tw=
o CPU
> thread cannot write/read to/from the memory at the same time, the GPU =
can
> because he use one micro controller per thread (if I'm not wrong) so y=
ou
> don't need to protect from concurrent access but you need to use an OIT
> mechanism in the driver (I think) because you don't know which thread'=
ll
> write to the memory first...

And (I've forgot), using mutex is slow so, normally we don't use them with =
the
GPU.


You are receiving this mail because:
  • You are the assignee for the bug.
= --15538955711.bC257Fb9.2662-- --===============0881496793== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============0881496793==--