Alphakill
Started by Inue




34 posts in this topic
vlj
Unregistered


 
03-03-2016, 01:31 AM -
#33
There is no vendor specific extension for Vulkan right now (well actually there's nv_glsl_shader but it's not exposing an hw feature, it's rather a port simplification things).
However Vulkan can query for some device specific feature like available memory type, queue, format tiling support,... And the app is responsible for not using a feature if not present (opengl mandated the driver to emulate it on the other hand). See http://vulkan.gpuinfo.org/listfeatures.php
I don't know if conservative raster is exposed by Vulkan, I didn't find something related atm.

I don't understand what is called rw texture in the link you gave. Image load and store are part of opengl since 4.2. It allows to write to image which is a texture without sampler bound to it. I think it's still possible to sample a texture bound as an image but I never tried. It would involve carefully synchronisation though.

BTW as a loosely related note : Nvidia Rov (rastered ordered view) are exposed as a feature enabling fast programmable blending/order independent transparency but in fact programmable blending and order independent transparency requires a way to write several concurrent pixel shader output coming from a single pixel. Dx11 and opengl 4.0 introduced a synchronisation primitive, atomic counters, which allows that and that's why there are dx11 demo featuring order independent transparency.
Unfortunately Nvidia and Intel gpu atomic counters support are slow (I mean, really slow) so Intel introduced PixelSync which is more less a mutex on pixel. Nvidia followed the same idea with the raster ordered view feature and got it standardized in dx12.
But on Radeon atomic counter are fast enough to enable their usage in order independent transparency scenario and even more complex ones. So while they don't support rov they can still support programmable blending.
Of course both atomic counter and rov incur an overhead over "vanilla" pixel shader execution.


Messages In This Thread
RE: Alphakill - by Inue - 01-31-2016, 11:04 AM
RE: Alphakill - by tambre - 01-31-2016, 11:41 AM
RE: Alphakill - by vlj - 01-31-2016, 11:04 PM
RE: Alphakill - by tambre - 02-01-2016, 05:40 AM
RE: Alphakill - by Inue - 02-02-2016, 09:08 PM
RE: Alphakill - by vlj - 02-02-2016, 10:18 PM
RE: Alphakill - by Inue - 02-06-2016, 08:28 AM
RE: Alphakill - by tambre - 02-06-2016, 10:04 AM
RE: Alphakill - by Inue - 02-06-2016, 10:45 AM
RE: Alphakill - by tambre - 02-06-2016, 11:16 AM
RE: Alphakill - by Inue - 02-06-2016, 11:48 AM
RE: Alphakill - by tambre - 02-06-2016, 12:49 PM
RE: Alphakill - by vlj - 02-06-2016, 05:40 PM
RE: Alphakill - by Mindinis - 02-06-2016, 07:08 PM
RE: Alphakill - by tambre - 02-06-2016, 07:49 PM
RE: Alphakill - by Mindinis - 02-06-2016, 08:02 PM
RE: Alphakill - by vlj - 02-06-2016, 08:34 PM
RE: Alphakill - by Inue - 02-06-2016, 10:31 PM
RE: Alphakill - by vlj - 02-07-2016, 12:15 AM
RE: Alphakill - by tambre - 02-07-2016, 06:55 AM
RE: Alphakill - by Inue - 02-07-2016, 07:45 AM
RE: Alphakill - by tambre - 02-07-2016, 08:10 AM
RE: Alphakill - by vlj - 02-10-2016, 01:03 AM
RE: Alphakill - by Inue - 02-14-2016, 06:05 PM
RE: Alphakill - by vlj - 02-18-2016, 05:05 PM
RE: Alphakill - by Inue - 02-19-2016, 07:42 PM
RE: Alphakill - by flashmozzg - 02-19-2016, 08:13 PM
RE: Alphakill - by kd-11 - 02-25-2016, 08:12 PM
RE: Alphakill - by Inue - 03-01-2016, 12:29 AM
RE: Alphakill - by vlj - 03-02-2016, 02:11 AM
RE: Alphakill - by vlj - 03-02-2016, 02:11 AM
RE: Alphakill - by Inue - 03-02-2016, 08:32 PM
RE: Alphakill - by vlj - 03-03-2016, 01:31 AM
RE: Alphakill - by Inue - 03-03-2016, 06:33 PM
RE: Alphakill - by Inue - 03-16-2016, 05:26 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)