rpcs3 icon indicating copy to clipboard operation
rpcs3 copied to clipboard

OpenGL remaining tasks

Open kd-11 opened this issue 3 years ago • 2 comments

  • [x] Fix remaining regressions after optimization changes (Nier) - https://github.com/RPCS3/rpcs3/pull/12169
  • [x] Accelerate CopyImageToBuffer and CopyBufferToImage to improve typeless copy performance.
  • [x] Refactor GLHelpers into something more manageable
  • [x] Accelerate BGRA<->RGBA operations
  • [ ] SPIRV shader compiler
  • [x] Implement proper async shader compilation using the extension (Cancelled, not feasible)
  • [x] Port FSR to work with GL
  • [ ] MSAA support

kd-11 avatar Jun 04 '22 17:06 kd-11

Link #11432

marcoluc97 avatar Jun 05 '22 18:06 marcoluc97

Optimizations are mostly complete, but I need to avoid doing full buffer round-trips for some data types when doing copies. These can be trivially implemented using custom shaders. Specifically BGRA<->RGBA conversions need not use the slow copy method with double compute pipelines. After that I only need to do async shader compilation and FSR to get OGL to have functional parity with Vulkan.

kd-11 avatar Jul 15 '22 13:07 kd-11

I implemented the SPIRV recompiler years ago but had to throw it away since it doesn't support traditional uniforms. This isn't really a big deal since we can rewrite all shaders to go with UBOs but it is very inconvenient to rewrite all the passes without some refactoring first. Fortunately this is in progress slowly over time to use unified shaders with vulkan, so I'll leave the point open as I'll get around to it eventually. That said, it may not be worth pursuing especially as intel's new drivers may already be good enough to compile glsl without bugs.

kd-11 avatar Feb 08 '25 16:02 kd-11

MSAA now supported after https://github.com/RPCS3/rpcs3/pull/16683

kd-11 avatar Feb 10 '25 23:02 kd-11