bunnei
806b2133e4
Merge pull request #369 from Subv/shader_instr2
ShaderGen: Implemented fsetp/kil and predicated instruction execution.
8 years ago
bunnei
b29507b551
Merge pull request #374 from lioncash/noexcept
gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators
8 years ago
bunnei
b79cec4040
Merge pull request #373 from lioncash/enum2
gl_rasterizer_cache: Make MatchFlags an enum class
8 years ago
Subv
79e7bb8896
ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'.
8 years ago
Subv
2fbb91a6b6
ShaderGen: Implemented predicated instruction execution.
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.
8 years ago
Subv
31de416fc0
ShaderGen: Implemented the fsetp instruction.
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.
8 years ago
bunnei
4a972207d6
Merge pull request #372 from lioncash/enum
resource_limit: Make ResourceTypes an enum class
8 years ago
bunnei
ed5600442d
Merge pull request #371 from lioncash/global
core: Relocate g_service_manager to the System class
8 years ago
Lioncash
3768508edf
gl_resource_manager: Add missing noexcept specifiers to move constructors 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.
8 years ago
Lioncash
f7eb0e8f1b
gl_rasterizer_cache: Make MatchFlags an enum class
Prevents implicit conversions and scope pollution.
8 years ago
Lioncash
4bd499d440
core: Relocate g_service_manager to the System class
Converts the service manager from a global into an instance-based
variable.
8 years ago
Lioncash
5860b9f4ce
resource_limit: Make ResourceTypes an enum class
Prevents enum identifiers from leaking into the surrounding scope.
8 years ago
bunnei
18e541f7e2
Merge pull request #340 from mailwl/vi-update
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
8 years ago
Subv
601c5d9d93
ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).
8 years ago
Subv
8b8f55d8be
ShaderGen: Ignore the 'sched' instruction when generating shaders.
The 'sched' instruction has a very convoluted encoding, but fortunately it seems to only appear on a fixed interval (once every 4 instructions).
8 years ago
bunnei
c2adb07b55
Merge pull request #367 from lioncash/clamp
math_util: Remove the Clamp() function
8 years ago
bunnei
c5438e898e
Merge pull request #361 from lioncash/common
common_types: Minor changes
8 years ago
Lioncash
043546e4db
math_util: Remove the Clamp() function
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
8 years ago
bunnei
ba33c44e4a
Merge pull request #368 from lioncash/dynarmic
externals: Update dynarmic to HEAD
8 years ago
bunnei
c3236a3a37
Merge pull request #360 from lioncash/namespaces
service: Use nested namespace specifiers where applicable
8 years ago
bunnei
7108f2c331
Merge pull request #364 from lioncash/thread-local
common/thread: Remove unnecessary feature checking for thread_local
8 years ago
bunnei
d7a69c96e4
Merge pull request #362 from lioncash/snprintf
common_funcs: Remove check for VS versions that we don't even support
8 years ago
bunnei
e325ef7f09
Merge pull request #363 from lioncash/array-size
common_funcs: Remove ARRAY_SIZE macro
8 years ago
bunnei
e0681a4da5
Merge pull request #366 from lioncash/vec
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
8 years ago
bunnei
684f6619e5
Merge pull request #365 from lioncash/codeblock
common: Remove code_block.h
8 years ago
Lioncash
caaf524578
externals: Update dynarmic to HEAD
8 years ago
Lioncash
bd4e50afb9
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
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).
8 years ago
Lioncash
4e99ac0553
common: Remove code_block.h
We use dynarmic, so this is unued. Anything else we need will likely use Xbyak, so
this header isn't necessary any more.
8 years ago
Lioncash
9d21769d88
common/thread: Remove unnecessary feature checking for thread_local
Every compiler we require already supports it.
8 years ago
Lioncash
c9f5ae4fcc
common_funcs: Remove ARRAY_SIZE macro
C++17 has non-member size() which we can just call where necessary.
8 years ago
Lioncash
4b0e4421f4
common_funcs: Remove check for VS versions that we don't even support
We don't support any VS versions that don't already have snprintf in the
standard library implementation.
8 years ago
Lioncash
0f07311af3
common_types: Convert typedefs to using aliases
May as well while we're making changes to this file.
8 years ago
Lioncash
ad470a1478
common_types: Remove unnecessary check for whether or not__func__ is defined
VS has supported this for quite a while.
8 years ago
Lioncash
6d94dd21a5
service: Use nested namespace specifiers where applicable
Tidies up namespace declarations
8 years ago
bunnei
c15d6f84c0
Merge pull request #357 from lioncash/guard
renderer_opengl: Add missing header guards
8 years ago
bunnei
be3ab93feb
Merge pull request #358 from lioncash/explicit
disk_filesystem: Minor changes
8 years ago
bunnei
ce391df6ed
Merge pull request #359 from lioncash/redundant
vi: Remove redundant initializers in the constructors
8 years ago
Lioncash
59a504d933
vi: Remove redundant initializers in the constructors
8 years ago
Lioncash
5b8891df28
disk_filesystem: Remove unused total_entries_in_directory member from Disk_Directory
8 years ago
Lioncash
eb2bb5500e
disk_filesystem: Remove redundant initializer in Disk_Directory's constructor
8 years ago
Lioncash
19fe9a92ec
disk_filesystem: Make constructors explicit where applicable
8 years ago
Lioncash
8594945844
renderer_opengl: Add missing header guards
8 years ago
bunnei
fd50308f39
Merge pull request #356 from lioncash/shader
glsl_shader_decompiler: Minor API changes to ShaderWriter
8 years ago
bunnei
c0e412d97c
Merge pull request #355 from Subv/shader_instr
ShaderGen: Fixed TEXS overriding its own texcoords and implemented fmul32i
8 years ago
Lioncash
2259f5d56b
glsl_shader_decompiler: Use std::string_view instead of std::string for 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.
8 years ago
Lioncash
55fef54f2e
glsl_shader_decompiler: Add AddNewLine() function to ShaderWriter
Avoids constructing a std::string just to append a newline character
8 years ago
Lioncash
5a3da4f1a1
glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine()
Avoids constructing a std::string just to append a character.
8 years ago
Lioncash
21fa39b4f6
glsl_shader_decompiler: Append indentation without constructing a separate std::string
The interface of std::string already lets us append N copies of a
character to an existing string.
8 years ago
James Rowe
989fc47020
Merge pull request #348 from jlachniet/patch-1
Technically, yuzu can boot commercial games
8 years ago
Subv
4ca65f10b1
ShaderGen: Implemented the fmul32i shader instruction.
8 years ago