| Commit message (Collapse) | Author | Files | Lines |
|
|
|
The stream buffer is where all the vertex data is copied, some games require this to be much bigger than the 4 MB we used to have.
|
|
This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on).
|
|
|
|
|
|
|
|
|
|
|
|
The vertex arrays will be copied to the stream buffer one after the other, and the attributes will be set using the ARB_vertex_attrib_binding extension.
yuzu now thus requires OpenGL 4.3 or the ARB_vertex_attrib_binding extension.
|
|
|
|
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
|
|
For now only the UNORM type is supported.
|
|
|
|
|
|
|
|
|
|
|
|
The bindpoints will now be dynamically calculated based on the number of buffers used by the previous shader stage.
|
|
|
|
|
|
We're going to need the shader generator to give us a mapping of the actual used const buffers to properly bind them to the shader.
|
|
|
|
|
|
|
|
|
|
|
|
Each Maxwell shader stage can have an arbitrary number of textures, but we're limited to a certain number in OpenGL. We try to only use the minimum amount of host textures by not keeping a 1:1 relation between guest texture ids and host texture ids, ie, guest texture id 8 can be host texture id 0 if it's the only texture used in the guest shader program.
This mapping will have to be passed to the shader decompiler so it can rewrite the texture accesses.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this is a rebasing error from #2792. It doesn't affect much though, because the later more Apply() call fixes/hides it
|
|
|
|
|
|
|
|
While debugging the software renderer implementation, it was noticed
that this is actually exactly what the hardware does, upgrading the
status of this "hack" to being a proper implementation. And there was
much rejoicing.
|
|
|
|
|
|
|
|
|
|
Also move the implementation of CurrentConfig to the cpp file.
|
|
|
|
|
|
This copy was left behind when the shader generation code was moved to a
separate file.
|
|
|
|
|
|
|
|
|
|
|
|
A few registers had names such as "count" or "number" when they actually
contained the maximum (that is, count - 1). This can easily lead to hard
to notice off by one errors.
|
|
|
|
|
|
|
|
|
|
This OpenGL call synchronize the worker thread of the nvidia blob.
It can be verified on linux with the __GL_THREADED_OPTIMIZATIONS=1 environment variable.
Those errors should not happen on tested drivers.
It was used as a workaround for https://bugs.freedesktop.org/show_bug.cgi?id=94148
|
|
|
|
|
|
Fixes #2246, #2261
|
|
|
|
|
|
|
|
|
|
Fixes #1938
|
|
|
|
|
|
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This has been entirely superseded by MicroProfile. The rest of the code
can go when a simpler frametime/FPS meter is added to the GUI.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Our code did not handle this well, causing random crashes in some
situations.
|
|
This has been confirmed on hardware. Fixes Etrian Odyssey IV.
|
|
|
|
|
|
|
|
|
|
- Gets us LUT interpolation for free.
- Some older Intel GPU drivers did not support the big UBOs needed to store the LUTs.
|
|
|
|
|
|
|
|
|
|
|
|
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
|
|
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
- Includes a check to confirm no hash collisions.
|
|
- Fixes uniform issue on AMD.
|
|
|
|
|
|
|
|
- Alpha testing is not done with float32 precision, this makes the HW renderer match the SW renderer.
|
|
|
|
|
|
|
|
|
|
Fixes #978
|
|
|
|
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
|
|
|
|
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
|
|
Reported here https://communities.intel.com/message/324464
|
|
|
|
- Also renames "vertex_shader.*" to "shader_interpreter.*"
|
|
All uses of this field where it's false can just set the texture id to 0
instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|