Morph
49f6deecb8
video_core/macro: Make use of Common::HashValue
3 years ago
Fernando Sahmkow
f6245dc40a
MacroHLE: eliminate 2 rushed macros.
3 years ago
Fernando Sahmkow
3ecc03ec1b
yuzu-ui: Add setting for disabling macro HLE
3 years ago
Fernando Sahmkow
a0c697124c
Video_core: Address feedback
3 years ago
Liam
4814d87385
video_core: fix build
3 years ago
Fernando Sahmkow
d09aa0182f
MacroHLE: Final cleanup and fixes.
3 years ago
Fernando Sahmkow
cb1497d0d7
DMAPusher: Improve collection of non executing methods
3 years ago
Fernando Sahmkow
ce448ce770
Revert Buffer cache changes and setup additional macros.
3 years ago
Fernando Sahmkow
aad0cbf024
MacroHLE: Add HLE replacement for base vertex and base instance.
3 years ago
Fernando Sahmkow
93ac5a6a6d
MacroHLE: Add Index Buffer size estimation.
4 years ago
Fernando Sahmkow
c541559767
MacroHLE: Refactor MacroHLE system.
4 years ago
Fernando Sahmkow
0f89828073
MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect.
4 years ago
Fernando Sahmkow
a5a94f52ff
MacroHLE: Add MultidrawIndirect HLE Macro.
4 years ago
Feng Chen
bf0b957c05
video_core: Implement maxwell3d draw manager and split draw logic
3 years ago
Liam
4c42655a2d
maxwell3d: full HLE for multi-layer clears
3 years ago
Liam
ece0c1095d
maxwell3d: HLE multi-layer clear macro
3 years ago
Kyle Kienapfel
6fa3faec65
Add break for default cases
Visual Studio has an option to search all files in a solution, so I
did a search in there for "default:" looking for any missing break
statements.
I've left out default statements that return something, and that throw
something, even if via ThrowInvalidType. UNREACHABLE leads towards throw
R_THROW macro leads towards a return
3 years ago
Liam
cbaf642ffe
Initial ARM64 support
3 years ago
FengChen
1f54cd4ac7
video_coare: Reimplementing the maxwell drawing trigger mechanism
4 years ago
Kelebek1
752659aef3
Update 3D regs
4 years ago
Fernando Sahmkow
8bb604b3be
VideoCore: Add option to dump the macros.
4 years ago
Fernando Sahmkow
a60b669ef4
MacroHLE: Add MultidrawIndirect HLE Macro.
5 years ago
Liam
1225627515
macro_jit_x64: fix miscompilation of bit extraction operations
4 years ago
Liam
b80f7faebe
macro_jit_x64: cancel exit for taken branch
4 years ago
Liam
ebecdd3a74
general: fix compilation on MinGW GCC 12
4 years ago
Liam
084d7d6b01
common: Change semantics of UNREACHABLE to unconditionally crash
4 years ago
Liam
e158951695
video_core/macro: clear code on upload address assignment
4 years ago
Fernando Sahmkow
5562ae9cc5
VideoCore: Add option to dump the macros.
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
4 years ago
Liam
7fe5004f90
video_core/macro_jit_x64: warn on invalid parameter access
4 years ago
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
4 years ago
Lioncash
f6a049337e
common/xbyak_api: Make BuildRegSet() constexpr
This allows us to eliminate any static constructors that would have been
emitted due to the function not being constexpr.
4 years ago
Lioncash
a8a4f37628
video_core/macro: Add missing <cstring> header
Necessary since memcpy is used.
4 years ago
Lioncash
81d1a1133d
video_core/macro_interpreter: Move impl class to the cpp file
Keeps the implementation hidden from the intended API and lessens the
header dependencies on the interpreter's header.
4 years ago
Lioncash
cfd9f7d25b
video_core/macro_hle: Return unique_ptr directly from GetHLEProgram()
Same behavior, but less code and header dependencies.
4 years ago
Lioncash
a05d9405b9
video_core/macro: Remove unused parameter from Execute()
Simplifies the function interface.
4 years ago
Lioncash
74f80299b0
video_core/macro_jit_x64: Remove unused impl class member
Reduces the size of the impl class a tiny bit.
4 years ago
Lioncash
f11eefed56
video_core/macro_jit_x64: Decouple PersistentCallerSavedRegs() from impl
This doesn't depend on class state and can just be a regular function.
4 years ago
Lioncash
6b873b72ae
video_core/macro_jit_x64: Move impl class into cpp file
Keeps the implementation internalized and also reduces API-facing header
dependencies.
Notably, this fully internalizes all of the xbyak externals.
4 years ago
Lioncash
a3c81745b1
video_core/macro_hle: Move impl class into cpp file
Given it's intended to be an internal implementation class, we can move
it into the cpp file to ensure that.
This also lets us move some header dependencies into the cpp file as
well.
4 years ago
Merry
1770503185
xbyak: Update include path
5 years ago
bunnei
a4c6712a4b
common: Move settings to common from core.
- Removes a dependency on core and input_common from common.
5 years ago
Lioncash
4c5f5c9bf3
video_core: Remove unnecessary enum class casting in logging messages
fmt now automatically prints the numeric value of an enum class member
by default, so we don't need to use casts any more.
Reduces the line noise a bit.
5 years ago
Lioncash
677a8b208d
video_core: Resolve more variable shadowing scenarios
Resolves variable shadowing scenarios up to the end of the OpenGL code
to make it nicer to review. The rest will be resolved in a following
commit.
5 years ago
Lioncash
ff45c39578
General: Make use of std::nullopt where applicable
Allows some implementations to avoid completely zeroing out the internal
buffer of the optional, and instead only set the validity byte within
the structure.
This also makes it consistent how we return empty optionals.
6 years ago
Lioncash
a5dcccfdd2
externals: Update Xbyak to 5.96
I made a request on the Xbyak issue tracker to allow some constructors
to be constexpr in order to avoid static constructors from needing to
execute for some of our register constants.
This request was implemented, so this updates Xbyak so that we can make
use of it.
6 years ago
ReinUsesLisp
da53bcee60
video_core: Initialize renderer with a GPU
Add an extra step in GPU initialization to be able to initialize render
backends with a valid GPU instance.
6 years ago
Lioncash
34ec64233a
macro-interpreter: Resolve -Wself-assign-field warning
This was assigning the field to itself, which is a no-op. The size
doesn't change between its initial assignment and this one, so this is a
safe change to make.
6 years ago
Lioncash
e17fb5ee97
video_core: Remove unused variables
Silences several compiler warnings about unused variables.
6 years ago
Lioncash
c0650cd82c
macro_hle: Remove unnecessary static keywords
These functions are already in an anonymous namespace which makes the
functions internally linked.
6 years ago
Lioncash
be6b7591d9
macro_hle: Simplify shift expression in HLE_771BB18C62444DA0()
Given the expression involves a 32-bit value, this simplifies down to
just: 0x3ffffff. This is likely a remnant from testing that was never
cleaned up.
Resolves a -Wshift-overflow warning.
6 years ago