-
Notifications
You must be signed in to change notification settings - Fork 63
Only update PushBuffer if any uniform has actually changed #1685
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
base: master
Are you sure you want to change the base?
Conversation
bec3aa0
to
ad58d5c
Compare
Also added a fix for |
f67e29b
to
e84d583
Compare
Changed the initial commit and added a new one, now it mutualises |
This will be required for PushBuffer.
Will be required for PushBuffer. Also added back `_isTexture` to `GLUniform` because it will also be needed for PushBuffer.
Needed for `PushBuffer`.
…stem Deleting the buffer automatically unmaps it.
Adds `PushBuffer` class, `pushBuffer` global, and the supporting code for `glconfig2`.
Also adds `GLShader.pushSkip` and `GLShader._pushUniforms`. Add `padding` back to the `GLShader` size calculations in material system.
Will be required for `PushBuffer` to set global uniform values outside of their shaders.
This will set `GLShaderManager.globalUniformBlock` to the struct + defines text, which will be the same for all shaders.
This will be required for `PushBuffer` to correctly sort uniforms. Also updates `GLShader.WriteUniformsToBuffer()` to use `mode` and `filter` arguments to select the correct uniforms.
Post-process shaders to actually add the `globalUniformBlock`, add `SetConstUniforms()` and `SetFrameUniforms()` functions to the core and material system renderers, and add the supporting glsl code.
Also mutualises `uniformFirewall` and `currentValue` and removes a bunch of unneeded code.
80717b6
to
8832f45
Compare
Requires #1684
Further improvement for PushBuffer, only update it if it's actually required.