Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

[core] Fix overdraw mode on Linux #5534

Merged
merged 2 commits into from
Jul 1, 2016

Conversation

brunoabinader
Copy link
Member

  • Use glBindAttribLocation for GLSL attributes.
  • Create a separate shader for each shader that supports overdraw.
    Needed because each uniform location must be known for every program.
  • Create a separate VAO for each shader inside buckets.
    Needed because we can only bind a VAO to a specific shader.

Grabbed some shader cleanups from #5532 - thanks @kkaefer!

Fixes #5435.

👀 @kkaefer @jfirebaugh @zugaldia @tmpsantos

@brunoabinader brunoabinader added bug Core The cross-platform C++ core, aka mbgl Linux labels Jul 1, 2016
@brunoabinader brunoabinader force-pushed the brunoabinader-overdraw-linux-crash branch from 01742ba to e6a9cf0 Compare July 1, 2016 14:57
@brunoabinader brunoabinader force-pushed the brunoabinader-overdraw-linux-crash branch from e6a9cf0 to cd37991 Compare July 1, 2016 16:29
- Use glBindAttribLocation for GLSL attributes.
- Create a separate shader for each shader that supports overdraw.
  Needed because each uniform location must be known for every program.
- Create a separate VAO for each shader inside buckets.
  Needed because we can only bind a VAO to a specific shader.

Fixes #5435.
@brunoabinader brunoabinader force-pushed the brunoabinader-overdraw-linux-crash branch from cd37991 to f4c3611 Compare July 1, 2016 16:48
@brunoabinader brunoabinader merged commit f4c3611 into master Jul 1, 2016
@brunoabinader brunoabinader deleted the brunoabinader-overdraw-linux-crash branch July 1, 2016 17:08
@kkaefer
Copy link
Member

kkaefer commented Jul 4, 2016

Any reason for renaming the shader variables?

@brunoabinader
Copy link
Member Author

Any reason for renaming the shader variables?

You mean a17b0bc#diff-c4566dff12c9f7a41bf5c7e847a3fa95R24 ?

If so, the reason was because we needed an alias for the current shader in use, which could be either the original or overdraw shader. I used a different name to avoid name clashing.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Core The cross-platform C++ core, aka mbgl Linux
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants