| Age | Commit message (Collapse) | Author |
|
|
|
Converts lingering panic alert calls over to the fmt-capable ones.
|
|
Migrates over to the fmt-capable logger.
|
|
silences a warning that it may cause div-by-zero.
|
|
These are only ever used with ShaderCode instances and nothing else.
Given that, we can convert these helper functions to expect that type of
object as an argument and remove the need for templates, improving
compiler throughput a marginal amount, as the template instantiation
process doesn't need to be performed.
We can also move the definitions of these functions into the cpp file,
which allows us to remove a few inclusions from the ShaderGenCommon
header. This uncovered a few instances of indirect inclusions being
relied upon in other source files.
One other benefit is this allows changes to be made to the definitions
of the functions without needing to recompile all translation units that
make use of these functions, making change testing a little quicker.
Moving the definitions into the cpp file also allows us to completely
hide DefineOutputMember() from external view, given it's only ever used
inside of GenerateVSOutputMembers().
|
|
|
|
Same thing, less reading.
|
|
Removes a few inclusions that aren't necessary, reducing the number of
header dependencies.
|
|
|
|
Makes the global variable follow our convention of prefixing g_ on
global variables to make it obvious in surrounding code that it's not a
local variable.
|
|
Normalizes all variables related to statistics so that they follow our
coding style.
These are relatively low traffic areas, so this modification isn't too
noisy.
|
|
Remove redundant initialization
|
|
|
|
Has a better chance of avoiding recompiling if so.
|
|
This was occurring if the imgui vertex format was bound on shutdown,
which is destroyed before the vertex buffers
|
|
So it can be dumped with info log when linking fails.
|
|
|
|
|
|
D3D: Move sharable D3D11/D3D12 code to common library
|
|
|
|
ZTP was uploading 10MB+ of uniforms per frame, reducing paralellism by
forcing GPU waits.
|
|
|
|
|
|
|
|
|
|
This brings the macro in line with the regular ASSERT macro, which only has one
macro parameter.
|
|
Macros should be all upper-cased. This is also kind of a wart that's
been sticking out for quite a while now (we avoid prefixing
underscores).
|
|
|
|
|
|
|
|
|
|
|
|
Warnings are still logged.
|
|
|
|
|
|
This reduces the overhead of calling glBindVertexArray() every time
RestoreAPIState() is called, even when it is redundant.
|
|
|
|
It seems it doesn't like modifying inout variables in place - so instead
use a temporary for ocol0/ocol1 and only write them once at the end of
the shader
|
|
For some GLES drivers that don't support dual-source blending, but do
support GL_EXT_shader_framebuffer_fetch, this might be useful.
|
|
|
|
Also moves logic for primitive handling to VideoCommon.
|
|
Currently, this is only the logic op bit, but this will be extended to
the framebuffer fetch/blend modes. In the future, when/if we move to
VideoCommon pipelines, this state will be part of the pipeline UID
anyway, and we can mask it out in the backend by using a two-level map,
so the shaders/programs are shared.
|
|
Was missed before merge.
|
|
This way it allows us to use surfaceless contexts in EGL/GLX. It also
ensures that the shared context shares a similar setup to the main
context's framebuffer, potentially reducing the number of variants a
driver needs to generate.
|
|
This was mainly included for debugging, but could end up being confusing
for users, as well as polluting the GL program cache with a mix of uber
and specialized shaders if the option was changed.
|
|
|
|
At runtime, we only really want a single shader compiler thread.
However, for initial boots, we can use a higher number to speed things
up.
|
|
|
|
|
|
Also moves the host config checks to common.
|