Lioncash
efad1a17bf
citra-qt: Add a missing header guard to util.h
2015-08-25 23:07:33 -04:00
Yuri Kunde Schlesner
424b0fa646
Integrate the MicroProfile profiling library
...
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
Yuri Kunde Schlesner
2436b1c104
citra-qt: Add helper function to get a monospace QFont
2015-08-24 22:16:28 -03:00
bunnei
7010a27c7d
Merge pull request #1063 from Subv/hw_renderer_debug_fb
...
HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint
2015-08-24 13:02:44 -04:00
Subv
4afd01e55e
HWRenderer: Added a workaround for the Intel Windows driver bug that causes glTexSubImage2D to not change the stencil buffer.
...
Reported here https://communities.intel.com/message/324464
2015-08-24 11:28:28 -05:00
Yuri Kunde Schlesner
08e13a10f7
fixup! Shaders: Fix multiplications between 0.0 and inf
2015-08-24 02:10:11 -03:00
Yuri Kunde Schlesner
9023d7a1d4
Shader JIT: Tiny micro-optimization in DPH
2015-08-24 01:48:37 -03:00
Yuri Kunde Schlesner
9a4a0cc8e0
Shaders: Fix multiplications between 0.0 and inf
...
The PICA200 semantics for multiplication are so that when multiplying
inf by exactly 0.0, the result is 0.0, instead of NaN, as defined by
IEEE. This is relied upon by games.
Fixes #1024 (missing OoT interface items)
2015-08-24 01:48:15 -03:00
Yuri Kunde Schlesner
8b0a7e7afe
Shaders: Explicitly conform to PICA semantics in MAX/MIN
2015-08-24 01:46:58 -03:00
Yuri Kunde Schlesner
c0959ca635
Shader JIT: Add name to second scratch register (XMM4)
2015-08-24 01:46:10 -03:00
Lioncash
33955e171b
shader_jit: Replace two MDisp usages with MatR
2015-08-24 00:39:50 -04:00
Yuri Kunde Schlesner
f02539e59d
Shader JIT: Fix CMP NaN behavior to match hardware
2015-08-24 01:29:40 -03:00
bunnei
986b526e83
Merge pull request #1062 from aroulin/shader-rcp-rsq
...
Shader: RCP and RSQ computes only the 1st component
2015-08-23 17:56:35 -04:00
bunnei
ff54784aac
Merge pull request #1057 from aroulin/shader-dph-dphi
...
Shader: Implement DPH and DPHI in interpreter/JIT
2015-08-23 17:47:09 -04:00
Subv
ebb0e78d80
HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint.
2015-08-23 15:26:17 -05:00
aroulin
8367db5dcd
Shader: Use std::sqrt for float instead of sqrt
2015-08-23 22:03:07 +02:00
aroulin
2bcee80587
Shader: RCP and RSQ computes only the 1st component
2015-08-23 22:01:17 +02:00
aroulin
5429dbf738
x64-emitter: add RCPSS SSE instruction
2015-08-23 15:42:58 +02:00
Lioncash
3a56bd4a9e
Merge pull request #1058 from lioncash/ptr
...
emitter: Remove pointer casts
2015-08-22 18:42:47 -04:00
Yuri Kunde Schlesner
91fcf7f484
Fix broken boot introduced by last-minute change in #1025
2015-08-22 18:12:23 -03:00
Yuri Kunde Schlesner
e3936a67b7
Merge pull request #1025 from yuriks/heap-management
...
Kernel: Correct(er) handling of Heap and Linear Heap allocations
2015-08-22 14:01:57 -07:00
aroulin
fd789c6858
Shader: implement DPH/DPHI in JIT
2015-08-22 11:09:53 +02:00
aroulin
677a97c8bf
Shader: implement DPH/DPHI in interpreter
...
Tests revealed that the component with w=1 is
SRC1 and not SRC2, it is now fixed on 3dbrew.
2015-08-22 11:09:53 +02:00
Lioncash
b150e1d68f
emitter: Remove pointer casts
...
This should also technically silence quite a few ubsan warnings.
2015-08-21 17:09:33 -04:00
Subv
c0ddc0df52
HWRasterizer: Implemented stencil ops 6 and 7.
2015-08-21 11:05:56 -05:00
Subv
aee8f01e0a
SWRasterizer: Implemented stencil ops 6 and 7.
...
IncrementWrap and DecrementWrap, verified with hwtests.
2015-08-21 11:01:42 -05:00
Subv
2caf213ae0
HWRasterizer: Implemented stencil op 1 (GL_ZERO)
2015-08-21 10:59:49 -05:00
Subv
9a3d5a11f3
SWRasterizer: Implemented stencil action 1 (GL_ZERO).
...
Verified with hwtests.
2015-08-21 10:35:25 -05:00
Subv
cbf5ed0c78
SWRasterizer: Removed a todo. Verified with hwtests.
2015-08-21 10:09:15 -05:00
Subv
97b1a10560
SWRenderer: The stencil depth_pass action is executed even if depth testing is disabled.
...
The HW renderer already did this.
2015-08-21 09:48:43 -05:00
Subv
be58cead12
Rasterizer: Abstract duplicated stencil code into a lambda.
2015-08-21 09:45:36 -05:00
Subv
9c8f4fdd75
GLRasterizer: Implemented stencil testing in the hw renderer.
2015-08-20 10:11:09 -05:00
Subv
7d816d5168
GPU/Rasterizer: Corrected the stencil implementation.
...
Verified the behavior with hardware tests.
2015-08-20 10:10:35 -05:00
Lioncash
70ca886a39
emitter: Remove unnecessary defines
2015-08-20 04:45:32 -04:00
Lioncash
fdd90321ea
emitter: Remove unnecessary else keywords
2015-08-20 04:45:31 -04:00
Lioncash
911d072bf6
emitter: Remove unused code
2015-08-20 04:45:30 -04:00
Lioncash
3bcd976780
emitter: Remove unimplemented JMP prototype
2015-08-20 04:45:29 -04:00
Lioncash
c46738bebc
emitter: Pass OpArg by reference where possible
2015-08-20 04:45:28 -04:00
Lioncash
62626196cb
emitter: Remove unnecessary inline specifiers
...
Functions implemented in a class definition are already implicitly inline.
2015-08-20 04:45:22 -04:00
bunnei
cbcf9e8eaf
Merge pull request #1035 from darkf/mingw-fix
...
Fix building under MinGW
2015-08-19 20:40:31 -04:00
bunnei
addc2ed6fe
Merge pull request #1055 from aroulin/shader-sge-sgei-slt
...
Shader: Implement SGE, SGEI and SLT in interpreter/JIT
2015-08-19 19:58:49 -04:00
Yuri Kunde Schlesner
d7230928d6
Merge pull request #1045 from LittleWhite-tb/qt-recent-files
...
Improvements for MRU
2015-08-19 13:04:03 -07:00
LittleWhite
02b4412e66
Improvements for MRU
...
avoid duplicates
always put the last file loaded to top of the list
2015-08-19 21:33:34 +02:00
aroulin
d1c8dcd844
Shader: implement SGE, SGEI and SLT in JIT
2015-08-19 14:29:39 +02:00
aroulin
76afa48b0c
Shader: implement SGE, SGEI in interpreter
2015-08-19 14:29:39 +02:00
Yuri Kunde Schlesner
8220a201eb
Merge pull request #996 from yuriks/texture-copy
...
GPU: Implement TextureCopy-mode display transfers
2015-08-18 20:52:40 -07:00
bunnei
4b36548b41
Merge pull request #1047 from aroulin/shader-ex2-lg2
...
Shader: Save caller-saved registers in JIT before a CALL
2015-08-18 22:02:25 -04:00
aroulin
12e2cb045f
Shader: Save caller-saved registers in JIT before a CALL
2015-08-19 03:40:07 +02:00
bunnei
b358d3e07a
Merge pull request #1037 from aroulin/shader-ex2-lg2
...
Shader: Implement EX2 and LG2 in interpreter/JIT
2015-08-18 19:42:32 -04:00
darkf
8d212ff881
Fix building under MinGW
2015-08-17 22:21:14 -07:00
bunnei
21029bea74
Merge pull request #1034 from yuriks/rg8-textures
...
videocore: Added RG8 texture support
2015-08-16 22:17:12 -04:00
aroulin
28f5cdc0dd
Shader: implement EX2 and LG2 in JIT
2015-08-17 01:12:34 +02:00
LittleWhite
a98d1fc3fa
Fix Linux GCC 4.9 build (complaining about undeclared memset)
2015-08-16 17:21:08 +02:00
aroulin
7ca01b779f
Shader: implement EX2 and LG2 in interpreter
2015-08-16 15:54:30 +02:00
Tony Wasserka
ca1fea38dc
Build fix for Debug configurations.
2015-08-16 15:14:54 +02:00
Tony Wasserka
d6b1591b01
Merge pull request #997 from Lectem/cmdlist_full_debug
...
citra-qt: Improve pica command list widget (add mask, fix some issues)
2015-08-16 13:34:45 +02:00
Tony Wasserka
7617e7144d
citra-qt/VertexShader: Minor UI improvements.
...
Renamed "Iteration index" to the (hopefully) more intuitive "Cycle Index".
Added flexible space at the bottom of the widget.
2015-08-16 14:12:12 +02:00
Tony Wasserka
397aeb8a9e
citra-qt: Fix comment style.
2015-08-16 14:12:11 +02:00
Tony Wasserka
1c1a9ab09b
Introduce a shader tracer to allow inspection of input/output values for each processed instruction.
2015-08-16 14:12:11 +02:00
Tony Wasserka
9a1820ea61
Pica/DebugUtils: Include uniform information into shader dumps.
2015-08-16 13:22:01 +02:00
Tony Wasserka
41dda548cd
citra-qt: Improve shader debugger.
...
Now supports dumping the current shader and recognizes a larger number of output semantics.
2015-08-16 13:22:00 +02:00
Tony Wasserka
c677d18727
citra-qt: Print the correct swizzle mask for SRC2 in the shader disassembler.
2015-08-16 13:19:40 +02:00
Yuri Kunde Schlesner
63a0b6de7b
Merge pull request #1033 from bbarenblat/master
...
Handle `FileType::CIA` in `switch` statements
2015-08-15 22:40:29 -07:00
Yuri Kunde Schlesner
b0b3c7304b
citra-qt: Give RG8 format a proper name in the texture viewer
2015-08-16 02:36:33 -03:00
Patrick Martin
78b1877f9e
videocore: Added RG8 texture support
2015-08-16 02:21:50 -03:00
Yuri Kunde Schlesner
209113743f
GPU: Implement TextureCopy-mode display transfers
...
Fixes glitchy garbage in Fire Emblem 3D scenes.
2015-08-16 01:52:51 -03:00
bunnei
2465e43a42
Merge pull request #1017 from LittleWhite-tb/qt-recent-files
...
citra-qt: save path for recent files loaded
2015-08-16 00:22:10 -04:00
bunnei
e3de8e63c3
Merge pull request #1032 from lioncash/swap
...
vfp: use std::swap where applicable
2015-08-16 00:20:35 -04:00
Yuri Kunde Schlesner
984bea6698
Kernel: Remove unused legacy heap MapBlock_* functions
2015-08-16 01:03:49 -03:00
Yuri Kunde Schlesner
bad440fdc9
APT: Adjust shared font hack so it works with the new linear heap code
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
00e9d19f28
Kernel: Implement svcGetProcessInfo in a basic way
...
This also adds some basic memory usage accounting. These two types are
used by Super Smash Bros. during startup.
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
e34643a3e4
Kernel: Add more infrastructure to support different memory layouts
...
This adds some structures necessary to support multiple memory regions
in the future. It also adds support for different system memory types
and the new linear heap mapping at 0x30000000.
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
cbc7419408
HLE: Remove empty ConfigMem and SharedPage Shutdown functions
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
6bb23baf0a
Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h}
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
168d376c67
Memory: Move address type conversion routines to memory.cpp/h
...
These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next.
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
521cb56792
Process: Store kernel compatibility version during loading
2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
8850ade24d
Kernel: Properly implement ControlMemory FREE and COMMIT
2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
fbcf0558f3
Memory: Move PAGE_MASK and PAGE_BITS to memory.h
2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
ce332ef416
VMManager: Introduce names for used ResultCodes
2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
f287e6dff4
VMManager: Make LogLayout log level configurable as a parameter
2015-08-16 01:03:43 -03:00
Yuri Kunde Schlesner
c31e812624
VMManager: Change block offsets to size_t
2015-08-16 01:03:43 -03:00
Lioncash
d7335fa5f0
vfp: use std::swap where applicable
2015-08-15 19:08:51 -04:00
Yuri Kunde Schlesner
86f72f80e1
Merge pull request #1031 from bbarenblat/master
...
Handle invalid `Log::Class`
2015-08-15 15:34:12 -07:00
bunnei
5c7e9ffce7
Shader: Use a POD struct for registers.
2015-08-15 18:03:27 -04:00
bunnei
4ffc095fa3
Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.
2015-08-15 18:03:27 -04:00
bunnei
e019e69016
Common: Cleanup CPU capability detection code.
2015-08-15 18:03:26 -04:00
bunnei
15e9a59ad0
Common: Move cpu_detect to x64 directory.
2015-08-15 18:03:26 -04:00
bunnei
f9e3228caa
x64: Refactor to remove fake interfaces and general cleanups.
2015-08-15 18:03:25 -04:00
bunnei
fe33a705de
JIT: Support negative address offsets.
2015-08-15 18:01:22 -04:00
bunnei
c03924e60e
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.
2015-08-15 18:01:07 -04:00
bunnei
be08c22685
Common: Added MurmurHash3 hash function for general-purpose use.
2015-08-15 17:33:46 -04:00
bunnei
3d35d53b8d
Common: Ported over boilerplate x86 JIT code from Dolphin/PPSSPP.
2015-08-15 17:33:45 -04:00
bunnei
432d1c5263
Common: Ported over Dolphin's code for x86 CPU capability detection.
2015-08-15 17:33:44 -04:00
bunnei
5794310781
Shader: Define a common interface for running vertex shader programs.
2015-08-15 17:33:44 -04:00
bunnei
2d100ebae3
Shader: Move shader code to its own subdirectory, "shader".
2015-08-15 17:33:42 -04:00
bunnei
f622a78544
GPU: Refactor "VertexShader" namespace to "Shader".
...
- Also renames "vertex_shader.*" to "shader_interpreter.*"
2015-08-15 17:33:41 -04:00
Benjamin Barenblat
ef432342ce
Properly indicate that CIA support is not implemented yet
...
Make `Loader::LoadFile` return an `ErrorNotImplemented` if you call
it on a CIA file.
2015-08-15 16:05:38 -04:00
Benjamin Barenblat
b57680c39f
Give CIA file type a name
...
Make `GetFileTypeString` return ‘CIA’ for CIA (CTR Importable
Archive) files.
2015-08-15 15:45:27 -04:00
Benjamin Barenblat
c96107a440
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.
2015-08-15 15:39:45 -04:00
bunnei
4b7664fe12
Merge pull request #1027 from lioncash/debugger
...
debugger: Add the ability to view VFP register contents
2015-08-13 18:13:25 -04:00
archshift
58e2d19f08
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.
2015-08-11 19:45:15 -07:00
bunnei
452edce407
Merge pull request #893 from linkmauve/remove-uint._t-int._t
...
Replace standard uint*_t and int*_t with CommonTypes’ u* and s* types
2015-08-11 17:55:24 -04:00
Emmanuel Gil Peyrot
fe83e1f777
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
2015-08-11 22:38:44 +01:00
bunnei
0387001b57
Merge pull request #1023 from yuriks/gl-state-bugs
...
OpenGL: Fix state tracking in situations with reused object handles
2015-08-11 17:19:45 -04:00
LittleWhite
35a2f138b8
Add menu and logic to save and load recently loaded files.
...
This menu is only for ROM and will not save symbols recently loaded.
When the menu is empty, the menu is disabled (greyed out)
2015-08-11 18:45:44 +02:00
aroulin
1af26ea3d8
arm_disasm: ARMv6 mul/div and abs media instructions
...
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
2015-08-11 12:48:28 +02:00
aroulin
0e37ee5692
arm_disasm: ARMv6 parallel add/sub media instructions
...
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
2015-08-11 12:48:23 +02:00
aroulin
e752fd5728
arm_disasm: ARMv6 reversal media instructions
...
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
2015-08-09 13:52:51 +02:00
aroulin
86d63d8fd8
arm_disasm: ARMv6 saturation media instructions
...
SSAT, SSAT16, USAT, USAT16
2015-08-09 01:31:10 +02:00
aroulin
aecd0de63e
arm_disasm: ARMv6 packing and sign-extend media instructions
...
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
2015-08-09 01:31:03 +02:00
Lioncash
b104d30596
Merge pull request #1026 from lioncash/disasm
...
arm_disasm: Remove unnecessary code
2015-08-07 07:29:27 -04:00
Lioncash
9f1b35f27f
registers: Support viewing VFP registers
2015-08-07 02:11:07 -04:00
Lioncash
daabb4fab3
arm_interface: Implement interface for retrieving VFP registers
2015-08-06 21:24:25 -04:00
Lioncash
32461be3ab
registers: Fix a typo with CPSR's name
2015-08-06 21:11:25 -04:00
Lioncash
59d5358068
arm_disasm: Remove unnecessary code
...
This part of disassembly only determines the opcode, there's no need for offset calculation here.
2015-08-06 19:55:41 -04:00
aroulin
4721ff6747
Disassembler: ARMv6K REX instructions
2015-08-06 15:50:54 +02:00
aroulin
0d4ad676e9
Disassembler: ARMv6K hint instructions
2015-08-06 15:25:08 +02:00
Yuri Kunde Schlesner
fe3a7af354
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.
2015-08-06 00:59:37 -03:00
Yuri Kunde Schlesner
60df1c9b2b
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.
2015-08-05 22:55:22 -03:00
bunnei
983c93be94
Merge pull request #1018 from bbarenblat/master
...
Handle invalid `Log::Level::Count`
2015-08-05 11:59:06 -04:00
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.
2015-08-04 23:41:47 -03:00
Benjamin Barenblat
2a886560e8
Use UNREACHABLE macro for impossible cases in previous commit
...
Use the UNREACHABLE macro instead of `ASSERT(false, ...);`.
2015-08-02 18:30:24 -04:00
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.
2015-08-02 19:03:55 -03:00
Benjamin Barenblat
067d2e7e2b
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.
2015-08-02 12:55:31 -04:00
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.
2015-07-31 17:51:01 +02:00
bunnei
ce65925bc3
Merge pull request #1008 from lioncash/pc
...
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-30 10:44:50 -04:00
bunnei
bb7eb5c574
Merge pull request #1006 from yuriks/fb-commit-profile
...
OpenGL: Add a profiler category measuring framebuffer readback
2015-07-30 10:39:38 -04:00
bunnei
a5f77c9886
Merge pull request #1014 from lioncash/unused-warn
...
core: Eliminate some unused variable warnings
2015-07-29 16:47:44 -04:00
bunnei
9221e6e67a
Merge pull request #1011 from lioncash/initializer
...
citra-qt: Adjust initializer list order
2015-07-29 16:46:34 -04:00
bunnei
31c1bb901b
Merge pull request #963 from yuriks/gpu-fixes
...
Misc. GPU vertex loading fixes
2015-07-29 16:45:17 -04:00
Yuri Kunde Schlesner
ea1b04f5da
Merge pull request #1013 from lioncash/unused
...
dyncom: Remove an unused variable
2015-07-29 09:59:37 -07:00
Lioncash
75631b2a9f
core: Eliminate some unused variable warnings
2015-07-29 12:34:18 -04:00
Lioncash
46663d657f
dyncom: Remove an unused variable
...
This was used prior to InterpreterTranslate existing.
2015-07-29 12:21:16 -04:00
bunnei
d3eb63a773
Merge pull request #1012 from lioncash/prototype
...
core: Fix missing prototype warnings
2015-07-29 12:18:29 -04:00
Lioncash
12a9e8502c
core: Fix missing prototype warnings
2015-07-29 12:12:39 -04:00
Lioncash
5df3afd522
citra-qt: Adjust initializer list order
...
Silences a warning.
2015-07-29 12:03:59 -04:00
Lioncash
13ddf60f60
citra-qt: Pass string by const reference
2015-07-29 11:54:07 -04:00
Yuri Kunde Schlesner
8165de065b
Merge pull request #1009 from lioncash/table
...
am_net: Update function table data
2015-07-29 08:40:19 -07:00
Lioncash
6b25e93119
am_net: Add missing function to the function table
2015-07-29 11:37:55 -04:00
Lioncash
bed3618480
am_net: Add correct function name to the function table
2015-07-29 11:37:09 -04:00
bunnei
e5606d9d6e
Merge pull request #982 from Subv/home
...
Service/APT: Return proper parameters in GetLockHandle.
2015-07-29 11:12:17 -04:00
Lioncash
2e420aba3c
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-29 10:57:47 -04:00
Lioncash
2182adff9e
dyncom: Handle left-operand PC correctly for data-processing ops
...
This is considered deprecated in the ARM manual (using PC as an operand),
however, this is still able to be executed on the MPCore (which I'm quite
sure would be rare to begin with).
2015-07-28 20:14:08 -04:00
bunnei
4ccc171db4
Merge pull request #899 from zawata/Winsock-Deprecation
...
SOC:U : Fix WinSock function deprecation
2015-07-28 16:44:29 -04:00
Yuri Kunde Schlesner
428154da45
OpenGL: Add a profiler category measuring framebuffer readback
2015-07-28 17:37:46 -03:00
LittleWhite
5e1c32048f
Update Start menu text to match with the real state of the emulator.
...
Move start menu text update in ShutdownGame as adviced by neobrain
2015-07-28 21:04:14 +02:00
Trung Do
cc98866b25
Settings: Fix saving wrong values for input configuration
2015-07-28 13:51:09 -04:00
bunnei
fe15cf0019
Merge pull request #1003 from lioncash/armcruft
...
dyncom: Minor cleanups.
2015-07-28 09:58:42 -04:00
Tony Wasserka
62adb4ee7b
Merge pull request #873 from jroweboy/input_array
...
Move input values into an array.
2015-07-28 13:17:12 +02:00
Lioncash
9be4ef3879
dyncom: Remove an unnecessary typedef
2015-07-28 03:41:25 -04:00
Lioncash
89540ea761
dyncom: Use enum class for instruction decoding results
2015-07-28 02:27:57 -04:00
James Rowe
1bc7829ee9
Move input values into an array
2015-07-27 21:41:21 -06:00
Lioncash
7e4fb4db19
dyncom: Remove code duplication regarding thumb instructions
2015-07-27 22:22:00 -04:00
Lioncash
a507ea23c1
dyncom: Migrate exclusive memory access control into armstate
2015-07-27 22:06:59 -04:00
Lioncash
db4e99c186
dyncom: Remove duplicated typedef and extern
...
These are already present in arm_dyncom_dec.h.
2015-07-27 22:06:51 -04:00
bunnei
62caa89f48
Merge pull request #1001 from lioncash/arm
...
dyncom: Centralize state-related functions.
2015-07-27 01:09:46 -04:00
bunnei
e1a3fed6ff
Merge pull request #991 from yuriks/globjects
...
OpenGL: Make OpenGL object resource wrappers fully inline
2015-07-26 16:37:33 -04:00
Lioncash
816b1ca776
dyncom: Use std::array for register arrays
2015-07-26 13:21:04 -04:00
Lioncash
0ecc6e2f04
dyncom: Use ARMul_State as an object
...
Gets rid of C-like parameter passing.
2015-07-26 13:18:32 -04:00
bunnei
cb76453ec4
Merge pull request #992 from yuriks/hot-path-debug
...
VideoCore: #ifdef out some debugging routines
2015-07-26 11:45:51 -04:00
Lectem
facb2555a9
citra-qt/debug_utils: Use lock_guard everywhere
...
unique_lock were being used as lock_guards.
Also replaced manual lock/unlock by lock_guard for harmonization.
2015-07-26 16:28:44 +02:00
Lectem
b335cce22e
citra-qt/command list: Do not recreate a widget after each selection
...
Recreating / replacing a widget is slow since it triggers a layout pass.
2015-07-26 16:23:28 +02:00
Lectem
e663751f8b
citra-qt/command list: Add mask column
2015-07-26 16:23:12 +02:00
Lectem
cd06f5cedb
citra-qt/command list: monospace font on windows
2015-07-26 16:07:46 +02:00
Yuri Kunde Schlesner
1762267de4
OpenGL: Make OpenGL object resource wrappers fully inline
...
The functions are so simple that having them separate only bloats the
code and hinders optimization.
2015-07-26 10:58:58 -03:00
Tony Wasserka
72237a9305
Merge pull request #987 from yuriks/regnames
...
Videocore: Don't reinitialize register name map on every query.
2015-07-26 15:56:56 +02:00
Yuri Kunde Schlesner
e130dac7de
Videocore: Don't reinitialize register name map on every query
...
This greatly speeds up the command list debug widget.
2015-07-26 10:10:10 -03:00
Yuri Kunde Schlesner
a99fb226fe
Merge pull request #995 from linkmauve/remove-dead-option
...
Remove dead gpu_refresh_rate option from the default ini file
2015-07-26 05:18:39 -07:00
Emmanuel Gil Peyrot
168997df46
Citra: Remove dead gpu_refresh_rate option from the default ini file.
2015-07-26 13:16:51 +01:00
Tony Wasserka
7a132e2a77
Merge pull request #986 from Lectem/better_widgets
...
citra-qt: Improve pica command list widget.
2015-07-26 14:09:03 +02:00
Yuri Kunde Schlesner
4909a1486e
Videocore: Simplify variables in vertex shader interpreter
...
Simplifies the code and gives a tiny speed-up.
2015-07-26 08:49:35 -03:00
Yuri Kunde Schlesner
877d2a0e48
Videocore: Replace std::stack in shader interpreter with static_vector
...
Shaves off 1/3rd of the vertex shader time in Fire Emblem
2015-07-26 08:49:35 -03:00
Yuri Kunde Schlesner
13347997ba
VideoCore: #ifdef out some debugging routines
...
Some disabled debugging functionality was being called from rendering
routines in VideoCore. Although disabled, many of them still allocated
memory or did some extra work that was enough to show up in a profiler.
Gives a slight (~2ms) speedup.
2015-07-26 06:55:47 -03:00
Lioncash
03213f893e
dyncom: Remove unnecessary initialization code.
...
Targeting ARM version variants was only a thing on armemu.
The reset routine also does basically the same thing as NewState.
2015-07-25 22:10:54 -04:00
Lioncash
3257d797e1
dyncom: Remove unnecessary abort-related cruft
...
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
2015-07-25 22:10:53 -04:00
Lioncash
dfb424b6d1
dyncom: Rename armdefs.h to armstate.h
2015-07-25 22:10:44 -04:00
Lioncash
4bb1a5ca47
dyncom: Get rid of skyeye typedefs
2015-07-25 20:52:10 -04:00
Lioncash
0191c26521
dyncom: Move helper functions to their own header
2015-07-25 20:35:18 -04:00
Lioncash
6b73e4566b
dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common
2015-07-25 20:01:44 -04:00
Yuri Kunde Schlesner
453764aefc
Merge pull request #989 from lioncash/extern
...
armdefs: Remove unnecessary extern keywords
2015-07-25 15:40:23 -07:00
Lioncash
f7ba683dc3
armdefs: Remove unnecessary extern keywords
2015-07-25 18:32:57 -04:00
Lioncash
43d799fd9d
loader: Remove unnecessary else usages
2015-07-25 18:10:13 -04:00
Lectem
e286cfbadf
citra-qt/command list: Enable uniform row heights and automatically resize columns.
...
Uniform row heights enables some optimisations for a smoother scrolling.
Resize columns to content so that we don't have to do it manually
2015-07-25 22:13:23 +02:00
Lectem
129e3dedc3
citra-qt/command list: Split register and value columns.
...
Also removed the extra spaces for each cell
2015-07-25 22:13:04 +02:00
Yuri Kunde Schlesner
24d7c05c8d
Merge pull request #888 from zawata/Warning-Fixes-2
...
Core\HLE : Fix Warning
2015-07-25 12:55:34 -07:00
Yuri Kunde Schlesner
00529c71d4
Address error that remained in last merge
2015-07-25 16:54:51 -03:00
Yuri Kunde Schlesner
9a0f9f12cd
Merge pull request #892 from zawata/another-warning-fixes
...
Yet More Warning Fixes
2015-07-25 12:50:32 -07:00
Yuri Kunde Schlesner
43e1f56ff5
Merge pull request #981 from Subv/checkboxes
...
Qt/GPU Breakpoints: Changed the widget to have a checkbox next to each bp type
2015-07-25 12:00:10 -07:00
Subv
599744921d
Service/APT: Fixed a regression, PreloadLibraryApplet should also start an applet when called.
2015-07-23 21:32:30 -05:00
Subv
ce31184557
Service/APT: Return proper parameters in GetLockHandle.
...
Documented some APT functions
This allows applets to boot.
2015-07-23 20:46:11 -05:00
Subv
23fd13dd64
Qt/GPU Breakpoints: Changed the widget so that we don't have to select and click the Enable button when enabling/disabling a breakpoint, now it is done via a checkbox next to the breakpoint's name.
2015-07-23 19:37:52 -05:00
Yuri Kunde Schlesner
a989522384
Merge pull request #983 from yuriks/null-memory-fill
...
GSP: Don't try to write memory fill registers if start address is 0
2015-07-23 17:31:38 -07:00
Yuri Kunde Schlesner
3b61dd97e0
GSP: Don't try to write memory fill registers if start address is 0
...
Verified to be what GSP does via REing. Fixes invalid virt->phys
translation error spam in some games.
2015-07-23 21:20:01 -03:00
Tony Wasserka
1760eb5ca6
Merge pull request #980 from Subv/more_breakpoints
...
Qt/GPU Breakpoints: Added three more breakpoint types.
2015-07-24 01:58:11 +02:00
Yuri Kunde Schlesner
1fe9b0b82e
VideoCore: Fix values of unset components in input attribute arrays
...
If an input attribute array had a field with less than 4 components, the
remaining components were left unset if not specified by a default
vertex attribute. If neither mechanism would set a component, it would
assume a garbage value.
It has been verified that the hardware behavior is to instead to set the
missing components from the fixed default of (0 0 0 1). The default
vertex attribute values aren't used at all if a vertex array is
specified for that attribute.
Fixes UI graphics on Fire Emblem: Awakening, a small texturing glitch
when selecting a character in Cubic Ninja, as well as eliminating the
unset-W hack which was required for Ocarina of Time to not have
garbled triangles.
This change has been tested against hardware.
2015-07-23 16:51:25 -03:00
Yuri Kunde Schlesner
4e09202226
VideoCore: Saturate vertex colors before interpolating
...
During testing, it was discovered that hardware does not interpolate
colors output by the vertex shader as-is. Rather, it drops the sign and
saturates the value to 1.0. This is done before interpolation, such that
(e.g.) interpolating outputs 1.5 and -0.5 is equivalent to as if the
shader had output the values 1.0 and 0.5 instead, with the interpolated
value never crossing 0.0.
This change has been tested against hardware.
2015-07-23 16:51:24 -03:00
Subv
6c0ea5f5e8
Qt/GPU Breakpoints: Added three more breakpoint types:
...
* IncomingDisplayTransfer: Triggered just before a display transfer is performed.
* GSPCommandProcessed: Triggered right after a GSP command is processed.
* BufferSwapped: Triggered when the frames flip
2015-07-23 11:47:34 -05:00
bunnei
cea45af64d
Merge pull request #977 from yuriks/glenable-tex2d
...
GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
2015-07-23 10:07:35 -04:00
Subv
7b4961e968
Rasterizer/GL: Set the border color when binding a texture.
2015-07-22 18:41:37 -05:00
Yuri Kunde Schlesner
e5c4fe0098
GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
...
In OpenGL 3, texturing is always enabled, and this call is invalid.
While it produced no effect in the rest of the execution, it wouldn't
have the intended effect of disabling texturing for that unit. Instead
bind a null texture to the unit.
2015-07-22 01:22:09 -03:00