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
Implements PP shader system using attribute workaround. #1440
Merged
Sonicadvance1
merged 3 commits into
dolphin-emu:master
from
Sonicadvance1:attributeless-workaround
Oct 30, 2014
Merged
Implements PP shader system using attribute workaround. #1440
Sonicadvance1
merged 3 commits into
dolphin-emu:master
from
Sonicadvance1:attributeless-workaround
Oct 30, 2014
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Due to changes in how we render to the final framebuffer we no longer encounter this bug. With the change to post processing being enabled at all times and no longer using glBlitFramebuffer, Qualcomm no longer has the chance to rotate our framebuffer underneath of us.
This particular issue was fixed in the v66 (07-08-2014) development drivers from Qualcomm. To make sure we cover all drivers that may or may not have the issue fixed, make sure to mandate v95 minimum to work around the issue. The next commit is the actual work around for post processing for this.
| glBindVertexArray(m_attribute_vao); | ||
| glEnableVertexAttribArray(SHADER_POSITION_ATTRIB); | ||
| glVertexAttribPointer(SHADER_POSITION_ATTRIB, 4, GL_FLOAT, 0, 0, nullptr); | ||
| } |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
|
Everything else is LGTM :/ |
This is pretty much a step backwards in our code. We used to use attributes in our PP shader system a long time ago but we changed it to attributeless for code simplicity and cleanliness. This reimplements the attribute code path as an optional path to take in the case your system doesn't work with attributeless rendering. In this case the only shipping drivers that we can know for sure supports attributeless rendering is the Nexus 5's v95 driver that is included in the Android 5.0 image. I hadn't planned on implementing a work around to get post processing working in these cases, but due to us force enabling the PP shader system at all times it sort of went up on the priority list. We can't be having a supported platform black screening at all times can we?
537fdf9
to
181ff67
Compare
|
You're right. Fixed. |
|
I still hate this drivers, but the code LGTM |
|
I don't think anyone could feel any gratitude towards these drivers due to what they do... |
Sonicadvance1
added a commit
that referenced
this pull request
Oct 30, 2014
Implements PP shader system using attribute workaround.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
This is pretty much a step backwards in our code. We used to use attributes in our PP shader system a long time ago but we changed it to attributeless
for code simplicity and cleanliness. This reimplements the attribute code path as an optional path to take in the case your system doesn't work with
attributeless rendering. In this case the only shipping drivers that we can know for sure supports attributeless rendering is the Nexus 5's v95 driver
that is included in the Android 5.0 image.
I hadn't planned on implementing a work around to get post processing working in these cases, but due to us force enabling the PP shader system at all
times it sort of went up on the priority list. We can't be having a supported platform black screening at all times can we?