Commit graph

2649 commits

Author SHA1 Message Date
bunnei b02a533d94 gl_shader_util: Use vec3 constants for AppendColorCombiner. 2015-10-21 21:51:24 -04:00
bunnei 37b0aa5af7 gl_rasterizer: Fix typo in uploading TEV const color uniforms. 2015-10-21 21:51:24 -04:00
bunnei 82f3e6dc69 gl_shader_util: Fix precision bug with alpha testing.
- Alpha testing is not done with float32 precision, this makes the HW renderer match the SW renderer.
2015-10-21 21:51:23 -04:00
Subv e3f4233cef Initial implementation of fragment shader generation with caching. 2015-10-21 21:51:23 -04:00
polaris- d1f73c424f Add a register variable to loops 2015-10-21 07:45:35 -04:00
polaris- d7e346239b Update register read loops to go with last commit 2015-10-21 07:40:30 -04:00
polaris- 8a0d848646 Pad responses to gdb for VFP registers 2015-10-21 07:19:03 -04:00
polaris- 53aa55fcaa Try to add support for VFP registers 2015-10-21 07:14:43 -04:00
polaris- 9f66580d7e Fix buffer overflow comments 2015-10-21 06:49:49 -04:00
wwylele 6e57389172 change file path encoding to Local8bit()
to support non-latin characters
2015-10-20 20:58:23 +03:00
bunnei 7411aed5c7 Merge pull request #1207 from kemenaran/persist-citra-settings-in-qt
citra-qt: save hardware-rendering and shaders-jit settings
2015-10-20 10:31:13 -04:00
bunnei 2e2cfa0037 Merge pull request #1204 from kemenaran/qt-add-mac-icon
citra-qt: Add icon to the OS X app
2015-10-20 10:21:03 -04:00
bunnei c717d1551d Merge pull request #1199 from Gareth422/encryption-check
Loader: Implement NCCH encryption check
2015-10-20 10:17:31 -04:00
Pierre de La Morinerie 71f6672415 citra-qt: persist hardware-rendering and shaders-jit settings
Before this changing these settings from the GUI would apply the
settings, but they were reseted to the default values when exiting
citra.
2015-10-18 14:08:23 +02:00
Pierre de La Morinerie 22421528b7 citra-qt: Add icon to Mac app
Previously the Mac app didn't have any icon.
2015-10-14 15:02:36 +02:00
polaris- 2b7316a379 Remove unnecessary new lines, changed Deinit to Shutdown 2015-10-11 20:07:58 -04:00
Gareth Poole 721475420d Loader: Change NCCH header types to be explicitly little-endian 2015-10-10 22:35:22 -04:00
Gareth Poole 2706394384 Loader: Implement encryption check 2015-10-10 22:34:17 -04:00
bunnei 04325e5980 Merge pull request #1194 from linkmauve/no-newline
Remove newlines in LOG_* calls
2015-10-10 14:42:17 -04:00
Emmanuel Gil Peyrot 14af5919ba CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.
The LOG_* function itself already appends one.
2015-10-09 22:14:56 +01:00
Gareth Poole be217bca70 Fixed spelling errors 2015-10-09 17:09:52 -04:00
bunnei 7c747c8c33 Merge pull request #1189 from archshift/game-list-toggle-window
Game list: propely hide on toggling window mode
2015-10-07 10:33:11 -04:00
Rohit Nirmal 32391cffdd Silence -Wsign-compare warnings. 2015-10-06 22:16:15 -05:00
archshift 2ce2e05db0 Game list: propely hide on toggling window mode
Properly hides the game list upon toggling from external
window mode to single window mode. Previously, both the game
list and the render window would have been shown at the same
time upon toggling.
2015-10-06 12:20:26 -07:00
Pierre de La Morinerie ba5d0f594d citra-qt: Fix mouse events coordinates on high-DPI screens 2015-10-04 23:11:05 +02:00
Pierre de La Morinerie 2f4a1e0d59 citra-qt: Enable high-DPI widgets on Mac app
The OS will render the widgets using the system screen DPI (instead of
being locked at @1x resolution).

This has no impact on the existing high-DPI rendering code in Citra,
which means that the resolution of the emulated content is increased
to the real number of pixels, as on other platforms.
2015-10-04 23:11:05 +02:00
Pierre de La Morinerie 513483f8d5 citra-qt: Use custom Info.plist for Mac builds
Instead of letting CMake re-generate an automatic Info.plist file on
every build, use our own. This allows greater control on the application
bundle settings.
2015-10-04 23:11:05 +02:00
polaris- 42928659e8 Use BreakpointAddress struct instead of passing address directly 2015-10-04 11:22:31 -04:00
polaris- 6ea428addf Toggle use_gdbstub in citra GLFW 2015-10-04 11:22:07 -04:00
polaris- 31dee93e84 Implement gdbstub 2015-10-04 11:16:59 -04:00
bunnei 5d635986bf Merge pull request #1176 from lioncash/vs2015-code-junking-day
Obligatory "Throw out workarounds VS2013 once limited us to" PR
2015-10-03 13:19:03 -04:00
bunnei 11a64acf23 Merge pull request #1095 from archshift/game-list
Initial implementation of a game list
2015-10-01 23:35:19 -04:00
archshift 0fae76c741 Game list: save and load column sizes, sort order, to QSettings 2015-10-01 19:39:15 -07:00
archshift 797b91a449 Add menu item for selecting the game list folder 2015-10-01 19:39:14 -07:00
archshift 6e1bb58ee8 Initial implementation of a game list 2015-10-01 19:39:14 -07:00
archshift f297a59985 Add helper function for creating a readable byte size string. 2015-10-01 19:39:14 -07:00
archshift afd06675fa Don't show render window until a game is started 2015-10-01 19:39:14 -07:00
Lioncash 845ac621b3 bit_field: Re-enable code on MSVC 2015-10-01 15:43:42 -04:00
bunnei 1f18d64d1f Merge pull request #1180 from lioncash/symbol
symbols: Minor changes
2015-10-01 11:20:21 -04:00
archshift 7134a17fc6 Split up FileUtil::ScanDirectoryTree to be able to use callbacks for custom behavior
Converted FileUtil::ScanDirectoryTree and FileUtil::DeleteDirRecursively
to use the new ScanDirectoryTreeAndCallback function internally.
2015-09-30 21:04:47 -07:00
archshift bba12520c4 Expose loader helper functions for identifying files. 2015-09-30 21:04:47 -07:00
Lioncash 8cb2bc748d symbols: Replace an insert call with emplace 2015-09-30 11:55:58 -04:00
Lioncash 65d7a82db4 symbols: Get rid of initial underscores in variable names 2015-09-30 11:54:44 -04:00
Lioncash 7e143d4422 symbols: Directly initialize TSymbol members 2015-09-30 11:53:01 -04:00
Lioncash 052eacc3b9 symbols: Simplify GetSymbol 2015-09-30 11:51:06 -04:00
bunnei bcaafb826e Merge pull request #1177 from linkmauve/fix-msvc-todo
Use a constexpr function for country initialization in service/cfg
2015-09-30 11:06:47 -04:00
Lioncash a97d9613a7 ivfc_archive: Fix a printf specifier 2015-09-30 08:19:42 -04:00
Emmanuel Gil Peyrot 57722fb192 Service/CFG: Use a constexpr function for country initialization
This fixes a TODO left over from when we supported MSVC 2013.
2015-09-30 04:02:48 +01:00
bunnei a67df5ad94 Merge pull request #1172 from martinlindhe/fix-warnings
Fix some xcode 7 (llvm) warnings
2015-09-29 22:00:27 -04:00
Martin Lindhe bafb7afba2 fix some xcode 7.0 warnings 2015-09-29 23:11:09 +02:00
LittleWhite d06824809f Fix for the refresh issue when no rendering is done 2015-09-24 21:48:41 +02:00
bunnei 09f43c0975 Merge pull request #1160 from lioncash/clang
Silence some clang warnings
2015-09-21 21:29:55 -04:00
bunnei ca5ea5142d Merge pull request #1106 from Kloen/fix-connect
citra-qt: Fix connect error on startup (#449)
2015-09-21 21:16:48 -04:00
Cruel d60a9be5c6 Implement 3dsx RomFS 2015-09-21 13:03:18 -04:00
polaris- 5114d75647 Implement gdbstub 2015-09-19 22:28:02 -04:00
Kloen 541fc80240 citra-qt: Fix connect error on startup 2015-09-18 11:36:59 +02:00
Lioncash 543192e045 hash: Get rid of unused functions 2015-09-16 08:54:28 -04:00
Lioncash 751fbfdcc3 general: Silence some warnings when using clang 2015-09-16 08:51:53 -04:00
Yuri Kunde Schlesner bbf92a54e5 Service/CFG: Add default entry for block 0x000A0001 (birthday) 2015-09-14 17:39:52 -03:00
Yuri Kunde Schlesner 13a8e39813 Service/CFG: Correct flags in 2 default blocks
Verified against a 9.2.0-20 config save
2015-09-14 17:39:51 -03:00
Yuri Kunde Schlesner d91f1c0624 Service/CFG: Add additional blocks to default save data
These blocks are required by various games to boot.
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner 6c89d4ca26 Fix narrowing conversion warning 2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner 1fe72dcc04 Service/CFG: Move several private types from the header to the cpp 2015-09-14 17:39:49 -03:00
Yuri Kunde Schlesner ac4f7b0fde Service/CFG: Clean up default block creation 2015-09-14 17:39:48 -03:00
Yuri Kunde Schlesner b3af7aad9e Merge pull request #1123 from yuriks/gsp-flush
GSP: Implement command 0x05, used for flushing caches
2015-09-14 17:00:45 -03:00
bunnei d6e56b8c88 Merge pull request #1111 from LittleWhite-tb/qt-close-renderwindow
Stop emulation when render window is closed
2015-09-14 15:23:08 -04:00
Yuri Kunde Schlesner 1ed7f3e028 GSP: Implement command 0x05, used for flushing caches
May fix additional texture caching issues. (Though mostly in homebrew, I
haven't seen any commercial software use this to flush anything but
command lists.)
2015-09-14 16:19:05 -03:00
Lioncash 13683a6a11 memory_util: Remove unnecessary assignment in FreeMemoryPages 2015-09-11 23:16:34 -04:00
Lioncash 3972ac40ef memory_util: Remove commented out printf statements 2015-09-11 23:12:28 -04:00
Lioncash 07bfe0abbb general: Replace 0 literals with nullptr where applicable 2015-09-11 23:11:01 -04:00
Lioncash b9fb46ac9d synchronized_wrapper: Add missing return in SynchronizedRef move assignment operator 2015-09-11 22:00:21 -04:00
Yuri Kunde Schlesner 5bca1e6adf Merge pull request #1147 from lioncash/nullptr
General: Replace NULL and '0' usages with nullptr where applicable
2015-09-11 18:56:41 -03:00
Yuri Kunde Schlesner 5bf8eed96c Merge pull request #1149 from lioncash/override
graphics_breakpoints_p: Add missing override specifier
2015-09-11 18:24:24 -03:00
Yuri Kunde Schlesner 48f9bef75d Merge pull request #1142 from lioncash/hdrqt
citra_qt: Reorganize headers
2015-09-11 18:17:24 -03:00
Yuri Kunde Schlesner ece0f050a9 Merge pull request #1143 from lioncash/vcore-hdr
video_core: Reorganize headers
2015-09-11 18:17:02 -03:00
Lioncash ec93d6e19a graphics_breakpoints_p: Add missing override specifier 2015-09-11 16:32:02 -04:00
Lioncash 60b3fc01a2 General: Replace NULL and '0' usages with nullptr where applicable 2015-09-11 14:59:49 -04:00
bunnei ef622a07ff Merge pull request #1144 from lioncash/remove
common: Get rid of debug_interface.h
2015-09-11 09:47:36 -04:00
Lioncash bc886a7a03 common: Get rid of a cast in swap.h 2015-09-11 08:54:33 -04:00
Lioncash 5dc9950772 common: Get rid of debug_interface.h
This is technically unused. Also removes TMemChecks because it relies on this.
Whenever memory breakpoints are implemented for real, it should be designed to
match the codebase debugging mechanisms.
2015-09-11 08:12:08 -04:00
Lioncash aec28ed91e video_core: Reorganize headers 2015-09-11 07:31:15 -04:00
Lioncash abe5bb4019 citra_qt: Reorganize headers 2015-09-11 00:57:24 -04:00
Lioncash 1fa772393b video_core: Remove unnecessary includes from headers 2015-09-11 00:10:03 -04:00
Yuri Kunde Schlesner abc34ddb88 Merge pull request #1130 from lioncash/block
memory: Get rid of pointer casts
2015-09-10 18:05:24 -03:00
bunnei a008b28659 Merge pull request #1133 from lioncash/emplace-back
gl_rasterizer: Replace push_back calls with emplace_back in AddTriangle
2015-09-10 15:07:06 -04:00
bunnei 0d5604fdcb Merge pull request #1136 from lioncash/proto
renderer_opengl: Remove unimplemented function declaration
2015-09-10 11:29:33 -04:00
bunnei 927b34a1e3 Merge pull request #1137 from lioncash/doc
General: Fix up doxygen comments
2015-09-10 11:29:16 -04:00
Lioncash d3efa637b4 General: Fix up doxygen comments 2015-09-10 11:20:21 -04:00
Lioncash 8a3428f16c renderer_opengl: Remove unimplemented function declaration 2015-09-10 10:45:44 -04:00
Lioncash 526eb33d1e video_core: Remove unused variables 2015-09-10 10:26:21 -04:00
Yuri Kunde Schlesner 248b2993e8 Merge pull request #1131 from lioncash/uninit
y2r: Give local variables an initial value
2015-09-10 01:21:58 -03:00
Lioncash 7b72b71605 gl_rasterizer: Replace push_back calls with emplace_back in AddTriangle 2015-09-10 00:20:30 -04:00
Lioncash 9cf1cfe3fd memory: Get rid of pointer casts 2015-09-10 00:09:55 -04:00
Lioncash d7bfda3e26 disk_archive: Remove unimplemented constructor declarations 2015-09-09 23:49:03 -04:00
Lioncash f87093686e y2r: Give local variables an initial value
Keeps compilers/static analyzers quiet.
2015-09-09 23:38:55 -04:00
Yuri Kunde Schlesner 078969bdd0 CMake: Add option to download Qt and GLFW binaries over HTTP 2015-09-08 19:35:12 -03:00
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
2015-09-07 23:52:13 -03:00
Yuri Kunde Schlesner 3244b2b79e citra-qt: Separate UI layout state in a separate section of the config
Closes #1113
2015-09-07 22:11:21 -03:00
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.
2015-09-07 22:00:08 -03:00
bunnei 0f2005c370 Merge pull request #1118 from Kloen/monospace-font
citra-qt: Use monospace font on Disassembler and ARM Registers
2015-09-07 17:52:07 -04:00
bunnei 47221ab1e6 Merge pull request #1121 from aroulin/shader-minor-fixes
Shader: Use constants and proper type casts
2015-09-07 15:59:24 -04:00
Yuri Kunde Schlesner 2011f9a042 Shader Debugger: Allow editing of input vertex data 2015-09-07 16:46:31 -03:00
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.
2015-09-07 16:46:31 -03:00
Yuri Kunde Schlesner 2c98275b51 Shader Debugger: Remove useless signal 2015-09-07 16:46:30 -03:00
Yuri Kunde Schlesner f77dfb3966 Shader Debugger: Fix only first vertex attribute being loaded 2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner c1beb2ce20 Shader Debugger: Fix freeze when double-clicking shader disassembly 2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner 2d195ba64e Shader Debugger: Improve space efficiency of the layout 2015-09-07 16:46:28 -03:00
Yuri Kunde Schlesner 8540e02176 Shader Disassembly: Fix printing of jump offsets 2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner 3194f40e96 Shader Disassembly: Fix disassembly of IFU/CALLU instructions 2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner bc3f57efd0 Shader Disassembly: Implement support for MAD/MADI 2015-09-07 16:46:26 -03:00
Yuri Kunde Schlesner 86d5461bcd Shader Disassembly: Introduce variables to hold common subexpressions 2015-09-07 16:46:25 -03:00
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.
2015-09-07 16:46:25 -03:00
Yuri Kunde Schlesner 9431ee330a Shader Disassembly: Cleanup code and improve output alignment 2015-09-07 16:46:23 -03:00
Kloen a962c30df1 citra-qt: Use monospace font on Disassembler and ARM Registers 2015-09-07 21:02:45 +02:00
LittleWhite 86e29ac281 Stop emulation when render window is closed 2015-09-07 20:34:39 +02:00
aroulin 1484a23530 Shader JIT: Use SCALE constant from emitter 2015-09-07 16:50:28 +02:00
aroulin 87e3b9ffc0 Shader: Fix size_t to int casts of register offsets 2015-09-07 16:50:28 +02:00
Lioncash a813f78551 Merge pull request #1114 from archshift/conditioncode_al
DynCom: Converted all magic 0xE condition code checks to ConditionCode::AL
2015-09-06 01:29:28 -04:00
archshift 9e8383e296 DynCom: Converted all 0xE condition code checks to ConditionCode::AL 2015-09-05 22:24:42 -07:00
Yuri Kunde Schlesner b044c047c4 OpenGL: Use Sampler Objects to decouple sampler config from textures
Fixes #978
2015-09-03 15:09:51 -03:00
Yuri Kunde Schlesner 466e608c19 OpenGL: Remove ugly and endian-unsafe color pointer casts 2015-09-03 15:09:51 -03:00
Yuri Kunde Schlesner ec28f037e6 OpenGL: Add support for Sampler Objects to state tracker 2015-09-03 15:09:50 -03:00
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.
2015-09-03 15:09:50 -03:00
Yuri Kunde Schlesner cc19a76656 Merge pull request #1087 from yuriks/opengl-glad
Replace the previous OpenGL loader with a glad-generated 3.3 one
2015-09-03 15:07:01 -03:00
bunnei bc59aaccb1 Merge pull request #1101 from archshift/camu-service-names
Add cam:u service function names to its function table
2015-09-03 07:53:18 -04:00
archshift e0c10019a9 Add cam:u service function names to its function table 2015-09-03 01:56:59 -07:00
bunnei 918ca40c68 Merge pull request #1088 from aroulin/x64-emitter-abi-call
x64: Proper stack alignment in shader JIT function calls
2015-09-02 08:46:58 -04:00
aroulin ba998b85a1 video_core: Fix format specifiers warnings 2015-09-02 08:20:00 +02:00
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
2015-09-01 23:39:52 +02:00
aroulin 0b6c0afeb7 Common: Import BitSet from Dolphin 2015-09-01 23:39:52 +02:00
bunnei 5e3536f66f Merge pull request #1072 from yuriks/GetSystemTick-advance-time
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
2015-09-01 08:21:29 -04:00
bunnei f05ae742a4 Merge pull request #1083 from yuriks/microprofile-vs2015
Common: Fix MicroProfile compilation in MSVC2015
2015-08-31 21:20:36 -04:00
Tony Wasserka 071510b367 Merge pull request #1092 from Subv/vertex_offset
Pica: Add the vertex_offset register to the Pica registers map.
2015-08-31 18:17:59 +02:00
Subv 58a04c0776 Pica: Added the primitive_restart register (0x25f) to the registers map. 2015-08-31 09:14:18 -05:00
Subv 149ea561a6 Pica: Add the vertex_offset register to the Pica registers map. 2015-08-31 07:02:30 -05:00
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
2015-08-31 08:16:15 +02:00
bunnei e77dc4e9d2 Merge pull request #1059 from Subv/vertex_offset
GPU: Implemented register 0x22A PICA_REG_DRAW_VERTEX_OFFSET
2015-08-30 17:12:33 -04:00
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.
2015-08-30 15:46:22 -05:00
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
2015-08-30 11:44:39 -04:00
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.
2015-08-30 08:45:57 -03:00
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.
2015-08-30 08:45:56 -03:00
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.
2015-08-30 00:07:02 -03:00
bunnei 58e9f78844 Merge pull request #1049 from Subv/stencil
Rasterizer: Corrected the stencil implementation.
2015-08-29 20:06:25 -04:00
Subv ce6a65cec9 Services/FS: Correctly tell the guest app whether a file was correctly opened or not.
Closes #1067
2015-08-28 22:01:03 -05:00
Yuri Kunde Schlesner 656d824b20 Common: Fix MicroProfile compilation in MSVC2015 2015-08-28 06:12:12 -03:00
Yuri Kunde Schlesner 0ee3e2c25e Kernel: Fix wrong linear heap base on titles using newer kernels
Typo which sneaked in through review on #1025
2015-08-27 23:52:40 -03:00
bunnei 2978b5fbc8 Merge pull request #1075 from yuriks/ControlMem-fixes
Fix heap-management regressions
2015-08-27 19:43:55 -04:00
Yuri Kunde Schlesner c5a4025b65 Merge pull request #1065 from yuriks/shader-fp
Shader FP compliance fixes
2015-08-27 16:34:13 -07:00
bunnei f3cef178e3 gl_rasterizer_cache: Detect and ignore unnecessary texture flushes. 2015-08-27 19:07:53 -04:00
aroulin f52d8c1a9b Shader JIT: Fix float to integer rounding in MOVA
MOVA converts new address register values from floats to integers using truncation
2015-08-27 15:26:41 +02:00