Vulkan-MemoryModel icon indicating copy to clipboard operation
Vulkan-MemoryModel copied to clipboard

avvisinc is redundant in the last two lines of the definition of locord

Open RobinMorisset opened this issue 5 years ago • 1 comments

This is not a bug, but a proposed simplification.

These lines include the following parts:

  • (stor[W]) . (hb & avvisinc) . avdv
  • visdv . (hb & avvisinc) . (stor[R]) Where avdv = stor[AVDEVICE] and visdv = stor[VISDEVICE]

We know that "SC0+SC1 = R+W" , and avvisinc = (rai[((SC0+SC1)->(AVDEVICE+VISDEVICE)) + ...]) - iden + ... , and no (R+W)&(AVDEVICE+VISDEVICE) (so we don't fall in the '- iden' case) So (stor[W]) . avdv in avvisinc, and visdv . (stor[R]) in avvisinc. So I suggest replacing "(hb & avvisinc)" by "hb" in these two lines. This in turn would allow us to remove (SC0+SC1)->(AVDEVICE+VISDEVICE) from avvisinc, since avvisinc no longer appears in a position where either end could be AVDEVICE or VISDEVICE.

RobinMorisset avatar Mar 06 '19 21:03 RobinMorisset

I'm a bit torn on this. I like the consistency of having avvisinc everywhere there is an av/vis operation, even if it is redundant. But there's also an appeal to just saying "AVDEVICE/VISDEVICE affect everything and don't need to be factored into avvisinc."

jeffbolznv avatar Mar 07 '19 03:03 jeffbolznv