Subv
c94a1a0375
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
30c70c905f
OpenGL: Flip framebuffers during transfer rather than when rendering
2015-12-04 22:23:39 -08:00
Yuri Kunde Schlesner
8e478d8b99
OpenGL: Add support for glFrontFace in the state tracker
2015-12-04 21:58:26 -08:00
bunnei
3a96788f4f
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
7b9807c835
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
5bed732b03
Kernel: Implement svcGetSystemInfo
...
This makes smealum/ctrulib@b96dd51d33 work
with Citra.
2015-11-30 19:49:44 -08:00
Lioncash
af06eaf78d
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
a84d5aa51e
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
ae854d124f
Merge pull request #1225 from lioncash/clean
...
csnd_snd: Get rid of type punning
2015-11-28 23:32:05 -05:00
archshift
6e66a1244e
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
4cbe626fc7
renderer_opengl: Fix uniform issues introduced with kemenaran/avoid-explicit-uniform-location.
2015-11-25 22:33:24 -05:00
Pierre de La Morinerie
1c196456f0
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
56f3db72cb
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
092d5b04ec
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-
18990ff322
Add stub functions for Initialize and GenerateRandomData in ssl:C
2015-11-22 16:54:51 -05:00
bunnei
2b68cf07c7
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-
7603ea3da1
Add Initialize and GenerateRandomData stubs
2015-11-22 09:27:46 -05:00
polaris-
ec1195c252
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
9be370a2cf
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
9acdb1e7f2
FragShader: Use an UBO instead of several individual uniforms
2015-11-18 21:03:56 -05:00
wwylele
8b6d444dd1
fix failure on gcc and clang
2015-11-12 20:39:30 +02:00
wwylele
3b7cbb25e3
disable unary minus when the type is not signed
...
silent warning C4146 on msvc
2015-11-12 20:39:28 +02:00
bunnei
5f52cec725
Merge pull request #1122 from polaris-/gdbstub
...
gdbstub implementation
2015-11-11 23:21:31 -05:00
Subv
b797ef4d9a
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-
505489551d
Fix bug with reading addresses and lengths
2015-11-03 21:50:53 -05:00
polaris-
fd7f61becf
Change headers
2015-10-29 06:17:29 -04:00
Lioncash
1349faf744
csnd_snd: Get rid of type punning
2015-10-28 16:10:21 -04:00
bunnei
58857f832e
Merge pull request #1165 from esoteric-programmer/master
...
Added CSND_ExecuteType0Commands stub.
2015-10-28 15:19:13 -04:00
Matthias Ernst
5c7881c4a3
Added CSND stub.
2015-10-28 19:04:01 +01:00
bunnei
62c57400e8
Merge pull request #1208 from archshift/free-bytes
...
Implement FS_User::GetFreeBytes
2015-10-28 11:30:25 -04:00
archshift
5da25ae7d0
Implement FS_User::GetFreeBytes
2015-10-27 23:33:59 -07:00
Filiph Sandström
23e1121337
Fix copy paste
2015-10-24 13:17:04 +02:00
Emmanuel Gil Peyrot
705dd2b552
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
d248fba5e3
Fix wrong branch
2015-10-23 23:58:54 +02:00
Filiph Sandström
29077f65a2
Add GetTotalStepCount Stub
2015-10-23 23:52:13 +02:00
Filiph Sandström
bf5793c2f8
Update ptm.h
2015-10-23 23:50:51 +02:00
bunnei
5559dad63d
Merge pull request #1209 from wwylele/file-path-encoding
...
citra-qt: Change file path encoding
2015-10-22 22:41:39 -04:00
polaris-
ac325ce61a
Add some headers so TravisCI will hopefully work
2015-10-22 00:31:49 -04:00
polaris-
f4520eb266
Use CHAR_BIT instead of 8
2015-10-22 00:19:44 -04:00
polaris-
4e0ae45d99
Handle changes pointed out in comments on PR
2015-10-22 00:11:25 -04:00
bunnei
b7b11eb5e7
gl_shader_gen: Use explicit locations for vertex shader attributes.
2015-10-21 22:29:56 -04:00
bunnei
1eb1fd06d1
gl_shader_gen: Optimize code for AppendAlphaTestCondition.
...
- Also add a comment to AppendColorCombiner.
2015-10-21 22:29:56 -04:00
bunnei
7bad07b3ef
gl_rasterizer: Define enum types for each vertex texcoord attribute.
2015-10-21 21:59:47 -04:00
bunnei
4175a09b7d
gl_shader_gen: Various cleanups to shader generation.
2015-10-21 21:59:44 -04:00
bunnei
2fd9b1999f
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
61b33d7266
gl_shader_gen: Require explicit uniform locations.
...
- Fixes uniform issue on AMD.
2015-10-21 21:54:56 -04:00
bunnei
aa1dec1953
gl_shader_gen: Rename 'o' to 'attr' in vertex/fragment shaders.
2015-10-21 21:53:19 -04:00
bunnei
3ed0610e5d
gl_shader_gen: AppendAlphaModifier default should be 0.0, not vec4(0.0).
2015-10-21 21:53:18 -04:00
bunnei
e69743a943
gl_shader_gen: Fix bug where TEV stage outputs should be clamped.
2015-10-21 21:53:18 -04:00
bunnei
589d3e2e20
gl_rasterizer: Add documentation to ShaderCacheKey.
2015-10-21 21:53:17 -04:00
bunnei
06d9c2795c
gl_shader_gen: Add additional function documentation.
2015-10-21 21:53:17 -04:00
bunnei
711a23b8ca
gl_shader_util: Cleanup header file + add docstring.
2015-10-21 21:53:16 -04:00
bunnei
d8eca2f795
gl_shader_gen: Various cleanups + moved TEV stage generation to its own function.
2015-10-21 21:53:16 -04:00
bunnei
eefabd6b7d
renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.
2015-10-21 21:53:14 -04:00
bunnei
44a1dcc088
gl_rasterizer: Move logic for creating ShaderCacheKey to a static function.
2015-10-21 21:53:05 -04:00
bunnei
05e11e151d
gl_shader_util: Use vec3 constants for AppendColorCombiner.
2015-10-21 21:51:24 -04:00
bunnei
a81772552c
gl_rasterizer: Fix typo in uploading TEV const color uniforms.
2015-10-21 21:51:24 -04:00
bunnei
9722d39bc5
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
8733dd568d
Initial implementation of fragment shader generation with caching.
2015-10-21 21:51:23 -04:00
polaris-
37b35180c5
Add a register variable to loops
2015-10-21 07:45:35 -04:00
polaris-
6c4f45627c
Update register read loops to go with last commit
2015-10-21 07:40:30 -04:00
polaris-
86a42ff827
Pad responses to gdb for VFP registers
2015-10-21 07:19:03 -04:00
polaris-
82f537482d
Try to add support for VFP registers
2015-10-21 07:14:43 -04:00
polaris-
0de246f668
Fix buffer overflow comments
2015-10-21 06:49:49 -04:00
wwylele
91874459b3
change file path encoding to Local8bit()
...
to support non-latin characters
2015-10-20 20:58:23 +03:00
bunnei
6793fd7899
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
030fabe840
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
7de1f406b8
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
b95e88c55d
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
2754ac64b7
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-
6621f16576
Remove unnecessary new lines, changed Deinit to Shutdown
2015-10-11 20:07:58 -04:00
Gareth Poole
780fd6247f
Loader: Change NCCH header types to be explicitly little-endian
2015-10-10 22:35:22 -04:00
Gareth Poole
1874d33c0b
Loader: Implement encryption check
2015-10-10 22:34:17 -04:00
bunnei
d52e81d425
Merge pull request #1194 from linkmauve/no-newline
...
Remove newlines in LOG_* calls
2015-10-10 14:42:17 -04:00
Emmanuel Gil Peyrot
b0c7762520
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
cfeae1a4f5
Fixed spelling errors
2015-10-09 17:09:52 -04:00
bunnei
f172b66738
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
c157d4ddd6
Silence -Wsign-compare warnings.
2015-10-06 22:16:15 -05:00
archshift
df14491cf3
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
831cb390ae
citra-qt: Fix mouse events coordinates on high-DPI screens
2015-10-04 23:11:05 +02:00
Pierre de La Morinerie
11e08f4d23
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
3e2b782f5f
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-
8205925b08
Use BreakpointAddress struct instead of passing address directly
2015-10-04 11:22:31 -04:00
polaris-
f808a4307d
Toggle use_gdbstub in citra GLFW
2015-10-04 11:22:07 -04:00
polaris-
1d319e5b46
Implement gdbstub
2015-10-04 11:16:59 -04:00
bunnei
4d5cf75d8d
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
bc1663cbb8
Merge pull request #1095 from archshift/game-list
...
Initial implementation of a game list
2015-10-01 23:35:19 -04:00
archshift
dfaed461ff
Game list: save and load column sizes, sort order, to QSettings
2015-10-01 19:39:15 -07:00
archshift
7b1025c819
Add menu item for selecting the game list folder
2015-10-01 19:39:14 -07:00
archshift
6da3f4480e
Initial implementation of a game list
2015-10-01 19:39:14 -07:00
archshift
cad06d5d41
Add helper function for creating a readable byte size string.
2015-10-01 19:39:14 -07:00
archshift
eb41ca3d00
Don't show render window until a game is started
2015-10-01 19:39:14 -07:00
Lioncash
03af08ae81
bit_field: Re-enable code on MSVC
2015-10-01 15:43:42 -04:00
bunnei
00238a02b0
Merge pull request #1180 from lioncash/symbol
...
symbols: Minor changes
2015-10-01 11:20:21 -04:00
archshift
7b96bd3136
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
976a199623
Expose loader helper functions for identifying files.
2015-09-30 21:04:47 -07:00
Lioncash
84a0b184f5
symbols: Replace an insert call with emplace
2015-09-30 11:55:58 -04:00
Lioncash
3564f8ae6f
symbols: Get rid of initial underscores in variable names
2015-09-30 11:54:44 -04:00
Lioncash
7b63b5f819
symbols: Directly initialize TSymbol members
2015-09-30 11:53:01 -04:00
Lioncash
d5071c2b9a
symbols: Simplify GetSymbol
2015-09-30 11:51:06 -04:00
bunnei
5fb9ab82fd
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
42e88c9a16
ivfc_archive: Fix a printf specifier
2015-09-30 08:19:42 -04:00
Emmanuel Gil Peyrot
918f616a46
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
9d8aeef475
Merge pull request #1172 from martinlindhe/fix-warnings
...
Fix some xcode 7 (llvm) warnings
2015-09-29 22:00:27 -04:00
Martin Lindhe
b36b9d6923
fix some xcode 7.0 warnings
2015-09-29 23:11:09 +02:00
LittleWhite
c5dedacaff
Fix for the refresh issue when no rendering is done
2015-09-24 21:48:41 +02:00
bunnei
4a07e855cd
Merge pull request #1160 from lioncash/clang
...
Silence some clang warnings
2015-09-21 21:29:55 -04:00
bunnei
8a434a954e
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
aad98addf2
Implement 3dsx RomFS
2015-09-21 13:03:18 -04:00
polaris-
021fab70ac
Implement gdbstub
2015-09-19 22:28:02 -04:00
Kloen
98aa9421db
citra-qt: Fix connect error on startup
2015-09-18 11:36:59 +02:00
Lioncash
2c2f1250d2
hash: Get rid of unused functions
2015-09-16 08:54:28 -04:00
Lioncash
08147474cb
general: Silence some warnings when using clang
2015-09-16 08:51:53 -04:00
Yuri Kunde Schlesner
318429ff53
Service/CFG: Add default entry for block 0x000A0001 (birthday)
2015-09-14 17:39:52 -03:00
Yuri Kunde Schlesner
6b451adbf2
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
737572c283
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
6a8deb9b91
Fix narrowing conversion warning
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner
9a28ef260b
Service/CFG: Move several private types from the header to the cpp
2015-09-14 17:39:49 -03:00
Yuri Kunde Schlesner
8fa38e6011
Service/CFG: Clean up default block creation
2015-09-14 17:39:48 -03:00
Yuri Kunde Schlesner
d309230ccc
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
2131d2309a
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
222d77c31a
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
f28802e883
memory_util: Remove unnecessary assignment in FreeMemoryPages
2015-09-11 23:16:34 -04:00
Lioncash
36c2bedcd8
memory_util: Remove commented out printf statements
2015-09-11 23:12:28 -04:00
Lioncash
1ab765ff61
general: Replace 0 literals with nullptr where applicable
2015-09-11 23:11:01 -04:00
Lioncash
82efda5aaf
synchronized_wrapper: Add missing return in SynchronizedRef move assignment operator
2015-09-11 22:00:21 -04:00
Yuri Kunde Schlesner
79e63380bd
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
a60cb41964
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
c483ea3ea9
Merge pull request #1142 from lioncash/hdrqt
...
citra_qt: Reorganize headers
2015-09-11 18:17:24 -03:00
Yuri Kunde Schlesner
39109851c5
Merge pull request #1143 from lioncash/vcore-hdr
...
video_core: Reorganize headers
2015-09-11 18:17:02 -03:00
Lioncash
c9aecc0404
graphics_breakpoints_p: Add missing override specifier
2015-09-11 16:32:02 -04:00
Lioncash
5c77b656b8
General: Replace NULL and '0' usages with nullptr where applicable
2015-09-11 14:59:49 -04:00
bunnei
a923570acf
Merge pull request #1144 from lioncash/remove
...
common: Get rid of debug_interface.h
2015-09-11 09:47:36 -04:00
Lioncash
ad57b24255
common: Get rid of a cast in swap.h
2015-09-11 08:54:33 -04:00
Lioncash
75b3e911ec
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
2cd98a45cb
video_core: Reorganize headers
2015-09-11 07:31:15 -04:00
Lioncash
0638df7136
citra_qt: Reorganize headers
2015-09-11 00:57:24 -04:00
Lioncash
c95206abdd
video_core: Remove unnecessary includes from headers
2015-09-11 00:10:03 -04:00
Yuri Kunde Schlesner
13310a9b26
Merge pull request #1130 from lioncash/block
...
memory: Get rid of pointer casts
2015-09-10 18:05:24 -03:00
bunnei
4d6cd8e7b4
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
dc51bb8df1
Merge pull request #1136 from lioncash/proto
...
renderer_opengl: Remove unimplemented function declaration
2015-09-10 11:29:33 -04:00
bunnei
8d08a24e9b
Merge pull request #1137 from lioncash/doc
...
General: Fix up doxygen comments
2015-09-10 11:29:16 -04:00
Lioncash
54fa043c92
General: Fix up doxygen comments
2015-09-10 11:20:21 -04:00
Lioncash
a56b8437e6
renderer_opengl: Remove unimplemented function declaration
2015-09-10 10:45:44 -04:00
Lioncash
1d7a9c8752
video_core: Remove unused variables
2015-09-10 10:26:21 -04:00
Yuri Kunde Schlesner
0a72f8446b
Merge pull request #1131 from lioncash/uninit
...
y2r: Give local variables an initial value
2015-09-10 01:21:58 -03:00
Lioncash
b69c9fd82b
gl_rasterizer: Replace push_back calls with emplace_back in AddTriangle
2015-09-10 00:20:30 -04:00
Lioncash
9f37facda2
memory: Get rid of pointer casts
2015-09-10 00:09:55 -04:00
Lioncash
62c80d9331
disk_archive: Remove unimplemented constructor declarations
2015-09-09 23:49:03 -04:00
Lioncash
42f3cbb213
y2r: Give local variables an initial value
...
Keeps compilers/static analyzers quiet.
2015-09-09 23:38:55 -04:00
Yuri Kunde Schlesner
e351e56465
CMake: Add option to download Qt and GLFW binaries over HTTP
2015-09-08 19:35:12 -03:00
Yuri Kunde Schlesner
c1b3177248
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
40e1b07b68
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
5f59563a28
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
f0b46ec853
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
2c6071b3bc
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
65b26655ac
Shader Debugger: Allow editing of input vertex data
2015-09-07 16:46:31 -03:00
Yuri Kunde Schlesner
1b79a72723
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
5dd7b48297
Shader Debugger: Remove useless signal
2015-09-07 16:46:30 -03:00
Yuri Kunde Schlesner
43ba2134d4
Shader Debugger: Fix only first vertex attribute being loaded
2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner
c1bdf33021
Shader Debugger: Fix freeze when double-clicking shader disassembly
2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner
8d415842f3
Shader Debugger: Improve space efficiency of the layout
2015-09-07 16:46:28 -03:00
Yuri Kunde Schlesner
db791bc10e
Shader Disassembly: Fix printing of jump offsets
2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner
968518e740
Shader Disassembly: Fix disassembly of IFU/CALLU instructions
2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner
21c8b3c305
Shader Disassembly: Implement support for MAD/MADI
2015-09-07 16:46:26 -03:00
Yuri Kunde Schlesner
5752fbdaa3
Shader Disassembly: Introduce variables to hold common subexpressions
2015-09-07 16:46:25 -03:00
Yuri Kunde Schlesner
3e2dc6f659
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
8b76af8d0e
Shader Disassembly: Cleanup code and improve output alignment
2015-09-07 16:46:23 -03:00
Kloen
0f0ef03bf6
citra-qt: Use monospace font on Disassembler and ARM Registers
2015-09-07 21:02:45 +02:00
LittleWhite
f8f97c3da1
Stop emulation when render window is closed
2015-09-07 20:34:39 +02:00
aroulin
964fa561c5
Shader JIT: Use SCALE constant from emitter
2015-09-07 16:50:28 +02:00
aroulin
f588077bbb
Shader: Fix size_t to int casts of register offsets
2015-09-07 16:50:28 +02:00
Lioncash
8da17cb2b3
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
358f54fa1d
DynCom: Converted all 0xE condition code checks to ConditionCode::AL
2015-09-05 22:24:42 -07:00
Yuri Kunde Schlesner
7f9a9f1339
OpenGL: Use Sampler Objects to decouple sampler config from textures
...
Fixes #978
2015-09-03 15:09:51 -03:00
Yuri Kunde Schlesner
def0e7f71f
OpenGL: Remove ugly and endian-unsafe color pointer casts
2015-09-03 15:09:51 -03:00
Yuri Kunde Schlesner
efc72d0a4a
OpenGL: Add support for Sampler Objects to state tracker
2015-09-03 15:09:50 -03:00
Yuri Kunde Schlesner
c42f680c75
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
2453064ccd
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
1eacf4a3d2
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
0b274a5ca5
Add cam:u service function names to its function table
2015-09-03 01:56:59 -07:00
bunnei
43266c052e
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
7019a4eaeb
video_core: Fix format specifiers warnings
2015-09-02 08:20:00 +02:00
aroulin
89a7c9068f
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
22bc3b66d3
Common: Import BitSet from Dolphin
2015-09-01 23:39:52 +02:00
bunnei
f4e3d89fdd
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
e80c88786e
Merge pull request #1083 from yuriks/microprofile-vs2015
...
Common: Fix MicroProfile compilation in MSVC2015
2015-08-31 21:20:36 -04:00
Tony Wasserka
c4eca8d513
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
f747cb94de
Pica: Added the primitive_restart register (0x25f) to the registers map.
2015-08-31 09:14:18 -05:00
Subv
018d0f8c8f
Pica: Add the vertex_offset register to the Pica registers map.
2015-08-31 07:02:30 -05:00
aroulin
36ef773fe7
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
70363eec82
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
ad61138359
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
546ffa0046
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
084c527a95
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
e5cc2e2ef0
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
e5bcc24426
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
d4266dd0ae
Merge pull request #1049 from Subv/stencil
...
Rasterizer: Corrected the stencil implementation.
2015-08-29 20:06:25 -04:00
Subv
3334ae7b74
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
b5ae1497e6
Common: Fix MicroProfile compilation in MSVC2015
2015-08-28 06:12:12 -03:00
Yuri Kunde Schlesner
6bef26d764
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
3b600b3498
Merge pull request #1075 from yuriks/ControlMem-fixes
...
Fix heap-management regressions
2015-08-27 19:43:55 -04:00
Yuri Kunde Schlesner
698a15f0e3
Merge pull request #1065 from yuriks/shader-fp
...
Shader FP compliance fixes
2015-08-27 16:34:13 -07:00
bunnei
3cc5b3c4ad
gl_rasterizer_cache: Detect and ignore unnecessary texture flushes.
2015-08-27 19:07:53 -04:00
aroulin
2c48cd4b6c
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
Yuri Kunde Schlesner
990ff3f241
Kernel: Fix assertion failure when ControlMemory is called with size=0
2015-08-26 21:29:05 -03:00
Yuri Kunde Schlesner
b9b540a222
Core: Improve APT Shared Font hack
...
Should fix invalid read loops in some games
2015-08-26 21:28:58 -03:00
bunnei
eff02466f7
Merge pull request #1074 from lioncash/bool
...
dyncom: Minor changes to CondPassed
2015-08-26 18:44:52 -04:00
archshift
89241b3e89
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.
2015-08-26 22:28:19 +00:00
Lioncash
3fb10e8f62
dyncom: Simplify some comparisons in CondPassed
2015-08-26 00:10:23 -04:00
Lioncash
f8425c3dad
dyncom: Change return type of CondPassed to bool
2015-08-25 23:59:01 -04:00
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