-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vulkan: Use compute shader for RealXFB decoding #5477
Conversation
@dolphin-emu-bot rebuild |
I didn't notice much of a performance difference, but if it's a performance up and realXFB works fine still, that's nice for me. |
Is there a good way to share more code with the texture decoder of the vulkan backend? |
@degasus - what if we shared this once AbstractTextures was merged? We could have a function called ConvertDataToRGBFormat(const void* src_ptr, u32 src_width, u32 src_stride, u32 src_height, ConversionFormat) on the texture? I think we'd have to fallback to CPU if there weren't any compute-shaders though. This would fall in line with the conversation on IRC yesterday about hybrid-xfb and doing YCbCr to RGB on the GPU if possible. So we'd support converting both formats (YCbCr and YUYV) to RGB using either GPU or CPU? |
@degasus Yup, I don't see why it couldn't be added as another format for the texture decoding shaders. |
Hybrid XFB requires a XFB decoding shader anyway. |
@phire - isn't that just another 'flavor' of converting some data to RGB format? |
|
||
float y = mix(c0.r, c0.b, (uv.x & 1) == 1); | ||
float y = mix(yuyv.r, yuyv.b, (uv.x & 1u) == 1u); |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Image layouts shouldn't be changed within a render pass.
Is it possible to have a build link to test if this PR really fixes the black screen on Vulkan XFB? |
Click show all tests and find the buildbot for whatever version you're using (Windows x64 for most people) and click details. On that page you'll be able to find a download link to the test build. |
Oh thanks, unfortunately the black screen is still there... |
For me it did not fix the black screen issue. I have high hopes for #5498 though. |
Irrelevant now that Hybrid XFB has been merged. |
Ends up being slightly faster (38% in a purely XFB upload bound scenario), but mainly trying to find a solution to the black screen/incorrect colours issue.