Commit graph

3123 commits

Author SHA1 Message Date
Mathew Maidment
9fe5afd035 Merge pull request #1287 from lioncash/memory
dyncom: Minor changes
2015-12-23 04:56:04 -05:00
Lioncash
0908f894ca 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
af6acb3432 Merge pull request #1289 from yuriks/reset-rasterizer
VideoCore: Sync state after changing rasterizers
2015-12-20 18:01:59 -08:00
Yuri Kunde Schlesner
b7109a1113 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
2f0474efa5 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
Yuri Kunde Schlesner
81fe236873 Merge pull request #1281 from lioncash/compile
svc: Fix compilation with LOG_TRACE enabled
2015-12-13 12:53:30 -08:00
Lioncash
00ca148685 svc: Fix compilation with LOG_TRACE enabled 2015-12-12 18:14:36 -05:00
Yuri Kunde Schlesner
10a89e10ca 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
0545d2f2f3 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
e73547de5b 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
102d39fe20 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
bunnei
10d563fe38 Merge pull request #1271 from lioncash/dyncom-misc
dyncom: Miscellaneous minor changes
2015-12-07 16:24:08 -05:00
Yuri Kunde Schlesner
192829165a VideoCore: Rename HWRasterizer methods to be less confusing 2015-12-06 19:08:37 -08:00
Yuri Kunde Schlesner
c2526d440e OpenGL: Rename cache functions to better match what they actually do 2015-12-06 17:02:52 -08:00
Lioncash
8813673601 dyncom: Remove static keyword from header functions 2015-12-06 15:14:51 -05:00
Lioncash
0f083bdf0f arm_interface: Make GetNumInstructions const 2015-12-06 15:07:59 -05:00
Lioncash
dd441a3dd6 arm_interface: directly initialize class members 2015-12-06 15:07:00 -05:00
Lioncash
93cd3dccc5 dyncom: const correctness changes 2015-12-06 15:03:06 -05:00
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
bunnei
03867dce7f Merge pull request #1261 from yuriks/tev-buffer-delay
PICA: Properly emulate 1-stage delay in the combiner buffer
2015-12-01 19:30:28 -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
58f19e689d Merge pull request #1257 from yuriks/svcGetSystemInfo
Kernel: Implement svcGetSystemInfo
2015-11-30 21:17:34 -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
Mathew Maidment
5aca5d4993 Merge pull request #1259 from lioncash/zero
armstate: Zero out the registers on creation
2015-11-29 16:40:22 -05: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
bunnei
548374be48 Merge pull request #1256 from archshift/refactor-scandir
Refactor ScanDirectoryTreeAndCallback to separate errors and retvals
2015-11-28 23:12:45 -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
31fd71db94 Merge pull request #1254 from bunnei/fix-gl-uniforms
renderer_opengl: Fix uniform issues with #1253
2015-11-25 22:43:28 -05:00
bunnei
4cbe626fc7 renderer_opengl: Fix uniform issues introduced with kemenaran/avoid-explicit-uniform-location. 2015-11-25 22:33:24 -05:00
bunnei
6f6b1aea3e Merge pull request #1253 from kemenaran/avoid-explicit-uniform-location
Use regular uniform location
2015-11-25 20:50:29 -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
bunnei
23bf1911e6 Merge pull request #1247 from polaris-/add-ssl-stubs
Add Initialize and GenerateRandomData function names to ssl:C
2015-11-22 13:38:29 -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
bunnei
ab32a303ae Merge pull request #1239 from wwylele/silent-vec-warning
Common: silence Vec warnings on msvc
2015-11-18 11:49: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
Tony Wasserka
ced4656f90 Merge pull request #1238 from citra-emu/neobrain-rtti
Enable RTTI on Windows builds.
2015-11-12 17:19:38 +01:00
Tony Wasserka
72d767c35a Enable RTTI on Windows builds. 2015-11-12 16:07:49 +01:00