Vulkan errors report
Started by Ekaseo




26 posts in this topic
Yagami Light9
Unregistered


 
03-12-2016, 11:25 PM -
#11
Try it https://ci.appveyor.com/project/rpcs3/rp...d/1.0.1766
Ekaseo
Unregistered


 
03-12-2016, 11:42 PM -
#12
vulkan works now for me, idk about the others though
cuzudo
Unregistered


 
03-13-2016, 12:05 AM -
#13
(03-12-2016, 11:42 PM)Ekaseo Wrote: vulkan works now for me, idk about the others though
yeah it's working now
Big Grin
vlj
Unregistered


 
03-16-2016, 01:35 AM -
#14
On my GeForce linear tiling prevents texture from using several mipmap level which break almost all 3d games. For some reasons it looks like not all GeForce are affected.
In addition the current implementation always use host visible memory to store data. On Radeon this is fine since device memory is host accessible however on GeForce it's not which means all rendering operation happen in main memory instead of device memory which is bad for performance.

I guess these limitations lead to the upload/default/read back design decision of dx12 ; I'm currently implementing a similar way of doing for Vulkan. While it will add an extra copy operation for Radeon user the texture cache will limit the amount of such copy. On the other hand usage of optimal tiling will increase bandwidth usage for sampling and rendering operation so the benefit are likely to outweighs the drawback performance wise.
If necessary an heuristic could detect which textures are modified per frame and use linear tiling for such texture on Radeon but that's a more long-term idea.
kd-11
RPCS3 Developer


0
76 posts 1 threads Joined: Aug 2017
03-16-2016, 09:18 AM -
#15
(03-16-2016, 01:35 AM)vlj Wrote: On my GeForce linear tiling prevents texture from using several mipmap level which break almost all 3d games. For some reasons it looks like not all GeForce are affected.
In addition the current implementation always use host visible memory to store data. On Radeon this is fine since device memory is host accessible however on GeForce it's not which means all rendering operation happen in main memory instead of device memory which is bad for performance.

I guess these limitations lead to the upload/default/read back design decision of dx12 ; I'm currently implementing a similar way of doing for Vulkan. While it will add an extra copy operation for Radeon user the texture cache will limit the amount of such copy. On the other hand usage of optimal tiling will increase bandwidth usage for sampling and rendering operation so the benefit are likely to outweighs the drawback performance wise.
If necessary an heuristic could detect which textures are modified per frame and use linear tiling for such texture on Radeon but that's a more long-term idea.

I think you could create a staging branch for this so that we can check the impact this will have on radeons. The current texturing implementation on vulkan falls back to staging textures if linear tiling support is not natively available. Is that not working? Or is it too slow?
vlj
Unregistered


 
03-16-2016, 04:46 PM -
#16
It's not working atm. Actually the issue is that linear tiling is supported for sampled image, but such image must have only one mipmap level.
Current code only check for linear supports but doesn't check that it can support enough mipmap levels
AlexVS
Unregistered


 
03-16-2016, 06:33 PM -
#17
Hi All.
I try run any game with Vulkan api and emulator stop working. With OpenGL api all OK.
Spec: Intel i3, gtx 750ti, 8Gb ram. Graphics Driver 364.51 (with Vulkan support)
Error rpcs3 with Vulkan:
[Image: C2A86DE9-0030-EF24-60BC-35899C33800B.jpg]
Ani
Administrator
*******


16
4,386 posts 106 threads Joined: Aug 2017
03-16-2016, 07:44 PM -
#18
(03-16-2016, 06:33 PM)AlexVS Wrote: Hi All.
I try run any game with Vulkan api and emulator stop working. With OpenGL api all OK.
Spec: Intel i3, gtx 750ti, 8Gb ram. Graphics Driver 364.51 (with Vulkan support)
Error rpcs3 with Vulkan:
[Image: C2A86DE9-0030-EF24-60BC-35899C33800B.jpg]

I've found the issue for this and fixed it.
Submitted a PR: https://github.com/RPCS3/rpcs3/pull/1585
    Desktop: Ryzen 7 5800X,   Radeon RX 6800 XT, 2x8G DDR4 3600MHz, Manjaro Linux
     Laptop: Ryzen 9 5900HX,  Radeon RX 6700M,   2x8G DDR4 3200MHz, Manjaro Linux
Old Desktop: AMD FX-8350,     Radeon R9 280X,    2x4G DDR3 1600MHz, Manjaro Linux
AlexVS
Unregistered


 
03-16-2016, 10:27 PM -
#19
(03-16-2016, 07:44 PM)Annie Wrote: I've found the issue for this and fixed it.
Submitted a PR: https://github.com/RPCS3/rpcs3/pull/1585
Thanks Smile
kd-11
RPCS3 Developer


0
76 posts 1 threads Joined: Aug 2017
03-17-2016, 04:18 PM -
#20
(03-16-2016, 04:46 PM)vlj Wrote: It's not working atm. Actually the issue is that linear tiling is supported for sampled image, but such image must have only one mipmap level.
Current code only check for linear supports but doesn't check that it can support enough mipmap levels

Is there a case where we use textures that aren't sampleable? I didnt know about the sampleable images only having one mipmap level. That sounds very odd considering mipmapping is only really needed for sampling purposes. Driver bug maybe?

EDIT: I noticed in the spec linear tiling allows the driver to set a maxmiplevels of 1. I missed it the first time. In this case i'm guessing we have to copy image to every mipmap level individually.


Forum Jump:


Users browsing this thread: 1 Guest(s)