03-02-2016, 08:32 PM
(03-02-2016, 02:11 AM)vlj Wrote: You're confusing read/write buffer with raster ordered view which is a dx12 features (used to synchronise pixel shader execution on the same pixel to implement correct transparency).
Read/write buffer refers to the synchronisation of data between rsx emulation thread and the rest of the emulator. There is often an option in emulator like "frame buffer location" or efb potion in dolphin.
On PC the gpu is drawing things in memory which is separate from the application memory. However on console this is not the case and the gpu is able to draw anywhere in memory, and cell is able to read rsx memory (albeit slowly).
This means that for accurate emulation rpcs3 would have to issues a lot of image transfer from opaque gpu memory to visible memory and this is obviously costly (no game would run at more than a single digit fps).
Read/write toggles allows to bypass such copies. Since almost every rsx produced data are never used by cell this doesn't break a lots of game at the moment.
On the other hand Vulkan might (but that's completely optional and depends on the driver) support a feature that is likely to help rsx memory management corner case : linear tiling for render target and sampled texture. Dx12 doesn't support this at all (actually dx12 is only exposing the common subset of feature that a Vulkan capable card can support) and it's quite difficult to work around.
Interesting if DX12 exposes only a subset then what about Vulkan because it only requires OpenGL 4.2 or are the majority of those hardware features in optional OpenGL vendor extensions? Does Vulkan have equivalent of https://www.opengl.org/registry/specs/NV...raster.txt
Regarding R/W textures are they supported by RSX? I know PS2's GS does and some Nvidia extension is needed to emulate that.
http://forums.pcsx2.net/Thread-Missing-Eyes