Commit Graph

2746 Commits (306408d174377bb9e796e99cd1f383f5fa9b4692)
 

Author SHA1 Message Date
Yuri Kunde Schlesner 306408d174 VMManager: Introduce names for used ResultCodes 10 years ago
Yuri Kunde Schlesner b9a9ad9742 VMManager: Make LogLayout log level configurable as a parameter 10 years ago
Yuri Kunde Schlesner 785407d06f VMManager: Change block offsets to size_t 10 years ago
Yuri Kunde Schlesner 2e5696dba4 Merge pull request #1031 from bbarenblat/master
Handle invalid `Log::Class`
10 years ago
bunnei d852c4ecc7 Merge pull request #1002 from bunnei/shader-jit
Vertex Shader JIT for X86-64
10 years ago
bunnei db97090cad Shader: Use a POD struct for registers. 10 years ago
bunnei b39c053785 Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64. 10 years ago
bunnei 0ee00861f6 Common: Cleanup CPU capability detection code. 10 years ago
bunnei a1942238f5 Common: Move cpu_detect to x64 directory. 10 years ago
bunnei bd7e691f78 x64: Refactor to remove fake interfaces and general cleanups. 10 years ago
bunnei cfb354f11f JIT: Support negative address offsets. 10 years ago
bunnei 094ae6fadb Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
10 years ago
bunnei d67e2f78b7 Common: Added MurmurHash3 hash function for general-purpose use. 10 years ago
bunnei ddbeebb887 Common: Ported over boilerplate x86 JIT code from Dolphin/PPSSPP. 10 years ago
bunnei 4d51792285 Common: Ported over Dolphin's code for x86 CPU capability detection. 10 years ago
bunnei 3f69c2039d Shader: Define a common interface for running vertex shader programs. 10 years ago
bunnei 18527b9e21 Shader: Move shader code to its own subdirectory, "shader". 10 years ago
bunnei 642b9b5030 GPU: Refactor "VertexShader" namespace to "Shader".
- Also renames "vertex_shader.*" to "shader_interpreter.*"
10 years ago
Benjamin Barenblat 7cd5a653ff
Handle invalid `Log::Class`
Add a case of `Log::Class::Count` to the switch statement that
dispatches on `Log::Class`.  The case simply calls the `UNREACHABLE`
macro.
10 years ago
bunnei cebf245504 Merge pull request #1027 from lioncash/debugger
debugger: Add the ability to view VFP register contents
10 years ago
bunnei 6ba619f225 Merge pull request #1030 from archshift/force-inline
Stop defining GCC always_inline attributes as __forceinline
10 years ago
archshift d1ae413ffd Stop defining GCC always_inline attributes as __forceinline
__forceinline is a MSVC extension, which may confuse some people working on the codebase.
Furthermore, the C++ standard dictates that all names which contain adjacent underscores are reserved.
10 years ago
bunnei 35f3360663 Merge pull request #893 from linkmauve/remove-uint._t-int._t
Replace standard uint*_t and int*_t with CommonTypes’ u* and s* types
10 years ago
Emmanuel Gil Peyrot 5115d0177e ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types. 10 years ago
bunnei 93f607f549 Merge pull request #1023 from yuriks/gl-state-bugs
OpenGL: Fix state tracking in situations with reused object handles
10 years ago
bunnei df25b047f8 Merge pull request #1028 from aroulin/arm-disas-media-instr
arm_disasm: ARMv6 media instructions
10 years ago
aroulin 38c87733d9 arm_disasm: ARMv6 mul/div and abs media instructions
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
10 years ago
aroulin 4a1db13072 arm_disasm: ARMv6 parallel add/sub media instructions
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
10 years ago
aroulin 0be8e1bfb6 arm_disasm: ARMv6 reversal media instructions
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
10 years ago
aroulin e4ff244288 arm_disasm: ARMv6 saturation media instructions
SSAT, SSAT16, USAT, USAT16
10 years ago
aroulin 47657a1817 arm_disasm: ARMv6 packing and sign-extend media instructions
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
10 years ago
Lioncash f48a89af8b Merge pull request #1026 from lioncash/disasm
arm_disasm: Remove unnecessary code
10 years ago
Lioncash 132961b14f registers: Support viewing VFP registers 10 years ago
Lioncash 3b457a5876 arm_interface: Implement interface for retrieving VFP registers 10 years ago
Lioncash 5855cf087d registers: Fix a typo with CPSR's name 10 years ago
Lioncash 59d5358068 arm_disasm: Remove unnecessary code
This part of disassembly only determines the opcode, there's no need for offset calculation here.
10 years ago
Lioncash 4821652241 Merge pull request #1022 from aroulin/disas-missing-v6k-instructions
Disassembler: ARMv6K instructions
10 years ago
aroulin 3425cfe54a Disassembler: ARMv6K REX instructions 10 years ago
aroulin 5d81a2fd48 Disassembler: ARMv6K hint instructions 10 years ago
Yuri Kunde Schlesner 254582aa35 OpenGL: Fix state tracking in situations with reused object handles
If an OpenGL object is created, bound to a binding using the state
tracker, and then destroyed, a newly created object can be assigned the
same numeric handle by OpenGL. However, even though it is a new object,
and thus needs to be bound to the binding again, the state tracker
compared the current and previous handles and concluded that no change
needed to be made, leading to failure to bind objects in certain cases.

This manifested as broken text in VVVVVV, which this commit fixes along
with similar texturing problems in other games.
10 years ago
Yuri Kunde Schlesner ff68db61bc OpenGL: Remove redundant texture.enable_2d field from OpenGLState
All uses of this field where it's false can just set the texture id to 0
instead.
10 years ago
bunnei b6c241d667 Merge pull request #1018 from bbarenblat/master
Handle invalid `Log::Level::Count`
10 years ago
bunnei bd6131bdc0 Merge pull request #1015 from yuriks/vertex-caching
Videocore: Implement simple vertex caching
10 years ago
Yuri Kunde Schlesner a96502edd3 Videocore: Implement simple vertex caching
This gives a ~2/3 reduction in the amount of vertices that need to be
processed through the vertex loaders and the vertex shader, yielding a
good speedup.
10 years ago
bunnei 4d086a4db4 Merge pull request #1019 from yuriks/msvc2015-workaround
Common: Work around bug in MSVC2015 standard library
10 years ago
Benjamin Barenblat 0298b7bedd
Use UNREACHABLE macro for impossible cases in previous commit
Use the UNREACHABLE macro instead of `ASSERT(false, ...);`.
10 years ago
Yuri Kunde Schlesner 48393d452c Common: Work around bug in MSVC2015 standard library
The char16_t/char32_t implementations aren't present in the library and
cause linker errors. This is a known issue that wasn't fixed in VS2015
RTM.
10 years ago
Benjamin Barenblat 9ff23da255
Handle invalid `Log::Level::Count`
Add a case of `Log::Level::Count` to all switch statements that
dispatch on `Log::Level`.  The case simply asserts `false` and notes
the invalid log level.
10 years ago
Yuri Kunde Schlesner 1af1c5c37b Merge pull request #999 from LittleWhite-tb/qt-save-location
Save the path leading where the last file have been loaded
10 years ago
LittleWhite cb405ad1b4 Save the path leading where the last file have been loaded
I use two variables to save the path for the ROMs and the symbols.
Use of QSettings to avoid new member variable to the class.
Global settings of QSettings is done in main.
10 years ago