Age | Commit message (Collapse) | Author |
|
ShaderGen: Implemented fsetp/kil and predicated instruction execution.
|
|
gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators
|
|
gl_rasterizer_cache: Make MatchFlags an enum class
|
|
|
|
Each predicated instruction will be wrapped in an `if (predicate) { instruction_body; }` in the GLSL, where `predicate` is one of the predicate boolean variables previously set by fsetp.
|
|
Predicate variables are now added to the generated shader code in the form of 'pX' where X is the predicate id.
These predicate variables are initialized to false on shader startup and are set via the fsetp instructions.
TODO:
* Not all the comparison types are implemented.
* Only the single-predicate version is implemented.
|
|
resource_limit: Make ResourceTypes an enum class
|
|
core: Relocate g_service_manager to the System class
|
|
and assignment operators
Standard library containers may use std::move_if_noexcept to perform
move operations. If a move cannot be performed under these
circumstances, then a copy is attempted. Given we only intend for these
types to be move-only this can be somewhat problematic. By defining
these to be noexcept we prevent cases where copies may be attempted.
|
|
Prevents implicit conversions and scope pollution.
|
|
Converts the service manager from a global into an instance-based
variable.
|
|
Prevents enum identifiers from leaking into the surrounding scope.
|
|
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
|
|
|
|
The 'sched' instruction has a very convoluted encoding, but fortunately it seems to only appear on a fixed interval (once every 4 instructions).
|
|
math_util: Remove the Clamp() function
|
|
common_types: Minor changes
|
|
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
|
|
externals: Update dynarmic to HEAD
|
|
service: Use nested namespace specifiers where applicable
|
|
common/thread: Remove unnecessary feature checking for thread_local
|
|
common_funcs: Remove check for VS versions that we don't even support
|
|
common_funcs: Remove ARRAY_SIZE macro
|
|
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
|
|
common: Remove code_block.h
|
|
|
|
These are all unused and the Write() ones should arguably not even be in the interface. There are better ways to provide this if we ever need it (like iterators).
|
|
We use dynarmic, so this is unued. Anything else we need will likely use Xbyak, so
this header isn't necessary any more.
|
|
Every compiler we require already supports it.
|
|
C++17 has non-member size() which we can just call where necessary.
|
|
We don't support any VS versions that don't already have snprintf in the
standard library implementation.
|
|
May as well while we're making changes to this file.
|
|
VS has supported this for quite a while.
|
|
Tidies up namespace declarations
|
|
renderer_opengl: Add missing header guards
|
|
disk_filesystem: Minor changes
|
|
vi: Remove redundant initializers in the constructors
|
|
|
|
Disk_Directory
|
|
|
|
|
|
|
|
glsl_shader_decompiler: Minor API changes to ShaderWriter
|
|
ShaderGen: Fixed TEXS overriding its own texcoords and implemented fmul32i
|
|
AddLine()
This function doesn't need to take ownership of the string data being
given to it, considering all we do is append the characters to the
internal string instance.
Instead, use a string view to simply reference the string data without
any potential heap allocation.
Now anything that is a raw const char* won't need to be converted to a
std::string before appending.
|
|
Avoids constructing a std::string just to append a newline character
|
|
Avoids constructing a std::string just to append a character.
|
|
std::string
The interface of std::string already lets us append N copies of a
character to an existing string.
|
|
Technically, yuzu can boot commercial games
|
|
|