Commit graph

2737 commits

Author SHA1 Message Date
bunnei
085c8f2987 Merge pull request #1310 from lioncash/services
services: Update some function tables
2015-12-30 21:30:07 -05:00
bunnei
54bdba750a Merge pull request #1316 from lioncash/decode
arm_dyncom_dec: Fix decoding of VMLS
2015-12-30 21:29:35 -05:00
Lioncash
532dc797c9 arm_dyncom_dec: Fix decoding of VMLS
Previously, all VMLS variants would misdecode as CDP
(which isn't necessarily wrong in itself, however
VMLS has it's own label of execution)
2015-12-30 14:23:07 -05:00
Lioncash
744f4af3ab services: Update some function tables 2015-12-30 11:29:21 -05:00
Lioncash
5e17a586da video_core: Make the renderer global a unique_ptr 2015-12-30 08:52:01 -05:00
bunnei
4bc961d5fd Merge pull request #1306 from Subv/sync
HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered
2015-12-29 22:36:29 -05:00
bunnei
8a24214b46 Merge pull request #1303 from lioncash/unique
core: Use unique_ptr for holding the interpreter instances
2015-12-29 22:34:32 -05:00
Subv
6cccc36505 HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered.
Closes #1139
2015-12-29 20:35:25 -05:00
Lioncash
97dc9634a2 swrasterizer: Add missing override specifier 2015-12-29 18:35:38 -05:00
Lioncash
cee8df6ff0 core: Use unique_ptr for holding the interpreter instances 2015-12-29 18:03:08 -05:00
bunnei
73740d74ed Merge pull request #1300 from Subv/arbitrateaddress
SVC: Fixed ArbitrateAddress to behave as it does on hardware.
2015-12-28 22:23:51 -05:00
Lioncash
fddfe946c8 dyncom: Handle modifying the APSR via an MRC instruction 2015-12-28 07:52:04 -05:00
Subv
29032ce9b6 SVC: Fixed ArbitrateAddress to behave as it does on hardware.
This was verified with hwtests that i plan to upload later on.
2015-12-27 18:44:42 -05:00
bunnei
8f39297c53 Merge pull request #1296 from lioncash/warn
svc: Remove superfluous printf argument
2015-12-27 16:19:48 -05:00
bunnei
40599c24ea Merge pull request #1290 from LFsWang/master
Add a return value in ForeachDirectoryEntry
2015-12-27 16:18:43 -05:00
Lioncash
270cbb0119 svc: Remove superfluous printf argument 2015-12-25 14:21:45 -05:00
Subv
282f2c8042 HLE/Sockets: Fixed the buffer offset in recvfrom.
Closes #1277
2015-12-24 09:19:27 -05:00
Mathew Maidment
031443199b Merge pull request #1287 from lioncash/memory
dyncom: Minor changes
2015-12-23 04:56:04 -05:00
LFsWang
8376821776 Add missing return values in ForeachDirectoryEntry
ForeachDirectoryEntry is changed by #1256 ,but return value at last line
was missing.
2015-12-23 16:26:38 +08:00
Lioncash
d09b7a3c12 dyncom: Remove PC dispatch from several instructions
These instructions aren't capable of using the PC as a destination
2015-12-20 21:19:02 -05:00
Yuri Kunde Schlesner
015d7b9779 VideoCore: Sync state after changing rasterizers
This fixes various bugs that appear in the HW rasterizer after switching
between it and the SW one during emulation.
2015-12-20 17:37:15 -08:00
Lioncash
5a531d7ec2 dyncom: Handle unprivileged load/store variants correctly
LDRT/LDRBT/STRBT/STRT should simulate the load or store
as if the host CPU is in user mode.

STRT is also allowed to use the PC as an operand
2015-12-19 19:05:50 -05:00
Lioncash
84afaaa10c svc: Fix compilation with LOG_TRACE enabled 2015-12-12 18:14:36 -05:00
Yuri Kunde Schlesner
402692c08d Merge pull request #1267 from yuriks/flipped-framebuffer
OpenGL: Flip framebuffers during transfer rather than when rendering
2015-12-09 20:35:15 -08:00
bunnei
3013f26d70 Merge pull request #1269 from Subv/triangle_fan
GPU/PrimitiveAssembler: Fixed drawing triangle fans.
2015-12-08 10:27:40 -05:00
Yuri Kunde Schlesner
31764c48fb Merge pull request #1272 from yuriks/merge-rasterizer
VideoCore: Unify interface to OpenGL and SW rasterizers
2015-12-07 20:21:06 -08:00
Yuri Kunde Schlesner
195fedccf0 VideoCore: Unify interface to OpenGL and SW rasterizers
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
2015-12-07 20:20:38 -08:00
Yuri Kunde Schlesner
03835d04f4 VideoCore: Rename HWRasterizer methods to be less confusing 2015-12-06 19:08:37 -08:00
Yuri Kunde Schlesner
da80ece8b9 OpenGL: Rename cache functions to better match what they actually do 2015-12-06 17:02:52 -08:00
Lioncash
56e22e6aac dyncom: Remove static keyword from header functions 2015-12-06 15:14:51 -05:00
Lioncash
1ea0702eaa arm_interface: Make GetNumInstructions const 2015-12-06 15:07:59 -05:00
Lioncash
de9a625c7e arm_interface: directly initialize class members 2015-12-06 15:07:00 -05:00
Lioncash
d03e7f08ff dyncom: const correctness changes 2015-12-06 15:03:06 -05:00
Subv
7b33e163b9 GPU/PrimitiveAssembler: Fixed drawing triangle fans.
It was skipping the second vertex assignment and using uninitialized garbage when assembling the corresponding triangle.
2015-12-06 10:48:05 -05:00
Yuri Kunde Schlesner
cf81e08389 OpenGL: Flip framebuffers during transfer rather than when rendering 2015-12-04 22:23:39 -08:00
Yuri Kunde Schlesner
95dbc6eb0e OpenGL: Add support for glFrontFace in the state tracker 2015-12-04 21:58:26 -08:00
bunnei
87df493b5b Merge pull request #1252 from Subv/cam
Services/Cam: Added new log type and camera enums from 3dbrew.
2015-12-03 22:01:45 -05:00
Yuri Kunde Schlesner
e9c209ccc8 PICA: Properly emulate 1-stage delay in the combiner buffer
This was discovered and verified by @fincs. The tev combiner buffer
actually lags behind by one stage, meaning stage 1 reads the initial
color, stage 2 reads stage 0's output, and so on.

Fixes character portraits in Fire Emblem: Awakening and world textures
in Zelda: ALBW. Closes #1140.
2015-11-30 22:45:18 -08:00
Yuri Kunde Schlesner
84a22cb594 Kernel: Implement svcGetSystemInfo
This makes smealum/ctrulib@b96dd51d33 work
with Citra.
2015-11-30 19:49:44 -08:00
Lioncash
5e2b66d2a4 armstate: Zero out the registers on creation
std::array isn't always guaranteed to explicitly zero out it's contents
without an initializer list.
2015-11-29 15:16:34 -05:00
Subv
1d02eb0587 Core/ARM11: Correct the size of the VFP register array in the ThreadContext structure.
The VFP registers are 64 bits each, and there are 32 of them.
2015-11-29 13:06:45 -05:00
bunnei
e906165229 Merge pull request #1225 from lioncash/clean
csnd_snd: Get rid of type punning
2015-11-28 23:32:05 -05:00
archshift
b3cfcf55ea Refactor ScanDirectoryTreeAndCallback to separate errors and retvals
ScanDirectoryTreeAndCallback, before this change, coupled error/return
codes and actual return values (number of entries found). This caused
confusion and difficulty interpreting the precise way the function
worked.

Supersedes, and closes #1255.
2015-11-27 13:33:38 -08:00
bunnei
f008dfbaca renderer_opengl: Fix uniform issues introduced with kemenaran/avoid-explicit-uniform-location. 2015-11-25 22:33:24 -05:00
Pierre de La Morinerie
0735630744 Use regular uniform location
The support for GL_ARB_explicit_uniform_location is not that good
(53% according to http://feedback.wildfiregames.com/report/opengl/feature/GL_ARB_explicit_uniform_location).

This fix the shader compilation on Intel HD 4000 (#1222).
2015-11-25 11:56:11 +01:00
bunnei
c642dc459b Merge pull request #1248 from polaris-/add-ssl-stubs
Add stub functions for Initialize and GenerateRandomData in ssl:C
2015-11-24 16:15:21 -05:00
Subv
434ae89a6a Services/Cam: Added new log type and camera enums from 3dbrew.
Followup to #1102
Original author @mailwl
2015-11-23 17:17:28 -05:00
polaris-
4179e91baf Add stub functions for Initialize and GenerateRandomData in ssl:C 2015-11-22 16:54:51 -05:00
bunnei
78b0d9c8b0 Merge pull request #1246 from polaris-/patch-1
Fix read and write register blocks in gdbstub
2015-11-22 13:38:50 -05:00
polaris-
912e53323d Add Initialize and GenerateRandomData stubs 2015-11-22 09:27:46 -05:00
polaris-
2732ec758d Fix read and write register blocks in gdbstub
Previously, the padding wasn't correctly accounted for which caused the gdbstub to read and write everything after R15 (starting with the dummy FPA registers) incorrectly, which caused CPSR to not be handled correctly. Everything appears to be working as expected with this change.
2015-11-22 07:48:26 -05:00
bunnei
ac829f87e0 Merge pull request #1237 from Subv/ubos
Shaders: Use UBOs instead of individual uniforms in the generated frag shaders
2015-11-18 22:20:12 -05:00
Subv
823ce62f2f FragShader: Use an UBO instead of several individual uniforms 2015-11-18 21:03:56 -05:00
wwylele
1f89d5d184 fix failure on gcc and clang 2015-11-12 20:39:30 +02:00
wwylele
8de154893c disable unary minus when the type is not signed
silent warning C4146 on msvc
2015-11-12 20:39:28 +02:00
bunnei
43bb29edc5 Merge pull request #1122 from polaris-/gdbstub
gdbstub implementation
2015-11-11 23:21:31 -05:00
Subv
7a37dba75b GPU/Loaders: Log an error when a loader tries to load from a component beyond the available ones (12).
Related to #1170
2015-11-09 21:16:11 -05:00
polaris-
bcea959910 Fix bug with reading addresses and lengths 2015-11-03 21:50:53 -05:00
polaris-
b6422038b5 Change headers 2015-10-29 06:17:29 -04:00
Lioncash
a1bd909294 csnd_snd: Get rid of type punning 2015-10-28 16:10:21 -04:00
bunnei
7c12ee9ecc Merge pull request #1165 from esoteric-programmer/master
Added CSND_ExecuteType0Commands stub.
2015-10-28 15:19:13 -04:00
Matthias Ernst
3d89e0a94c Added CSND stub. 2015-10-28 19:04:01 +01:00
bunnei
af26b7a0bc Merge pull request #1208 from archshift/free-bytes
Implement FS_User::GetFreeBytes
2015-10-28 11:30:25 -04:00
archshift
5dfd2dba70 Implement FS_User::GetFreeBytes 2015-10-27 23:33:59 -07:00
Filiph Sandström
a06a32c05d Fix copy paste 2015-10-24 13:17:04 +02:00
Emmanuel Gil Peyrot
53df67376d OpenGL: Log GL_KHR_debug messages we receive
This allows the driver to communicate errors, warnings and improvement
suggestions about our usage of the API.
2015-10-24 02:30:51 +01:00
Filiph Sandström
0c84d59a27 Fix wrong branch 2015-10-23 23:58:54 +02:00
Filiph Sandström
844b9970b4 Add GetTotalStepCount Stub 2015-10-23 23:52:13 +02:00
Filiph Sandström
f61c9da7d3 Update ptm.h 2015-10-23 23:50:51 +02:00
bunnei
8c385a3fc6 Merge pull request #1209 from wwylele/file-path-encoding
citra-qt: Change file path encoding
2015-10-22 22:41:39 -04:00
polaris-
a7eb6a4045 Add some headers so TravisCI will hopefully work 2015-10-22 00:31:49 -04:00
polaris-
45ed9e7e5e Use CHAR_BIT instead of 8 2015-10-22 00:19:44 -04:00
polaris-
a5ab8accc2 Handle changes pointed out in comments on PR 2015-10-22 00:11:25 -04:00
bunnei
74186a5f01 gl_shader_gen: Use explicit locations for vertex shader attributes. 2015-10-21 22:29:56 -04:00
bunnei
e663f5c914 gl_shader_gen: Optimize code for AppendAlphaTestCondition.
- Also add a comment to AppendColorCombiner.
2015-10-21 22:29:56 -04:00
bunnei
e7b1f2ae0a gl_rasterizer: Define enum types for each vertex texcoord attribute. 2015-10-21 21:59:47 -04:00
bunnei
0ebcff710e gl_shader_gen: Various cleanups to shader generation. 2015-10-21 21:59:44 -04:00
bunnei
240a3b80d9 gl_rasterizer: Use MMH3 hash for shader cache hey.
- Includes a check to confirm no hash collisions.
2015-10-21 21:58:59 -04:00
bunnei
71edb55114 gl_shader_gen: Require explicit uniform locations.
- Fixes uniform issue on AMD.
2015-10-21 21:54:56 -04:00
bunnei
5ef2df056d gl_shader_gen: Rename 'o' to 'attr' in vertex/fragment shaders. 2015-10-21 21:53:19 -04:00
bunnei
c2c4faef4c gl_shader_gen: AppendAlphaModifier default should be 0.0, not vec4(0.0). 2015-10-21 21:53:18 -04:00
bunnei
bd833b8dd8 gl_shader_gen: Fix bug where TEV stage outputs should be clamped. 2015-10-21 21:53:18 -04:00
bunnei
f2e7f7e101 gl_rasterizer: Add documentation to ShaderCacheKey. 2015-10-21 21:53:17 -04:00
bunnei
4b5141954e gl_shader_gen: Add additional function documentation. 2015-10-21 21:53:17 -04:00
bunnei
2a0a86f629 gl_shader_util: Cleanup header file + add docstring. 2015-10-21 21:53:16 -04:00
bunnei
a74774257e gl_shader_gen: Various cleanups + moved TEV stage generation to its own function. 2015-10-21 21:53:16 -04:00
bunnei
c86b9d4242 renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups. 2015-10-21 21:53:14 -04:00
bunnei
3c057bd3d8 gl_rasterizer: Move logic for creating ShaderCacheKey to a static function. 2015-10-21 21:53:05 -04:00
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