Yuri Kunde Schlesner
2aad510c84
Merge pull request #1125 from yuriks/uilayout-config
...
citra-qt: Separate UI layout state in a separate section of the config
10 years ago
Yuri Kunde Schlesner
3244b2b79e
citra-qt: Separate UI layout state in a separate section of the config
...
Closes #1113
10 years ago
Yuri Kunde Schlesner
06b3891c66
citra-qt: Trim recently used files list to size when insterting new item
...
Even though they weren't visible in the UI, old entries would never be
removed from the list and would be stored in the config file across
sessions.
10 years ago
bunnei
0f2005c370
Merge pull request #1118 from Kloen/monospace-font
...
citra-qt: Use monospace font on Disassembler and ARM Registers
10 years ago
bunnei
47221ab1e6
Merge pull request #1121 from aroulin/shader-minor-fixes
...
Shader: Use constants and proper type casts
10 years ago
Yuri Kunde Schlesner
2011f9a042
Shader Debugger: Allow editing of input vertex data
10 years ago
Yuri Kunde Schlesner
2bdf9ede91
Shader Debugger: Highlight current instruction instead of focusing
...
This avoid some annoying focus stealing in some situations, and looks
nicer in general.
10 years ago
Yuri Kunde Schlesner
2c98275b51
Shader Debugger: Remove useless signal
10 years ago
Yuri Kunde Schlesner
f77dfb3966
Shader Debugger: Fix only first vertex attribute being loaded
10 years ago
Yuri Kunde Schlesner
c1beb2ce20
Shader Debugger: Fix freeze when double-clicking shader disassembly
10 years ago
Yuri Kunde Schlesner
2d195ba64e
Shader Debugger: Improve space efficiency of the layout
10 years ago
Yuri Kunde Schlesner
8540e02176
Shader Disassembly: Fix printing of jump offsets
10 years ago
Yuri Kunde Schlesner
3194f40e96
Shader Disassembly: Fix disassembly of IFU/CALLU instructions
10 years ago
Yuri Kunde Schlesner
bc3f57efd0
Shader Disassembly: Implement support for MAD/MADI
10 years ago
Yuri Kunde Schlesner
86d5461bcd
Shader Disassembly: Introduce variables to hold common subexpressions
10 years ago
Yuri Kunde Schlesner
ecbad494d9
Shader Debugger: Initialize input_vertex to prevent crashes
...
If the first type of breakpoint to be hit wasn't "Vertex Loaded", the
input_vertex would contain garbage, which would be passed to the shader
interpreter and ocasionally cause crashes.
10 years ago
Yuri Kunde Schlesner
9431ee330a
Shader Disassembly: Cleanup code and improve output alignment
10 years ago
Kloen
a962c30df1
citra-qt: Use monospace font on Disassembler and ARM Registers
10 years ago
LittleWhite
86e29ac281
Stop emulation when render window is closed
10 years ago
aroulin
1484a23530
Shader JIT: Use SCALE constant from emitter
10 years ago
aroulin
87e3b9ffc0
Shader: Fix size_t to int casts of register offsets
10 years ago
Lioncash
a813f78551
Merge pull request #1114 from archshift/conditioncode_al
...
DynCom: Converted all magic 0xE condition code checks to ConditionCode::AL
10 years ago
archshift
9e8383e296
DynCom: Converted all 0xE condition code checks to ConditionCode::AL
10 years ago
Yuri Kunde Schlesner
b044c047c4
OpenGL: Use Sampler Objects to decouple sampler config from textures
...
Fixes #978
10 years ago
Yuri Kunde Schlesner
466e608c19
OpenGL: Remove ugly and endian-unsafe color pointer casts
10 years ago
Yuri Kunde Schlesner
ec28f037e6
OpenGL: Add support for Sampler Objects to state tracker
10 years ago
Yuri Kunde Schlesner
cd817be922
citra-qt: Move system shutdown to run inside EmuThread
...
This stops (for some reason sporadic) crashes and OpenGL errors during
shutdown, when the OpenGL renderer tries to clean up objects from the
UI thread, which has no OpenGL context active.
10 years ago
Yuri Kunde Schlesner
cc19a76656
Merge pull request #1087 from yuriks/opengl-glad
...
Replace the previous OpenGL loader with a glad-generated 3.3 one
10 years ago
bunnei
bc59aaccb1
Merge pull request #1101 from archshift/camu-service-names
...
Add cam:u service function names to its function table
10 years ago
archshift
e0c10019a9
Add cam:u service function names to its function table
10 years ago
bunnei
918ca40c68
Merge pull request #1088 from aroulin/x64-emitter-abi-call
...
x64: Proper stack alignment in shader JIT function calls
10 years ago
aroulin
ba998b85a1
video_core: Fix format specifiers warnings
10 years ago
aroulin
179ad35c2e
x64: Proper stack alignment in shader JIT function calls
...
Import Dolphin stack handling and register saving routines
Also removes the x86 parts from abi files
10 years ago
aroulin
0b6c0afeb7
Common: Import BitSet from Dolphin
10 years ago
bunnei
5e3536f66f
Merge pull request #1072 from yuriks/GetSystemTick-advance-time
...
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
10 years ago
bunnei
f05ae742a4
Merge pull request #1083 from yuriks/microprofile-vs2015
...
Common: Fix MicroProfile compilation in MSVC2015
10 years ago
Tony Wasserka
071510b367
Merge pull request #1092 from Subv/vertex_offset
...
Pica: Add the vertex_offset register to the Pica registers map.
10 years ago
Subv
58a04c0776
Pica: Added the primitive_restart register (0x25f) to the registers map.
10 years ago
Subv
149ea561a6
Pica: Add the vertex_offset register to the Pica registers map.
10 years ago
aroulin
84959be150
Shader JIT: Fix SGE/SGEI NaN behavior
...
SGE was incorrectly emulated w.r.t. NaN behavior as the CMPSS SSE
instruction was used with NLT
10 years ago
bunnei
e77dc4e9d2
Merge pull request #1059 from Subv/vertex_offset
...
GPU: Implemented register 0x22A PICA_REG_DRAW_VERTEX_OFFSET
10 years ago
Subv
12a11472f1
GPU: Implemented register 0x22A.
...
This is the equivalent of the "first" parameter in glDrawArrays, it tells the GPU the vertex index at which to start rendering.
Register 0x22A doesn't affect indexed rendering.
10 years ago
bunnei
5906d8b01c
Merge pull request #1085 from Subv/fs_stat
...
Services/FS: Correctly tell the guest app whether a file was correctly opened or not
10 years ago
Yuri Kunde Schlesner
68eb197494
Increase required OpenGL version to 3.3
...
This gives us several niceties such as Sampler Objects, shader attribute
locations and Timer Queries.
10 years ago
Yuri Kunde Schlesner
a1a5570e97
Replace the previous OpenGL loader with a glad-generated 3.3 one
...
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
10 years ago
Yuri Kunde Schlesner
18c1c39d5e
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
...
Cubic Ninja waited for the frame to end by spinning on a loop calling
GetSystemTick while doing nothing else. Since GetSystemTick doesn't
cause a reschedule (which advances time), this meant that very little
emulated time would pass inside that loop, causing the game to spend
most of the frame burning away CPU.
10 years ago
bunnei
58e9f78844
Merge pull request #1049 from Subv/stencil
...
Rasterizer: Corrected the stencil implementation.
10 years ago
Subv
ce6a65cec9
Services/FS: Correctly tell the guest app whether a file was correctly opened or not.
...
Closes #1067
10 years ago
Yuri Kunde Schlesner
656d824b20
Common: Fix MicroProfile compilation in MSVC2015
10 years ago
Yuri Kunde Schlesner
0ee3e2c25e
Kernel: Fix wrong linear heap base on titles using newer kernels
...
Typo which sneaked in through review on #1025
10 years ago
bunnei
2978b5fbc8
Merge pull request #1075 from yuriks/ControlMem-fixes
...
Fix heap-management regressions
10 years ago
Yuri Kunde Schlesner
c5a4025b65
Merge pull request #1065 from yuriks/shader-fp
...
Shader FP compliance fixes
10 years ago
bunnei
f3cef178e3
gl_rasterizer_cache: Detect and ignore unnecessary texture flushes.
10 years ago
aroulin
f52d8c1a9b
Shader JIT: Fix float to integer rounding in MOVA
...
MOVA converts new address register values from floats to integers using truncation
10 years ago
Yuri Kunde Schlesner
12390eb155
Kernel: Fix assertion failure when ControlMemory is called with size=0
10 years ago
Yuri Kunde Schlesner
687d973980
Core: Improve APT Shared Font hack
...
Should fix invalid read loops in some games
10 years ago
bunnei
32e279c0ca
Merge pull request #1074 from lioncash/bool
...
dyncom: Minor changes to CondPassed
10 years ago
archshift
dd0e1061ef
Shader JIT: ifdef out reference to ifdef'd out shader_map
...
shader_map was only defined on x86 architectures, but was cleared on shutdown
with no ifdef protection. Ifdef this out so non-x86 architectures can be built.
10 years ago
Lioncash
dc1b024b80
dyncom: Simplify some comparisons in CondPassed
10 years ago
Lioncash
01dd833ffa
dyncom: Change return type of CondPassed to bool
10 years ago
Lioncash
e7ebb9d36c
citra-qt: Add a missing header guard to util.h
10 years ago
Yuri Kunde Schlesner
0fcabd2b11
Integrate the MicroProfile profiling library
...
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
10 years ago
Yuri Kunde Schlesner
c7745408f7
citra-qt: Add helper function to get a monospace QFont
10 years ago
bunnei
afd45d1d7f
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
10 years ago
Subv
583d777b1a
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
10 years ago
Yuri Kunde Schlesner
eff10959de
fixup! Shaders: Fix multiplications between 0.0 and inf
10 years ago
Yuri Kunde Schlesner
d8ef20c856
Shader JIT: Tiny micro-optimization in DPH
10 years ago
Yuri Kunde Schlesner
630a850d4d
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)
10 years ago
Yuri Kunde Schlesner
082b74fa24
Shaders: Explicitly conform to PICA semantics in MAX/MIN
10 years ago
Yuri Kunde Schlesner
76247170df
Shader JIT: Add name to second scratch register (XMM4)
10 years ago
Lioncash
fa5076eb9b
shader_jit: Replace two MDisp usages with MatR
10 years ago
Yuri Kunde Schlesner
455147ee95
Shader JIT: Fix CMP NaN behavior to match hardware
10 years ago
bunnei
83c214f6d8
Merge pull request #1062 from aroulin/shader-rcp-rsq
...
Shader: RCP and RSQ computes only the 1st component
10 years ago
bunnei
387bd3a1e4
Merge pull request #1057 from aroulin/shader-dph-dphi
...
Shader: Implement DPH and DPHI in interpreter/JIT
10 years ago
Subv
d1b9383d86
HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint.
10 years ago
aroulin
03c5cfead4
Shader: Use std::sqrt for float instead of sqrt
10 years ago
aroulin
fa552f11ef
Shader: RCP and RSQ computes only the 1st component
10 years ago
aroulin
16f39aa452
x64-emitter: add RCPSS SSE instruction
10 years ago
Lioncash
250d474280
Merge pull request #1058 from lioncash/ptr
...
emitter: Remove pointer casts
10 years ago
Yuri Kunde Schlesner
78735e2ada
Fix broken boot introduced by last-minute change in #1025
10 years ago
Yuri Kunde Schlesner
3efb205a68
Merge pull request #1025 from yuriks/heap-management
...
Kernel: Correct(er) handling of Heap and Linear Heap allocations
10 years ago
aroulin
2f1514b904
Shader: implement DPH/DPHI in JIT
10 years ago
aroulin
2e7cf2f6cf
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.
10 years ago
Lioncash
78e7c77ff5
emitter: Remove pointer casts
...
This should also technically silence quite a few ubsan warnings.
10 years ago
Subv
0c7da9b815
HWRasterizer: Implemented stencil ops 6 and 7.
10 years ago
Subv
7c1f84a92b
SWRasterizer: Implemented stencil ops 6 and 7.
...
IncrementWrap and DecrementWrap, verified with hwtests.
10 years ago
Subv
e43eb130d4
HWRasterizer: Implemented stencil op 1 (GL_ZERO)
10 years ago
Subv
fef1462371
SWRasterizer: Implemented stencil action 1 (GL_ZERO).
...
Verified with hwtests.
10 years ago
Subv
b3e530d005
SWRasterizer: Removed a todo. Verified with hwtests.
10 years ago
Subv
8e6336d96b
SWRenderer: The stencil depth_pass action is executed even if depth testing is disabled.
...
The HW renderer already did this.
10 years ago
Subv
e74825e3d0
Rasterizer: Abstract duplicated stencil code into a lambda.
10 years ago
Subv
46f660a789
GLRasterizer: Implemented stencil testing in the hw renderer.
10 years ago
Subv
186873420f
GPU/Rasterizer: Corrected the stencil implementation.
...
Verified the behavior with hardware tests.
10 years ago
Lioncash
e85c5dbb54
emitter: Remove unnecessary defines
10 years ago
Lioncash
a796149c42
emitter: Remove unnecessary else keywords
10 years ago
Lioncash
e88dc7fc6d
emitter: Remove unused code
10 years ago
Lioncash
8738963bce
emitter: Remove unimplemented JMP prototype
10 years ago
Lioncash
55461125ba
emitter: Pass OpArg by reference where possible
10 years ago
Lioncash
0609b89f74
emitter: Remove unnecessary inline specifiers
...
Functions implemented in a class definition are already implicitly inline.
10 years ago
bunnei
21ba05e5f1
Merge pull request #1035 from darkf/mingw-fix
...
Fix building under MinGW
10 years ago
bunnei
a575399fbc
Merge pull request #1055 from aroulin/shader-sge-sgei-slt
...
Shader: Implement SGE, SGEI and SLT in interpreter/JIT
10 years ago
Yuri Kunde Schlesner
08325e51e5
Merge pull request #1045 from LittleWhite-tb/qt-recent-files
...
Improvements for MRU
10 years ago
LittleWhite
adee93d784
Improvements for MRU
...
avoid duplicates
always put the last file loaded to top of the list
10 years ago
aroulin
f3e8f42718
Shader: implement SGE, SGEI and SLT in JIT
10 years ago
aroulin
863730f6a7
Shader: implement SGE, SGEI in interpreter
10 years ago
Yuri Kunde Schlesner
a9fc659809
Merge pull request #996 from yuriks/texture-copy
...
GPU: Implement TextureCopy-mode display transfers
10 years ago
bunnei
3c5ff418ca
Merge pull request #1047 from aroulin/shader-ex2-lg2
...
Shader: Save caller-saved registers in JIT before a CALL
10 years ago
aroulin
2f9eb98f03
Shader: Save caller-saved registers in JIT before a CALL
10 years ago
bunnei
026379ed55
Merge pull request #1037 from aroulin/shader-ex2-lg2
...
Shader: Implement EX2 and LG2 in interpreter/JIT
10 years ago
darkf
e053d30bf7
Fix building under MinGW
10 years ago
bunnei
1f18c9f8dd
Merge pull request #1034 from yuriks/rg8-textures
...
videocore: Added RG8 texture support
10 years ago
aroulin
7d3a6016d6
Shader: implement EX2 and LG2 in JIT
10 years ago
LittleWhite
9d6748fa94
Fix Linux GCC 4.9 build (complaining about undeclared memset)
10 years ago
aroulin
638e47c04d
Shader: implement EX2 and LG2 in interpreter
10 years ago
Tony Wasserka
96820ae42a
Build fix for Debug configurations.
10 years ago
Tony Wasserka
f5144e6c10
Merge pull request #997 from Lectem/cmdlist_full_debug
...
citra-qt: Improve pica command list widget (add mask, fix some issues)
10 years ago
Tony Wasserka
32592364b8
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.
10 years ago
Tony Wasserka
493c432d1e
citra-qt: Fix comment style.
10 years ago
Tony Wasserka
33ba604fd9
Introduce a shader tracer to allow inspection of input/output values for each processed instruction.
10 years ago
Tony Wasserka
2e3601f415
Pica/DebugUtils: Include uniform information into shader dumps.
10 years ago
Tony Wasserka
4cb302c8ae
citra-qt: Improve shader debugger.
...
Now supports dumping the current shader and recognizes a larger number of output semantics.
10 years ago
Tony Wasserka
6a5d560c4f
citra-qt: Print the correct swizzle mask for SRC2 in the shader disassembler.
10 years ago
Yuri Kunde Schlesner
0aa443a871
Merge pull request #1033 from bbarenblat/master
...
Handle `FileType::CIA` in `switch` statements
10 years ago
Yuri Kunde Schlesner
7d0c17d2ae
citra-qt: Give RG8 format a proper name in the texture viewer
10 years ago
Patrick Martin
5b65d95310
videocore: Added RG8 texture support
10 years ago
Yuri Kunde Schlesner
9ae5a09655
GPU: Implement TextureCopy-mode display transfers
...
Fixes glitchy garbage in Fire Emblem 3D scenes.
10 years ago
bunnei
882040fde7
Merge pull request #1017 from LittleWhite-tb/qt-recent-files
...
citra-qt: save path for recent files loaded
10 years ago
bunnei
5989a6ac57
Merge pull request #1032 from lioncash/swap
...
vfp: use std::swap where applicable
10 years ago
Yuri Kunde Schlesner
840b85690b
Kernel: Remove unused legacy heap MapBlock_* functions
10 years ago
Yuri Kunde Schlesner
38bfbe1b2b
APT: Adjust shared font hack so it works with the new linear heap code
10 years ago
Yuri Kunde Schlesner
14eca982f4
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.
10 years ago
Yuri Kunde Schlesner
74d4bc0af1
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.
10 years ago
Yuri Kunde Schlesner
c39b52f974
HLE: Remove empty ConfigMem and SharedPage Shutdown functions
10 years ago
Yuri Kunde Schlesner
69c3021a8d
Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h}
10 years ago
Yuri Kunde Schlesner
e2c7954be5
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.
10 years ago
Yuri Kunde Schlesner
a12a30c9e0
Process: Store kernel compatibility version during loading
10 years ago
Yuri Kunde Schlesner
cdeeecf080
Kernel: Properly implement ControlMemory FREE and COMMIT
10 years ago
Yuri Kunde Schlesner
ccab02c723
Memory: Move PAGE_MASK and PAGE_BITS to memory.h
10 years ago
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
Lioncash
46b0277cbf
vfp: use std::swap where applicable
10 years ago
Yuri Kunde Schlesner
2e5696dba4
Merge pull request #1031 from bbarenblat/master
...
Handle invalid `Log::Class`
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
c0a87bc89f
Properly indicate that CIA support is not implemented yet
...
Make `Loader::LoadFile` return an `ErrorNotImplemented` if you call
it on a CIA file.
10 years ago
Benjamin Barenblat
cd8be1846b
Give CIA file type a name
...
Make `GetFileTypeString` return ‘CIA’ for CIA (CTR Importable
Archive) files.
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
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
LittleWhite
66eabd326f
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)
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
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
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
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
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
bunnei
ce65925bc3
Merge pull request #1008 from lioncash/pc
...
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
10 years ago
bunnei
bb7eb5c574
Merge pull request #1006 from yuriks/fb-commit-profile
...
OpenGL: Add a profiler category measuring framebuffer readback
10 years ago
bunnei
a5f77c9886
Merge pull request #1014 from lioncash/unused-warn
...
core: Eliminate some unused variable warnings
10 years ago
bunnei
9221e6e67a
Merge pull request #1011 from lioncash/initializer
...
citra-qt: Adjust initializer list order
10 years ago
bunnei
31c1bb901b
Merge pull request #963 from yuriks/gpu-fixes
...
Misc. GPU vertex loading fixes
10 years ago
Yuri Kunde Schlesner
ea1b04f5da
Merge pull request #1013 from lioncash/unused
...
dyncom: Remove an unused variable
10 years ago
Lioncash
75631b2a9f
core: Eliminate some unused variable warnings
10 years ago
Lioncash
46663d657f
dyncom: Remove an unused variable
...
This was used prior to InterpreterTranslate existing.
10 years ago
bunnei
d3eb63a773
Merge pull request #1012 from lioncash/prototype
...
core: Fix missing prototype warnings
10 years ago
Lioncash
12a9e8502c
core: Fix missing prototype warnings
10 years ago
Lioncash
5df3afd522
citra-qt: Adjust initializer list order
...
Silences a warning.
10 years ago
Lioncash
13ddf60f60
citra-qt: Pass string by const reference
10 years ago
Yuri Kunde Schlesner
8165de065b
Merge pull request #1009 from lioncash/table
...
am_net: Update function table data
10 years ago
Lioncash
6b25e93119
am_net: Add missing function to the function table
10 years ago
Lioncash
bed3618480
am_net: Add correct function name to the function table
10 years ago
bunnei
e5606d9d6e
Merge pull request #982 from Subv/home
...
Service/APT: Return proper parameters in GetLockHandle.
10 years ago
Lioncash
2e420aba3c
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
10 years ago
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).
10 years ago
bunnei
4ccc171db4
Merge pull request #899 from zawata/Winsock-Deprecation
...
SOC:U : Fix WinSock function deprecation
10 years ago
Yuri Kunde Schlesner
428154da45
OpenGL: Add a profiler category measuring framebuffer readback
10 years ago
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
10 years ago
Trung Do
cc98866b25
Settings: Fix saving wrong values for input configuration
10 years ago
bunnei
fe15cf0019
Merge pull request #1003 from lioncash/armcruft
...
dyncom: Minor cleanups.
10 years ago
Tony Wasserka
62adb4ee7b
Merge pull request #873 from jroweboy/input_array
...
Move input values into an array.
10 years ago
Lioncash
9be4ef3879
dyncom: Remove an unnecessary typedef
10 years ago
Lioncash
89540ea761
dyncom: Use enum class for instruction decoding results
10 years ago
James Rowe
1bc7829ee9
Move input values into an array
10 years ago
Lioncash
7e4fb4db19
dyncom: Remove code duplication regarding thumb instructions
10 years ago
Lioncash
a507ea23c1
dyncom: Migrate exclusive memory access control into armstate
10 years ago
Lioncash
db4e99c186
dyncom: Remove duplicated typedef and extern
...
These are already present in arm_dyncom_dec.h.
10 years ago
bunnei
62caa89f48
Merge pull request #1001 from lioncash/arm
...
dyncom: Centralize state-related functions.
10 years ago
bunnei
e1a3fed6ff
Merge pull request #991 from yuriks/globjects
...
OpenGL: Make OpenGL object resource wrappers fully inline
10 years ago
Lioncash
816b1ca776
dyncom: Use std::array for register arrays
10 years ago
Lioncash
0ecc6e2f04
dyncom: Use ARMul_State as an object
...
Gets rid of C-like parameter passing.
10 years ago
bunnei
cb76453ec4
Merge pull request #992 from yuriks/hot-path-debug
...
VideoCore: #ifdef out some debugging routines
10 years ago
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.
10 years ago
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.
10 years ago
Lectem
e663751f8b
citra-qt/command list: Add mask column
10 years ago
Lectem
cd06f5cedb
citra-qt/command list: monospace font on windows
10 years ago
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.
10 years ago
Tony Wasserka
72237a9305
Merge pull request #987 from yuriks/regnames
...
Videocore: Don't reinitialize register name map on every query.
10 years ago
Yuri Kunde Schlesner
e130dac7de
Videocore: Don't reinitialize register name map on every query
...
This greatly speeds up the command list debug widget.
10 years ago
Yuri Kunde Schlesner
a99fb226fe
Merge pull request #995 from linkmauve/remove-dead-option
...
Remove dead gpu_refresh_rate option from the default ini file
10 years ago
Emmanuel Gil Peyrot
168997df46
Citra: Remove dead gpu_refresh_rate option from the default ini file.
10 years ago
Tony Wasserka
7a132e2a77
Merge pull request #986 from Lectem/better_widgets
...
citra-qt: Improve pica command list widget.
10 years ago
Yuri Kunde Schlesner
4909a1486e
Videocore: Simplify variables in vertex shader interpreter
...
Simplifies the code and gives a tiny speed-up.
10 years ago
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
10 years ago
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.
10 years ago
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.
10 years ago
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.
10 years ago
Lioncash
dfb424b6d1
dyncom: Rename armdefs.h to armstate.h
10 years ago
Lioncash
4bb1a5ca47
dyncom: Get rid of skyeye typedefs
10 years ago
Lioncash
0191c26521
dyncom: Move helper functions to their own header
10 years ago
Lioncash
6b73e4566b
dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common
10 years ago
Yuri Kunde Schlesner
453764aefc
Merge pull request #989 from lioncash/extern
...
armdefs: Remove unnecessary extern keywords
10 years ago
Lioncash
f7ba683dc3
armdefs: Remove unnecessary extern keywords
10 years ago
Lioncash
43d799fd9d
loader: Remove unnecessary else usages
10 years ago
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
10 years ago
Lectem
129e3dedc3
citra-qt/command list: Split register and value columns.
...
Also removed the extra spaces for each cell
10 years ago
Yuri Kunde Schlesner
24d7c05c8d
Merge pull request #888 from zawata/Warning-Fixes-2
...
Core\HLE : Fix Warning
10 years ago
Yuri Kunde Schlesner
00529c71d4
Address error that remained in last merge
10 years ago
Yuri Kunde Schlesner
9a0f9f12cd
Merge pull request #892 from zawata/another-warning-fixes
...
Yet More Warning Fixes
10 years ago
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
10 years ago
Subv
599744921d
Service/APT: Fixed a regression, PreloadLibraryApplet should also start an applet when called.
10 years ago
Subv
ce31184557
Service/APT: Return proper parameters in GetLockHandle.
...
Documented some APT functions
This allows applets to boot.
10 years ago
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.
10 years ago
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
10 years ago
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.
10 years ago
Tony Wasserka
1760eb5ca6
Merge pull request #980 from Subv/more_breakpoints
...
Qt/GPU Breakpoints: Added three more breakpoint types.
10 years ago
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.
10 years ago
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.
10 years ago
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
10 years ago
bunnei
cea45af64d
Merge pull request #977 from yuriks/glenable-tex2d
...
GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
10 years ago
Subv
7b4961e968
Rasterizer/GL: Set the border color when binding a texture.
10 years ago
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.
10 years ago
bunnei
3a5352baf8
Merge pull request #968 from Subv/texture_filtering
...
GPU: Added registers for min and mag texture filters
10 years ago
bunnei
4a9e97d67d
Merge pull request #962 from Subv/am_app
...
Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
10 years ago
Subv
009e34f08a
GPU: Added registers for min and mag texture filters and implemented them in the hw renderer.
10 years ago
bunnei
d0b45d45b5
Merge pull request #966 from Subv/log
...
Services/Logging: Log more useful information when some operations fail.
10 years ago
Subv
f5bff67b0b
Services/Logging: Log more useful information when some operations fail.
...
Namely OpenFileDirectly, OpenDirectory and OpenArchive
10 years ago
bunnei
dcc8f1bef2
Merge pull request #957 from Subv/hwtest_crash
...
Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
10 years ago
Tony Wasserka
aa6dfdb827
Merge pull request #929 from neobrain/geoshader_definitions
...
Pica/Shader: Add geometry shader definitions.
10 years ago
Lioncash
043b2f882a
Merge pull request #964 from lioncash/svc
...
dyncom: Pass SVC immediates directly.
10 years ago
Yuri Kunde Schlesner
a48aa4f924
Resolve issue accidentally left unaddressed in PR #930
10 years ago
Lioncash
c2689b8c2c
dyncom: Pass SVC immediates directly.
...
Previously it would just re-read the already decoded instruction and extract the immediate value.
10 years ago
Sebastian Valle
baba0efcd1
Merge pull request #959 from Subv/home
...
Services/CFG: Added some missing functions to cfg:s
10 years ago
Subv
13f93a0188
Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
...
Named the service functions in am:app as per 3dbrew.
This fixes an illegal read loop in Steel Diver
10 years ago
Yuri Kunde Schlesner
8833852acd
Merge pull request #930 from neobrain/copypaste_commandlist
...
citra-qt: Add support for copying the command list contents to clipboard.
10 years ago
Subv
38a7f1b727
Services/CFG: Added some missing functions to cfg:s
10 years ago
Subv
275aaeef9c
Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
...
They'll be reset if needed during the next svcWaitSynchronization call (if there's any pending)
10 years ago
bunnei
cd2bb2dc69
Merge pull request #939 from Subv/queryprocmem
...
Kernel/SVC: Implemented svcQueryProcessMemory
10 years ago
bunnei
863a963911
Merge pull request #951 from Subv/bit5
...
GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
10 years ago
bunnei
9a3b21bcf9
Merge pull request #944 from Subv/spam
...
GLRasterizer: Don't try to get a pointer to the depth buffer if it doesn't exist.
10 years ago
bunnei
21a696abde
Merge pull request #946 from archshift/update-frdu
...
Add more frd:u unknown service commands from 3dbrew
10 years ago
zawata
395e63d5aa
SOC:U : Update deprecated function gethostbyname() to getaddrinfo()
10 years ago
Subv
63dbff9b1f
GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
...
It tells the GPU to not swizzle/de-swizzle the input during the transfer.
10 years ago
Lioncash
a2f0a3d019
dyncom: Properly retrieve the PC value in BX if used.
10 years ago
Yuri Kunde Schlesner
ae985bf500
Pica: Correct switched S/T texture wrapping registers
...
This was found and hwtested by Lectem
10 years ago
Yuri Kunde Schlesner
5a75cf8fd2
Pica: Fix DP3 instruction, which wasn't assigning to the w component
10 years ago
archshift
84a88005e2
Change trace/unimplemented service call logs to use hex
...
Changes the log to use hex in the parameter list instead of decimal.
10 years ago
archshift
d1e6afaba1
Add more frd:u unknown service commands from 3dbrew
10 years ago
Subv
a694caeee0
GLRasterizer: Don't try to get a pointer to the depth buffer if it doesn't exist.
10 years ago
Subv
3600c32483
Rasterizer/Textures: Fixed a bug where the I4 format would get twice the real stride.
...
Also added its name to the texture viewer widget
10 years ago
zawata
6933a50aeb
Vertex Shader : Undo casting
10 years ago
zawata
04756bdaf6
Video_Core : Type fixes
10 years ago
zawata
972dccc3f6
Core : Change variable type
...
and fix various warnings
10 years ago
zawata
f7050021de
Video_Core: Finally fix pesky warning
10 years ago
zawata
c66b5ca3d9
Citra_QT : Another Conversion Warning Fix
10 years ago
zawata
017437e8d7
Video_Core : Change Tabs to Spaces
...
This really should be universalized, I keep getting errors creating
commits because lines I've edited use tabs instead of spaces(and yes I
did read the contributing guide and i know they are supposed to be
spaces)
10 years ago
zawata
716120da3d
Video_Core : Fix Conversion Warnings
10 years ago
zawata
1be1ff23a9
Core : Fix Conversion Warnings
10 years ago
zawata
6e9a6ca6bf
Common : Fix Conversion Warnings
10 years ago
zawata
3c802b06e9
Citra_QT : Fix Conversion Warnings
10 years ago
Yuri Kunde Schlesner
71be5853e0
Merge pull request #941 from citra-emu/armv6-thumb-mov
...
Dyncom: Support for a new ARMv6 Thumb MOV encoding
10 years ago
Emmanuel Gil Peyrot
fcdc8118eb
Common: Remove the unused and commented GetThemeDir prototype from FileUtil.
10 years ago