Yuri Kunde Schlesner
4bb33dfc30
Kernel: Convert SharedMemory to not use Handles
2015-01-30 11:47:04 -02:00
Yuri Kunde Schlesner
fc11aff955
Common: Fix SCOPE_EXIT to actually create unique identifiers.
2015-01-30 11:47:03 -02:00
Yuri Kunde Schlesner
afc416c607
Additions to ResultVal to make it more convenient to use.
2015-01-30 11:47:02 -02:00
Yuri Kunde Schlesner
b5ee4f9df9
Move VAddr/PAddr typedefs to kernel.h
2015-01-30 11:47:01 -02:00
Yuri Kunde Schlesner
9a345de2bd
Kernel: Remove useless/duplicated comments; mark functions static
2015-01-30 11:47:01 -02:00
bunnei
206cabc0e4
Merge pull request #412 from purpasmart96/svc_table_cleanup
...
SVC: Update the SVC function table
2015-01-28 17:36:23 -05:00
bunnei
b522cf4e6a
Pica: Implement color/alpha channel enable.
2015-01-27 22:03:34 -05:00
bunnei
b2c55bf772
Rasterizer: Implemented alpha testing.
2015-01-27 14:39:17 -05:00
Lioncash
7a3e371141
dyncom: Minor cleanup
...
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
2015-01-27 08:51:18 -05:00
purpasmart96
62f4365db1
SVC: Update the SVC function table
2015-01-26 20:42:28 -08:00
bunnei
326c451758
Merge pull request #345 from purpasmart96/apt_stubs
...
APT_U: Stub some functions & misc changes
2015-01-26 23:13:54 -05:00
bunnei
547737f720
Update vfp.cpp
...
VFP: Changed a debug log to trace.
2015-01-26 21:38:53 -05:00
bunnei
ff83d23ed5
GPU: Implement the remaining depth testing functions.
2015-01-25 23:34:14 -05:00
bunnei
e7dd4d34aa
Merge pull request #485 from Subv/more_servs
...
Services: Stubbed more services.
2015-01-25 22:13:13 -05:00
Subv
2ea60bdc7f
Services/HID: Removed some files due to a rebase error
2015-01-24 15:54:24 -05:00
Subv
c2e9990149
Services: Stubbed more services.
...
Implemented FSUser::CreateExtSaveData
2015-01-24 15:44:40 -05:00
bunnei
cc34462b71
Merge pull request #410 from chinhodado/cleanup
...
Cleanup: Logging in Core
2015-01-24 00:41:10 -05:00
Lioncash
e09fb7becc
vfp: Clean up vertical alignment for instructions
2015-01-23 13:35:08 -05:00
purpasmart96
2dd23b6467
APT_U: Stub some functions & misc changes
2015-01-22 16:03:48 -08:00
archshift
92a75df9b1
cam_u.h: fix indentation
...
Withholding my profanity towards Xcode.
2015-01-22 12:51:53 -08:00
bunnei
92550013cf
Merge pull request #493 from archshift/ptmplay
...
Stubbed some services
2015-01-22 13:25:19 -05:00
Lioncash
8810dfe1de
dyncom: Minor cleanup
...
Removes some unused macros and cleans up indentation inconsistencies
2015-01-22 09:39:41 -05:00
bunnei
731154f79e
WaitSynchronization: Added a result code for invalid result, fixed bug.
2015-01-21 20:49:43 -05:00
bunnei
68ddaaa2f5
Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.
2015-01-21 20:48:46 -05:00
bunnei
4255f25647
Thread: Use std::find in CheckWait_WaitObject.
2015-01-21 20:48:46 -05:00
bunnei
2f3020a102
Mutex: Cleanup and remove redundant code.
2015-01-21 20:48:36 -05:00
bunnei
f09806aed2
Kernel: Renamed some functions for clarity.
...
- ReleaseNextThread->WakeupNextThread
- ReleaseAllWaitingThreads->WakeupAllWaitingThreads.
2015-01-21 20:48:30 -05:00
bunnei
15b6a4d9ad
Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.
2015-01-21 20:47:49 -05:00
bunnei
c68eb15695
WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.
2015-01-21 20:47:49 -05:00
bunnei
69c5830ef2
Event: Fix implementation of "non-sticky" events.
2015-01-21 20:47:48 -05:00
bunnei
9e6ec3b6cd
Session: Change to a WaitObject.
2015-01-21 20:47:47 -05:00
bunnei
d2759c578e
Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.
2015-01-21 20:47:47 -05:00
bunnei
dde02f79af
Mutex: Fix a bug where the thread should not wait if it already has the mutex.
2015-01-21 20:47:46 -05:00
bunnei
9412996c8f
Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely.
2015-01-21 20:47:46 -05:00
bunnei
c06d64528a
SVC: Removed a Sleep that made no sense
...
- Would deadlock the calling thread
- Code would never get hit anyways
2015-01-21 20:47:45 -05:00
bunnei
254e4ebd58
AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.
2015-01-21 20:47:45 -05:00
bunnei
e5a9f1c644
Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.
2015-01-21 20:47:38 -05:00
bunnei
6deb1a0119
WaitSynchronizationN: Improved comments
2015-01-21 19:12:51 -05:00
bunnei
6643673f28
WaitSynchronizationN: Refactor to fix several bugs
...
- Separate wait checking from waiting the current thread
- Resume thread when wait_all=true only if all objects are available at once
- Set output to correct wait object index when there are duplicate handles
2015-01-21 19:11:47 -05:00
bunnei
aa01c57ae9
Kernel: Separate WaitSynchronization into Wait and Acquire methods.
2015-01-21 19:10:24 -05:00
bunnei
627e96fc15
WaitSynchronizationN: Handle case where handles=nullptr.
2015-01-21 19:09:10 -05:00
bunnei
f5c6d367c9
WaitSynchronizationN: Handle case where handle_count is invalid.
2015-01-21 19:09:09 -05:00
bunnei
064be2b86f
WaitSynchronizationN: Handle case where handle_count=0.
2015-01-21 19:09:09 -05:00
bunnei
7faf2d8e06
WaitSynchronizationN: Implement return values
2015-01-21 19:09:03 -05:00
bunnei
e4a5d8ad4f
Event: Fixed some bugs and cleanup (Subv)
2015-01-21 18:43:50 -05:00
bunnei
1f7a04f05a
Thread: Keep track of multiple wait objects.
2015-01-21 18:42:04 -05:00
bunnei
14cbbf4d9b
Event: Get rid of permanent_lock hack.
2015-01-21 18:42:04 -05:00
bunnei
5e77e2e1de
WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.
2015-01-21 18:41:58 -05:00
bunnei
c22bac6398
Kernel: Added WaitObject and changed "waitable" objects inherit from it.
2015-01-21 18:41:00 -05:00
archshift
1f109c6b49
Added HID_SPVR service and split HID_U implementation into service/hid/hid.xxx
2015-01-21 13:31:10 -08:00
archshift
a68dda6328
Stubbed cam:u service
2015-01-21 12:50:18 -08:00
archshift
7516ceaf93
Stubbed ptm:play service
2015-01-21 12:50:18 -08:00
Tony Wasserka
8946df97b5
Merge pull request #429 from Kingcom/titlebar
...
Add option to hide dock widget title bars
2015-01-20 23:17:42 +01:00
Kingcom
76c74ffc96
citra-qt: Add option to hide dock widget title bars
2015-01-20 22:50:24 +01:00
bunnei
8571befc64
Merge pull request #498 from lioncash/statics
...
core_timing: Mark several variables as static
2015-01-20 14:34:07 -05:00
Lioncash
a3f5e5605c
core: Fix a few docstrings
2015-01-20 13:52:44 -05:00
Lioncash
bfef0aa07e
core_timing: Mark several variables as static
...
These are only used in this translation unit.
2015-01-20 13:49:10 -05:00
bunnei
cbbe9e1500
Merge pull request #492 from archshift/apt
...
Expose GetSharedFont and NotifyToWait to APT:A and APT:S respectively
2015-01-20 12:55:53 -05:00
bunnei
205170fa62
Merge pull request #241 from linkmauve/better-loader
...
Improve the loader a bit
2015-01-20 12:55:28 -05:00
Lioncash
8c6edc680c
dyncom: Clarify precedence for ternary statements
2015-01-19 20:35:55 -05:00
bunnei
004b23153b
Merge pull request #494 from lioncash/shift
...
dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc
2015-01-19 16:42:31 -05:00
Chin
fa8e6272c8
Cleanup: Logging in Core
2015-01-19 16:01:06 -05:00
Lioncash
a873f157d0
dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc
2015-01-18 18:32:02 -05:00
bunnei
be8f665142
Merge pull request #383 from zhuowei/shared_page
...
Add some support for the shared page
2015-01-18 18:31:52 -05:00
archshift
4d316cbd8e
Expose GetSharedFont and NotifyToWait to APT:A and APT:S respectively
2015-01-18 15:15:14 -08:00
Lioncash
8575010a68
dyncom: Handle the ARM A2 encoding of STRT/LDRT
...
These were also missing the shifted register case.
2015-01-17 13:53:35 -05:00
Lioncash
0a5d450e94
dyncom: Handle the ARM A2 encoding of LDRBT/STRBT.
2015-01-16 21:05:27 -05:00
Zhuowei Zhang
edb8450420
Add some support for the shared page (currently 3d slider is implemented)
2015-01-15 22:16:13 -05:00
bunnei
2572a62480
APT: Fix typo in setting return code for NotifyToWait
2015-01-15 18:23:53 -05:00
bunnei
350c5a7e32
DSP: Removed useless spam log for SignalInterrupt
2015-01-15 18:20:58 -05:00
bunnei
4b47ed6194
Merge pull request #482 from yuriks/fix-vblank
...
Correctness fixes for GPU flipping and interrupts
2015-01-15 18:11:03 -05:00
Emmanuel Gil Peyrot
df0d66c7cf
Loader: Clean up the ELF AppLoader.
2015-01-15 22:23:08 +01:00
Emmanuel Gil Peyrot
84e52a944d
Loader: Clean up the 3DSX AppLoader.
2015-01-15 22:23:08 +01:00
Emmanuel Gil Peyrot
08aaa33500
Loader: Clean up the NCCH AppLoader.
2015-01-15 22:23:08 +01:00
Emmanuel Gil Peyrot
2c24e539a2
Loader: Display the type of the file being loaded.
2015-01-15 22:23:08 +01:00
Emmanuel Gil Peyrot
82ec17db7d
Loader: Guess filetype from the magic, or fallback to the extension.
2015-01-15 22:23:08 +01:00
Emmanuel Gil Peyrot
04622a859c
Loader: Don’t assume the file hasn’t been read before.
2015-01-15 22:23:07 +01:00
Emmanuel Gil Peyrot
b5237e885d
Loader: Keep a reference to the file and pass it to the correct AppLoader, instead of loading it multiple times.
2015-01-15 21:21:26 +00:00
Emmanuel Gil Peyrot
2d63df90a9
Loader: Initialize the default NCCH values in the class declaration, not in the constructor.
2015-01-15 21:21:26 +00:00
Emmanuel Gil Peyrot
9d3bb8b7c0
Loader: Remove the useless THREEDSXReader class.
2015-01-15 21:21:26 +00:00
Emmanuel Gil Peyrot
85030c6e6b
Loader: Never forget to change is_loaded.
2015-01-15 21:21:26 +00:00
Emmanuel Gil Peyrot
43e699d849
Loader: Don’t duplicate the docstring into the cpp file.
2015-01-15 21:21:26 +00:00
Emmanuel Gil Peyrot
bc2212106f
Loader: Fix indentation, whitespace, and a few other such cosmetic stuff.
2015-01-15 21:21:25 +00:00
bunnei
3ff5a80d46
Merge pull request #481 from Subv/hm_b
...
APTU: Stubbed NotifyToWait, taken from 3dmoo.
2015-01-14 21:39:49 -05:00
Sebastian Valle
fd1b600e05
APT: Fixed the comment style in some variables
2015-01-14 10:14:22 -05:00
bunnei
394d44cf74
Merge pull request #480 from Subv/arb_2
...
AddrArbiter: Implement arbitration types 3 and 4.
2015-01-14 10:04:33 -05:00
Yuri Kunde Schlesner
a09f71521e
GPU: Fix buffer overrun in Display Transfers
...
Display transfers with the horizontal downscaling flag were calculating
the wrong output size, causing them to write double the amount of data
intended. It is likely that this was perceived as correct due to a
separate bug in calculating source indices which caused the image to be
padded unless the previous bug was present.
This fixes both issues, correcting flickering issues in 3dscraft,
blargSnes and more (caused by the transfer overwriting the back buffer
which followed) as well as potentially fixing other crashes.
2015-01-14 05:20:14 -02:00
Yuri Kunde Schlesner
7630b31672
GSP: Fix appending of interrupts to the shared memory buffer
...
The code was previously appending the interrupt to after the end of the
buffer, instead of at the end.
2015-01-14 05:20:13 -02:00
Yuri Kunde Schlesner
9e084826b8
GPU: Do periodic VBlank updates using CoreTiming
2015-01-14 05:20:13 -02:00
Yuri Kunde Schlesner
e29dd76e12
GPU: Correct wrong default framebuffer address for sub-screen.
...
It appears this is a mistake, since the sub-screen has no right
framebuffer.
2015-01-14 05:20:13 -02:00
Yuri Kunde Schlesner
5961a2852d
GSP: Update framebuffer info on all interrupts
...
Hardware testing determined that the GSP processes shared memory
framebuffer update info even when no memory transfer or filling GX
commands are used. They are now updated on every interrupt, which isn't
confirmed correct but matches hardware behaviour more closely.
This also reverts the hack introduced in #404 . It made a few games
behave better, but I believe it's incorrect and also breaks other games.
2015-01-14 05:20:12 -02:00
Yuri Kunde Schlesner
98e3274935
GPU: Fire GPU interrupts at the correct places.
...
PDC0 and PDC1 are both VBlank interrupts. PDC0 was being treated as a
HBlank interrupt and fired many more times than it should. They now both
fire together at 60 Hz. This puzzlingly *improves* apparent framerate on
many applications.
A few other interrupts were being fired inside the GSP command
processing instead of on the actual GPU register writes, so they were
moved there, which should cover direct writes tho those registers not
going through the GX command queue.
2015-01-14 05:07:35 -02:00
Subv
728c932dba
APTU: Stubbed NotifyToWait, taken from 3dmoo.
...
Also renamed some handles in the APT:U service to be more descriptive.
Fixed a typo in InquireNotification
2015-01-13 19:18:10 -05:00
bunnei
93f36c49f7
Merge pull request #473 from archshift/pp3ports
...
Pica/Rasterizer: Add ETC1 texture decompression support.
2015-01-13 18:11:18 -05:00
Tony Wasserka
f2b74b4fb3
Pica/Rasterizer: Add ETC1 texture decompression support.
2015-01-13 14:42:40 -08:00
Subv
9e2ae289b8
AddrArbiter: Implement arbitration types 3 and 4.
2015-01-13 14:49:26 -05:00
Subv
cf071cd897
Services: Added some missing services.
...
cfg:s, ptm:sysm, apt:s.
apt:s is almost exactly the same as apt:u as per 3dbrew
2015-01-13 14:43:30 -05:00
bunnei
682e6bc8d9
Merge pull request #477 from lioncash/vfp
...
vfp: Remove dead code
2015-01-12 21:56:49 -05:00
bunnei
99c0716d4d
Merge pull request #478 from archshift/pp3ports4
...
Pica/VertexShader: Implement the MAD instruction.
2015-01-12 21:55:35 -05:00
bunnei
65c12d2430
Merge pull request #470 from archshift/master
...
Pica/VertexShader: Implement JMPC/JMPU/CALLC/CALLU.
2015-01-12 21:45:38 -05:00
Tony Wasserka
2b9a9a45b7
Pica/VertexShader: Implement JMPC/JMPU/CALLC/CALLU.
2015-01-12 15:47:21 -08:00
Tony Wasserka
e02db3904b
Pica/VertexShader: Implement the MAD instruction.
2015-01-12 15:34:36 -08:00
Lioncash
9288893d29
vfp: Remove dead code
2015-01-12 15:24:57 -05:00
Lioncash
f7770b83d4
dyncom: Fix 32-bit ASR shifts for immediates
2015-01-12 14:15:24 -05:00
Lioncash
e16b35eb53
dyncom: Remove unused flag macros
2015-01-12 12:57:15 -05:00
bunnei
3683369500
Merge pull request #461 from archshift/callstack
...
Qt Callstack: Clear the callstack every time it's updated
2015-01-12 10:35:45 -05:00
bunnei
f3a7b66267
Merge pull request #472 from lioncash/overflow
...
dyncom: Fix some more V-flag setting ops. Plus some cleanup.
2015-01-12 10:35:19 -05:00
Lioncash
2843d1b98b
dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop
2015-01-12 01:11:46 -05:00
Lioncash
3ace75a49f
dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC
...
Also cleans up CMN, and CMP.
2015-01-12 01:03:58 -05:00
archshift
d670b7e522
Qt Callstack: Clear the callstack every time it's updated
...
This fixes the issue that old members of the callstack would stick around, even when the callstack shortened.
2015-01-11 21:47:28 -08:00
Lioncash
9c2c89b7e1
dyncom: Add a helper function for addition with a carry
2015-01-12 00:44:28 -05:00
darkf
67c644e317
Fix building on MinGW
2015-01-11 20:22:08 -08:00
Lioncash
d2a05bbbc6
dyncom: Fix ADC overflow flag setting
2015-01-11 22:27:09 -05:00
bunnei
b33380ca59
Merge pull request #456 from Subv/waitsync1
...
SVC: Wake up the thread after the delay in WaitSync1
2015-01-11 18:52:09 -05:00
bunnei
1da04a72a2
Merge pull request #467 from lioncash/msr
...
dyncom: Fix conditional execution of MSR
2015-01-11 18:51:03 -05:00
Lioncash
eabfa5cf43
dyncom: Fix conditional execution of MSR
2015-01-11 18:45:45 -05:00
Tony Wasserka
f1080de47d
Merge pull request #437 from Kingcom/DebugMode
...
Replace OnCpuStepped signal
2015-01-11 21:28:18 +01:00
Kingcom
2bbc12e6c3
citra-qt: Replace OnCpuStepped signal by new signals DebugModeEntered and DebugModeLeft
2015-01-11 21:22:51 +01:00
bunnei
542b0b0057
Merge pull request #466 from Subv/wake
...
Thread: Prevent waking a thread multiple times.
2015-01-11 13:39:23 -05:00
Subv
b68d51ed30
Thread: Prevent waking a thread multiple times.
...
If a thread was woken up by something, cancel the wakeup timeout.
2015-01-11 13:18:52 -05:00
bunnei
63d05fca36
Merge pull request #457 from Subv/qt
...
citra-qt: Fixed some Qt errors on initialization
2015-01-11 10:59:53 -05:00
Subv
38da198aa1
SVC: Wake up the thread after the delay in WaitSync1
2015-01-11 10:42:59 -05:00
archshift
3b555e2512
Stubbed y2r:u IsBusyConversion
...
There is no documentation available on this function, but we set the result to false as a stub.
This allows Super Little Acorns to move all the way in game with pp3c.
2015-01-10 22:47:31 -08:00
archshift
95be6ad7ae
Added Archive ID to fs:USER debug logs involving opening the archive.
2015-01-10 14:32:11 -08:00
archshift
228843c43e
Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance.
2015-01-10 14:32:10 -08:00
Subv
115a4bfc9e
citra-qt: Add explicit casts to prevent some warnings.
2015-01-10 15:55:52 -05:00
Subv
1b01938767
citra-qt: Fixed some Qt errors on initialization
2015-01-10 15:35:26 -05:00
bunnei
5a4b361f60
Merge pull request #455 from yuriks/handle-reform3
...
Kernel Lifetime Reform Pt. 3
2015-01-10 15:19:21 -05:00
bunnei
e7d2118858
Merge pull request #342 from uppfinnarn/master
...
Build improvements
2015-01-10 02:03:07 -05:00
Yuri Kunde Schlesner
8ad41775cc
Kernel: Start using boost::intrusive_ptr for lifetime management
2015-01-09 19:43:52 -02:00
Yuri Kunde Schlesner
d751de7341
Kernel: Don't re-assign object's handle when duplicating one
2015-01-09 19:43:51 -02:00
bunnei
6ae12424df
Merge pull request #444 from yuriks/handle-reform2
...
Kernel Lifetime Reform Pt. 2
2015-01-09 12:59:35 -05:00
bunnei
86e07124ad
Merge pull request #436 from kevinhartman/system-core
...
Warn if a new thread is intended to be run on the system CPU core
2015-01-09 11:14:35 -05:00
Johannes Ekberg
d7ad14ae20
Use -pthread where and only where needed
...
Passing -pthread to GCC as a flag makes it both link to libpthread, and make C standard library routines reentrant. This makes the additional explicit links unnecessary.
Additionally, on OSX, this is the default behavior, and clang will print a message about it being unused if it's present there.
2015-01-09 15:50:46 +01:00
Johannes Ekberg
7d7ab70279
Generic PLATFORM_LIBRARIES var
...
This both reduces redundancy in add_executable definitions, and makes it easier to link additional libraries. In particular, extra libraries are needed on OSX - see next commit.
2015-01-09 15:50:46 +01:00
Yuri Kunde Schlesner
78ea76e12f
Thread: Fix nullptr access in a logging function
2015-01-09 04:02:28 -02:00
Yuri Kunde Schlesner
7f1557fbbd
Thread: Rename thread_queue => thread_list
2015-01-09 04:02:17 -02:00
Yuri Kunde Schlesner
9bf8462b96
Thread: Reduce use of Handles and move some funcs to inside the class.
2015-01-09 04:02:15 -02:00
Yuri Kunde Schlesner
ba72208cd4
Kernel: Move Thread's definition to the header file
2015-01-09 03:51:55 -02:00
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
2015-01-09 03:51:55 -02:00
bunnei
d46f650036
Merge pull request #255 from Subv/cbranch_3
...
Implemented timers
2015-01-08 22:38:33 -05:00
Subv
40c1439c34
Core: Fixed a crash and removed some unused variables.
...
ARM_Disasm only has static methods, so there's no need to have an instance of it.
2015-01-08 21:49:41 -05:00
Subv
07044651ef
SVC: Implemented the Timer service calls.
2015-01-08 21:22:14 -05:00
Subv
fc842963c8
DynCom: Add a comment to GetTicks.
2015-01-08 19:46:00 -05:00
Subv
620d77b7e3
Timing: Use CoreTiming::GetTicks to keep track of ticks.
...
This will keep track of idle ticks for us, and fixes some tickcount-related issues
2015-01-08 19:39:14 -05:00
bunnei
cf1bbe8705
Merge pull request #443 from Subv/sleep_thread
...
SVC: Fixed SleepThread
2015-01-08 18:45:35 -05:00
Subv
dfc440785a
SVC: Fixed SleepThread.
...
It will now properly wait the specified number of nanoseconds and then wake up the thread.
2015-01-08 18:39:12 -05:00
bunnei
2432f317e4
Merge pull request #446 from lioncash/umaal
...
dyncom: Fix UMAAL
2015-01-08 11:22:20 -05:00
Lioncash
1cef6e92d5
dyncom: Fix UMAAL
...
These need to be done as a 64-bit operation.
2015-01-08 11:09:21 -05:00
bunnei
72915423c3
Merge pull request #441 from Kingcom/CallStack
...
Add check for valid address to call stack
2015-01-07 21:00:46 -05:00
Subv
60a373a786
Threads: Use a dummy idle thread when no other are ready.
...
This thread will not actually execute instructions, it will only advance the timing/events and try to yield immediately to the next ready thread, if there aren't any ready threads then it will be rescheduled and start its job again.
2015-01-07 20:31:31 -05:00
bunnei
b659cac2dc
Merge pull request #404 from bunnei/more-frame-synch-fixes
...
GPU: Toggle active framebuffer each frame
2015-01-07 18:13:48 -05:00
bunnei
f7a3f45f1e
GSP: Toggle active framebuffer each frame
2015-01-07 18:06:00 -05:00
bunnei
e6864a1f41
Merge pull request #431 from yuriks/thread-queue-cleanup
...
Common: Clean up ThreadQueueList
2015-01-07 17:58:31 -05:00
Kevin Hartman
63be6aaadd
Warn if a new thread is intended to be run on the system CPU core until we implement correct scheduling for such a thread.
2015-01-07 14:14:48 -08:00
bunnei
4c583732f2
Merge pull request #442 from lioncash/smul
...
dyncom: Fix SMULWB/SMULWT
2015-01-07 16:49:30 -05:00
Lioncash
df5e0f9f28
dyncom: Fix SMULWB/SMULWT
...
Wasn't doing proper sign-extension
2015-01-07 16:41:08 -05:00
Kingcom
693f6c54e5
citra-qt: Add check for valid address to call stack
2015-01-07 21:39:40 +01:00
Yuri Kunde Schlesner
122c2bb324
Common: Clean up ThreadQueueList
...
Replace all the C-style complicated buffer management with a std::deque.
In addition to making the code easier to understand it also adds support
for non-POD IdTypes.
Also clean the rest of the code to follow our code style.
2015-01-07 18:38:25 -02:00
bunnei
3eca33c6a4
Merge pull request #425 from Subv/coretiming
...
Ported the CoreTiming namespace from PPSSPP
2015-01-07 15:30:46 -05:00
Subv
9bf82beb4c
CoreTiming: Ported the CoreTiming namespace from PPSSPP
...
Implemented the required calls to make it work.
CoreTiming: Added a new logging class Core_Timing.
2015-01-07 15:08:35 -05:00
Yuri Kunde Schlesner
a6ad68190f
Fix double-free in Service manager during shutdown
...
Fixes #423 .
2015-01-07 17:32:31 -02:00
bunnei
317fe1e528
Merge pull request #438 from lioncash/swp
...
dyncom: Fix SWPB
2015-01-07 09:53:29 -05:00
bunnei
5ae3a9657d
Merge pull request #434 from lioncash/sm
...
dyncom: Move over SMLALXY
2015-01-07 09:51:06 -05:00
Lioncash
75c211c10f
dyncom: Fix SWPB
2015-01-07 09:36:06 -05:00
Lioncash
511e13f3e3
dyncom: Move over SMLALXY
2015-01-07 00:53:56 -05:00
bunnei
5217e3f873
Merge pull request #421 from linkmauve/remove-dead-platforms
...
Remove dead platform #ifdefs to make the code more readable.
2015-01-06 23:09:20 -05:00
bunnei
088863c921
Merge pull request #376 from Subv/arc_reorder
...
Archives: Change the folder layout of some archives.
2015-01-06 20:13:56 -05:00
Subv
8fbe5d2dca
Archives/Exdata: Don't set concrete_mount_point in the ctor
2015-01-06 16:12:25 -05:00
Subv
32dbb76e00
Archives: Changed the unimplemented archives comment.
...
It now refers to me as the PoC
2015-01-06 15:34:37 -05:00
Subv
5244ac0e9c
Archives: Addressed some comments
2015-01-06 15:02:30 -05:00
Emmanuel Gil Peyrot
6b411c63c9
Common: Remove dead platform #ifdefs to make the code more readable.
...
Symbian, Xbox, Blackberry and iOS got removed.
FreeBSD and Android kept due to them potentially being able to run Citra in the future.
The iOS specific part also got removed from PPSSPP in order to fix a bug there.
2015-01-06 18:57:28 +00:00
bunnei
0bf5a0bfc4
Merge pull request #402 from chrisvj/master
...
Renamed all .hxx headers to .h
2015-01-06 12:43:08 -05:00
bunnei
89bb0ecbd5
Merge pull request #417 from kevinhartman/exclusive-tag-fix
...
Added exclusive reservation granule from ARMv7 spec to dyncom...
2015-01-06 12:42:10 -05:00
chrisvj
b0a14cfe7f
citra-qt: Renamed all .hxx headers to .h
2015-01-06 04:51:54 -08:00
bunnei
9c8b867d86
Merge pull request #419 from linkmauve/no-x86-specifics
...
Remove x86 specifics
2015-01-05 22:59:27 -05:00
bunnei
9eaef4e04a
Merge pull request #413 from purpasmart96/serv_clean
...
Services: Clean up a few things and add a few function names
2015-01-05 22:48:58 -05:00
Kevin Hartman
8132c01830
Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX.
2015-01-05 22:29:51 -05:00
bunnei
9b83f0e158
Merge pull request #272 from rohit-n/sign-compare
...
Silence some -Wsign-compare warnings.
2015-01-05 22:10:56 -05:00
purpasmart96
379b39e583
Services: Clean up a few things and add a few function names
2015-01-05 16:07:15 -08:00
Subv
123a76c9c8
SaveDataCheck: Fixed a typo
2015-01-05 16:40:36 -05:00
bunnei
6fad32ea98
Merge pull request #422 from lioncash/bxj
...
dyncom: Partially emulate BXJ
2015-01-05 16:36:29 -05:00
Lioncash
f75def619c
dyncom: Partially emulate BXJ
...
Just in case some game studio let the intern write inline assembly or something.
2015-01-05 15:55:09 -05:00
bunnei
4828d0b7af
Merge pull request #416 from bunnei/fake-dsp-interrupt
...
DSP: Signal (faked) interrupt on every frame.
2015-01-05 15:51:36 -05:00
Emmanuel Gil Peyrot
66e06f65c4
Common: Use std::abs instead of abs, using abs with cmath fails on some systems.
2015-01-05 16:38:12 +00:00
Lioncash
e08a39a2f4
dyncom: Actually set the Q flag for SMLABB/SMLABT/SMLATB/SMLATT
...
Easy skyeye todo fix.
2015-01-05 10:41:02 -05:00
Emmanuel Gil Peyrot
ffe4cc9c5a
Common: Remove the unused x86-specific 128-bit float type.
2015-01-05 15:03:50 +00:00
bunnei
8b1ec1a82a
Merge pull request #418 from lioncash/qd
...
dyncom: Implement QADD/QSUB/QDADD/QDSUB
2015-01-05 09:59:12 -05:00
Lioncash
d00c22c706
dyncom: Implement QADD/QSUB/QDADD/QDSUB
2015-01-05 09:13:41 -05:00
bunnei
e9650f1c61
DSP: Signal (faked) interrupt on every frame.
...
- Hack to work around games checking that the DSP event has been signaled by a real DSP interrupt.
2015-01-05 00:25:37 -05:00
bunnei
cc23269ff4
Merge pull request #407 from Subv/arbiter
...
AddressArbiter: Ported arbitration type 2 from 3dmoo.
2015-01-05 00:05:50 -05:00
bunnei
81e255a411
Merge pull request #415 from Dante38490/master
...
Loader: Add support for loading NCCH ROMs with the .3DS extension
2015-01-04 23:10:04 -05:00
bunnei
96e6b2aa50
Merge pull request #408 from Subv/mutex
...
Mutex: Add the calling thread to the waiting list when needed
2015-01-04 22:55:53 -05:00
Dante38490
e674aa31af
Fix correct espace
2015-01-05 04:45:09 +01:00
Dante38490
35a085d567
Add support load 3DS room
2015-01-05 04:39:42 +01:00
bunnei
26f31a2dfb
Merge pull request #386 from archshift/y2ru
...
Stub the y2r:u service
2015-01-04 21:40:58 -05:00
bunnei
ecf390b327
Merge pull request #406 from chrisvj/license-headers
...
citra-qt: Added license headers to files.
2015-01-04 21:39:07 -05:00
Subv
ea80363cc2
Mutex: Add the calling thread to the waiting list when needed
...
This will happen when the mutex is already owned by another thread. Should fix some issues with games being stuck due to waiting threads not being awoken.
2015-01-04 12:52:34 -05:00
chrisvj
6dfcf2271b
citra-qt: Added license headers to files.
2015-01-04 09:36:57 -08:00
Lioncash
41e1cb12e5
skyeye: Remove duplicate typedefs
...
citra already has its own typedefs like this.
2015-01-04 12:34:02 -05:00
Subv
90dffe3fc1
Archives: Make SYSTEM_ID and SDCARD_ID strings
2015-01-04 09:10:27 -05:00
Yuri Kunde Schlesner
cdde76f2aa
Frontends: Shutdown core when emulation is stopped
2015-01-04 01:04:46 -02:00
Subv
71a063f45c
Archives: Changed the way paths are built for the archives.
...
Each archive now takes a mount point of either NAND or SDMC, and builds its own directory structure there, trying to simulate an HLE-friendly hardware layout
2015-01-03 20:46:05 -05:00
Subv
cfd7b219f6
SaveDataCheck: Move the files to nand/title
...
under /nand/title/high/low/content/00000000.app.romfs
2015-01-03 19:01:46 -05:00
Yuri Kunde Schlesner
930e13cb2c
FileSys: Fix crash bug in DiskFile exposed by #400
2015-01-03 18:28:37 -02:00
archshift
48130b1eaa
Stub the y2r:u service
2015-01-03 16:42:39 -03:00
Yuri Kunde Schlesner
19b2e739c5
FileSys: Fix a few memory leaks
2015-01-03 17:16:16 -02:00
Subv
0276a75f24
AddressArbiter: Ported arbitration type 2 from 3dmoo.
...
(Thanks 3dmoo!)
2015-01-03 12:09:11 -05:00
bunnei
edbb47d967
Merge pull request #396 from bunnei/default-dyncom
...
Core: Change default CPU to dyncom.
2015-01-03 11:59:42 -05:00
bunnei
caa6d431ee
Merge pull request #398 from lioncash/sm
...
dyncom: Implement SMLAW
2015-01-03 11:47:01 -05:00
Lioncash
6adc0a4622
dyncom: Implement SMLAW
2015-01-03 03:13:49 -05:00
bunnei
b11518c272
VFP: Minor cleanup, functionally the same.
2015-01-03 01:22:38 -05:00
bunnei
dd21f986b8
Merge pull request #395 from lioncash/rev
...
dyncom: Implement REVSH
2015-01-02 22:44:39 -05:00
Lioncash
2f19acf064
dyncom: Implement REVSH
...
Also joins the REV ops into one common place.
2015-01-02 22:40:43 -05:00
bunnei
853b46c681
Core: Change default CPU to dyncom.
2015-01-02 22:33:53 -05:00
Lioncash
e0e54f55d7
dyncom: Implement SMLALD/SMLSLD
2015-01-02 22:08:26 -05:00
Subv
3bc9f5509b
Archives: Change the folder layout of some archives.
...
This is to better represent the hardware layout, they are still aren't quite accurate, but this better and will help a bit when implementing the other archives like NAND-RO and NAND-RW
2015-01-02 21:55:13 -05:00
bunnei
031237e52c
Merge pull request #381 from Subv/savedatacheck
...
Implemented the SaveDataCheck archive
2015-01-02 21:50:57 -05:00
bunnei
3e230d6c9e
Merge pull request #392 from lioncash/sm
...
dyncom: Implement SMMLA/SMMUL/SMMLS
2015-01-02 21:47:53 -05:00
Lioncash
64161bcb41
dyncom: Implement SMMLA/SMMUL/SMMLS
2015-01-02 21:40:29 -05:00
Subv
22cfa55302
IVFCArchive: Use a critical log to notify of invalid operations.
2015-01-02 21:39:31 -05:00
Subv
0d03fdec71
SaveDataCheck: Remove unneeded constructor from a class
2015-01-02 21:28:46 -05:00
Subv
2f9a2d410d
Archives: Added some documentation to IVFCArchive
2015-01-02 21:13:55 -05:00
Subv
aade417b14
Archives: Reduced duplicate code in RomFS and SaveCheck.
...
Fixed a few warnings and cleaned up the code
2015-01-02 21:13:54 -05:00
Subv
13efbdc201
SaveDataCheck: Preliminary work in this archive.
...
This allows Steel Diver to boot further, some files are needed.
This is still not ready and needs a big cleanup, this will possibly be delayed until the way we handle archives is fixed (with factory classes instead of ahead-of-time creation of archives)
2015-01-02 21:13:53 -05:00
bunnei
3d9bf13439
Merge pull request #391 from lioncash/pedantic
...
archive/elf: Minor misc changes.
2015-01-02 21:04:49 -05:00
bunnei
dd8a57cb80
dyncom: Implemented LDREXD/STREXD/LDREXH/STREXH
2015-01-02 20:51:54 -05:00
bunnei
3b2da87080
Merge pull request #390 from lioncash/wut
...
dyncom: Remove dead function InterpreterInitInstLength
2015-01-02 20:40:29 -05:00
bunnei
6ae381ac9e
Merge pull request #388 from lioncash/sm
...
dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD
2015-01-02 20:39:36 -05:00
Lioncash
bf23f94571
elf: Make DidRelocate const
2015-01-02 20:32:16 -05:00
Lioncash
0d81b1e75b
archive: Fix initializer list order
2015-01-02 20:30:57 -05:00
Lioncash
67187c15a0
dyncom: Remove dead function InterpreterInitInstLength
...
Technically eliminates two memory leaks as well.
2015-01-02 20:24:00 -05:00
Lioncash
bdbd111c7e
soc_u: Fix a missing formatting argument
2015-01-02 19:54:21 -05:00
Lioncash
bee4ff8454
armemu: Fix missing Q flag check for SMLSD.
2015-01-02 18:29:36 -05:00
Lioncash
3337b84620
dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD
2015-01-02 18:29:30 -05:00
bunnei
092a67cefb
Merge pull request #382 from lioncash/sx
...
dyncom: Implement SXTAB16 and SXTB16
2015-01-02 11:50:01 -05:00
Tony Wasserka
27406cc377
Merge pull request #377 from Yllodra/misc-changes
...
Qt: Letter cases and single window mode
2015-01-02 14:49:50 +01:00
Lioncash
48bf0f9996
dyncom: Implement SXTAB16 and SXTB16
2015-01-01 21:59:37 -05:00
bunnei
7c8f6ca051
Merge pull request #358 from neobrain/pica_progress2
...
pica_progress followups
2015-01-01 20:54:45 -05:00
bunnei
fa4cc502e7
Merge pull request #379 from lioncash/sh
...
dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX
2015-01-01 20:43:04 -05:00
bunnei
3e566be052
Merge pull request #378 from lioncash/s8
...
dyncom: Implement SADD8/SSUB8
2015-01-01 20:41:51 -05:00
Rohit Nirmal
c589d82052
Silence some -Wsign-compare warnings.
2015-01-01 16:38:36 -06:00
Daniel Lundqvist
85c150a4fd
Make letter cases consistent in menus and widgets
...
In various menu options letter cases were not consistent. This was also
the case within various debugging widgets. This attempts to make letter
cases consistent, but it is of course a matter of opinion which way is the
correct one.
2015-01-01 18:52:39 +01:00
Daniel Lundqvist
3f3b890694
Change popout mode to "Single Window Mode"
2015-01-01 18:50:56 +01:00
Lioncash
524da47698
dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX
2015-01-01 10:34:20 -05:00
Lioncash
481a6c9652
Fix SADD8/SSUB8 in the armemu
2015-01-01 09:44:32 -05:00
Lioncash
4e2cb06b81
dyncom: Implement SADD8/SSUB8
2015-01-01 09:39:40 -05:00
Daniel Lundqvist
a35e3a8632
Set object name for the graphics debugger
...
Setting an object name for GPUCommandStreamWidget allows for saving the
graphics debugger's state (if it's show, position, etc). This state is
then restored when restarting the application.
2015-01-01 14:49:35 +01:00
Subv
97a7381d29
SOC_U: Preliminary implementation of sockets.
...
Stubbed CreateMemoryBlock
Using Berkeley sockets, and Winsock2.2 on Windows.
So far ftpony creates the socket and accepts incoming connections
SOC_U: Renamed functions to maintain consistency
Also prevents possible scope errors / conflicts with the actual Berkeley socket functions
SOCU: Close all the opened sockets when cleaning up SOCU
2014-12-31 10:51:44 -05:00
Tony Wasserka
bc187be0c1
Pica/Rasterizer: Remove some redundant casts.
2014-12-31 16:32:56 +01:00
Tony Wasserka
9675d19b47
Pica/Rasterizer: Make orient2d a free function and rename it to SignedArea.
2014-12-31 16:32:56 +01:00
Tony Wasserka
47543d62cf
Pica: Cleanup color conversion.
2014-12-31 16:32:55 +01:00
Tony Wasserka
614baa39d1
VideoCore: Remove some unused functions.
2014-12-31 16:32:55 +01:00
Tony Wasserka
d13bd327ba
Pica/Rasterizer: Fix a bug related to multitexturing and texture wrapping.
2014-12-31 16:32:55 +01:00
Tony Wasserka
195d73a385
Pica/Rasterizer: Clean up long code lines.
2014-12-31 16:32:55 +01:00
Tony Wasserka
40c7200841
Pica/VertexShader: Coding style fixes.
2014-12-31 16:32:55 +01:00
Tony Wasserka
323a56f898
Pica/CommandProcessor: Cleanups.
2014-12-31 16:32:55 +01:00
Tony Wasserka
b2d461020d
Pica/CommandProcessor: Workaround games not setting the input position's w component.
2014-12-31 16:32:55 +01:00
Tony Wasserka
18a5e888bb
GPU: Pseudo-implement horizontal scaling.
...
It's not really known how this actually works. Some testing has shown that this probably performs no filtering, and common usage in games suggests it's not actually resizing the image at all.
However, this patch does seem to fix some homebrew showing quasi-duplicated images while still keeping other applications in a working state.
2014-12-31 16:32:55 +01:00
Tony Wasserka
0f49424022
Pica/Rasterizer: Implement backface culling.
2014-12-31 16:32:55 +01:00
Tony Wasserka
3b78af904e
Pica/Rasterizer: Textures seem to be laid out flipped vertically.
...
Not sure if this is a correct fix. Probably should instead change the decoding logic itself.
2014-12-31 16:32:55 +01:00
Tony Wasserka
3da52ead9b
Pica/DebugUtils: Fix a bug in RGBA4 texture decoding.
2014-12-31 16:32:55 +01:00
Tony Wasserka
a7ae0330b1
Pica/Rasterizer: Implement alpha blending.
2014-12-31 16:32:55 +01:00
Tony Wasserka
e229ff8c83
Pica/Rasterizer: Implement depth testing.
2014-12-31 16:32:55 +01:00
bunnei
59bba04628
Merge pull request #375 from lioncash/uops
...
dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX
2014-12-31 10:14:37 -05:00
Tony Wasserka
77bb58afeb
Pica/Rasterizer: Further enhance Tev support.
2014-12-31 15:35:54 +01:00
Tony Wasserka
36291bc3f6
Pica: Add output merger definitions.
2014-12-31 15:35:54 +01:00
Tony Wasserka
632655e292
Pica: Fix A4, IA4 and IA8 texture formats.
...
Both IA4 and IA8 had their component order mixed up. Additionally, IA4 used the wrong number of nibbles per texel. A4 skipped every second texel.
2014-12-31 15:35:24 +01:00
Tony Wasserka
b7a48c422a
Pica/CommandProcessor: Add support for integer uniforms.
2014-12-31 15:33:09 +01:00
Tony Wasserka
b03a97e0b8
citra-qt: Fix displaying RGBA5551 framebuffers.
...
(not that it matters at the moment, because this code is not used yet)
2014-12-31 15:33:09 +01:00
Tony Wasserka
e1144e364e
citra-qt: Always show pica framebuffers as RGBA8.
...
We actually don't really know yet how the format is encoded. Hence just use what works.
2014-12-31 15:33:09 +01:00
Lioncash
3cc4af99d1
dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX
2014-12-31 06:45:41 -05:00
bunnei
746fcf5a59
Merge pull request #338 from chinhodado/master
...
Add citra icon to executable and window title in Windows
2014-12-31 00:47:06 -05:00
Chin
3aeb5970e5
Add citra icon to Windows executable and title bar
2014-12-31 00:38:03 -05:00
bunnei
631f13e462
dyncom: Massive refactor
2014-12-30 23:56:45 -05:00
bunnei
29da5da951
Merge pull request #369 from darkf/mingw_
...
Fix MinGW build (2)
2014-12-30 23:54:02 -05:00
Lioncash
5894c407c2
vfp: Get rid of a few warnings
2014-12-30 13:08:56 -05:00
Lioncash
6ce4b7b666
vfp: Implement VMOVBRRSS
2014-12-30 11:04:22 -05:00
Lioncash
cc9f458ad3
dyncom: Implement USAT16/SSAT16
2014-12-30 09:43:24 -05:00
darkf
5d10b212ec
Fix MSVC-related #defines and add CMakeLists comment
2014-12-29 20:12:03 -08:00
bunnei
b3240f6455
Merge pull request #368 from purpasmart96/dsp_mem
...
MemMap: Add support for DSP Read & Writes in the memory map
2014-12-29 23:08:51 -05:00
Subv
545ded954d
APT:A: Some style changes
2014-12-29 22:59:28 -05:00
darkf
8ba9ac0f74
Fix merge conflicts
2014-12-29 19:47:41 -08:00
purpasmart96
d5049cbba5
MemMap: Add support for DSP Read & Writes in the memory map
2014-12-29 19:35:06 -08:00
Subv
2c89d4d5cd
Archives: Implemented ExtSaveData and SharedExtSaveData
...
They will be stored in /extsavedata/SDMC and /extsavedata/NAND respectively.
Also redirect some APT_A functions to their APT_U equivalents.
Implemented the gamecoin.dat file in SharedExtSaveData in the PTM module.
Implemented formatting the savegame.
Retake a previous savegame if it exists instead of reporting them as not formatted every time a game is loaded.
2014-12-29 22:29:55 -05:00
bunnei
021fb42075
dyncom: Implement USAT/SSAT
2014-12-29 22:15:15 -05:00
bunnei
78bb86293f
Merge pull request #253 from purpasmart96/mem_map
...
MemMap: Removed I/O address's and added more stuff
2014-12-29 21:57:04 -05:00
bunnei
c2f41f0404
Merge pull request #362 from bunnei/dyncom-cleanup
...
dyncom: Various cleanups to match coding style, no functional changes.
2014-12-29 21:53:49 -05:00
bunnei
dedbdb2dfb
Merge pull request #344 from Yllodra/Qt-Oddities
...
Allow focus on the Qt render widget
2014-12-29 21:52:38 -05:00
bunnei
aa49019afb
dyncom: Various cleanups to match coding style, no functional changes.
2014-12-29 21:50:47 -05:00
Tony Wasserka
b7e0b16354
Merge pull request #351 from yuriks/optimize
...
Rasterizer Optimizations
2014-12-30 00:13:48 +01:00
bunnei
2d2aa2c0be
Merge pull request #361 from lioncash/moreqops
...
dyncom/armemu: Implement QADD8/QSUB8.
2014-12-29 14:53:04 -05:00
Lioncash
d08d9f8747
dyncom: Fix SMLALXY's instruction labels
...
They were erroneously labeled as SMLAL.
2014-12-29 12:04:34 -05:00
Tony Wasserka
13699f05e7
Merge pull request #303 from linkmauve/fs-cleanup
...
FileSys cleanup
2014-12-29 12:14:59 +01:00
Lioncash
e412c0fc46
dyncom: Implement QADD8/QSUB8
2014-12-29 00:54:48 -05:00
Lioncash
7ad400d5a7
armemu: Implement QADD8/QSUB8
2014-12-29 00:49:10 -05:00
bunnei
472ec0d0cf
Merge pull request #360 from lioncash/dynuxt
...
dyncom: Implement UXTB16/UXTAB16
2014-12-28 23:20:30 -05:00
Yuri Kunde Schlesner
8369ee5803
Rasterizer: Pre-divide vertex attributes by W
...
Execute the division-by-W for perspective-correct interpolation of
values in the clipper, moving them out of the rasterization inner loop.
2014-12-29 02:08:11 -02:00
Yuri Kunde Schlesner
fe186d3a59
GPU: Bitwise texture swizzling
...
Replace the loop-based texture address swizzling code by a bit-twiddling
implementation, providing a very small speed up. Also simplify
addressing code.
2014-12-29 02:08:11 -02:00
Yuri Kunde Schlesner
2012e1420f
Rasterizer: Common sub-expression elimination
...
Move the computation of some values out of loops so that they're not
constantly recalculated even when they don't change.
2014-12-29 02:08:10 -02:00