| Commit message (Collapse) | Author | Files | Lines |
|
We were only writing to the first render target before.
Note that this is only the GLSL side of the implementation, supporting multiple render targets requires more changes in the OpenGL renderer.
Dual Source blending is not implemented and stuff that uses it might not work at all.
|
|
We keep track of the current instance and update an uniform in the shaders to let them know which instance they are.
Instanced vertex arrays are not yet implemented.
|
|
- When VertexA shader stage is enabled, we combine with VertexB program to make a single Vertex Shader stage.
|
|
|
|
All tested games that use a single texture show no regression.
Only Texture2D textures are supported right now, each shader gets its own "tex_fs/vs/gs" sampler array to maintain independent textures between shader stages, the textures themselves are reused if possible.
|
|
* gl_shader_gen: Support vertical/horizontal viewport flipping.
* fixup! gl_shader_gen: Support vertical/horizontal viewport flipping.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Current order of operations (rotate then normalize) seems to produce a
lot more distortion than normalizing and then rotating. This makes Citra
results match pretty closesly with hardware, and indicates that hardware
may also be using lerp instead of slerp to interpolate the quaternions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also move the implementation of CurrentConfig to the cpp file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes #1938
|
|
|
|
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Also implement D0 LUT enable.
|
|
- No functional difference.
|
|
|
|
|
|
|
|
- Gets us LUT interpolation for free.
- Some older Intel GPU drivers did not support the big UBOs needed to store the LUTs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This was discovered and verified by @fincs. The tev combiner buffer
actually lags behind by one stage, meaning stage 1 reads the initial
color, stage 2 reads stage 0's output, and so on.
Fixes character portraits in Fire Emblem: Awakening and world textures
in Zelda: ALBW. Closes #1140.
|
|
|
|
The support for GL_ARB_explicit_uniform_location is not that good
(53% according to http://feedback.wildfiregames.com/report/opengl/feature/GL_ARB_explicit_uniform_location).
This fix the shader compilation on Intel HD 4000 (#1222).
|
|
|
|
|
|
- Also add a comment to AppendColorCombiner.
|
|
|
|
- Includes a check to confirm no hash collisions.
|
|
- Fixes uniform issue on AMD.
|
|
|
|
|
|
|
|
|
|
|
|
|