Commit graph

23069 commits

Author SHA1 Message Date
Yuri Kunde Schlesner 4e09202226 VideoCore: Saturate vertex colors before interpolating
During testing, it was discovered that hardware does not interpolate
colors output by the vertex shader as-is. Rather, it drops the sign and
saturates the value to 1.0. This is done before interpolation, such that
(e.g.) interpolating outputs 1.5 and -0.5 is equivalent to as if the
shader had output the values 1.0 and 0.5 instead, with the interpolated
value never crossing 0.0.

This change has been tested against hardware.
2015-07-23 16:51:24 -03:00
Subv 6c0ea5f5e8 Qt/GPU Breakpoints: Added three more breakpoint types:
* IncomingDisplayTransfer: Triggered just before a display transfer is performed.
* GSPCommandProcessed: Triggered right after a GSP command is processed.
* BufferSwapped: Triggered when the frames flip
2015-07-23 11:47:34 -05:00
bunnei cea45af64d Merge pull request #977 from yuriks/glenable-tex2d
GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
2015-07-23 10:07:35 -04:00
bunnei f602bb9af6 Merge pull request #979 from Subv/border_color
Rasterizer/GL: Set the border color when binding a texture.
2015-07-23 10:06:34 -04:00
Subv 7b4961e968 Rasterizer/GL: Set the border color when binding a texture. 2015-07-22 18:41:37 -05:00
Yuri Kunde Schlesner e5c4fe0098 GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
In OpenGL 3, texturing is always enabled, and this call is invalid.
While it produced no effect in the rest of the execution, it wouldn't
have the intended effect of disabling texturing for that unit. Instead
bind a null texture to the unit.
2015-07-22 01:22:09 -03:00
bunnei 3a5352baf8 Merge pull request #968 from Subv/texture_filtering
GPU: Added registers for min and mag texture filters
2015-07-21 18:27:50 -04:00
bunnei 4a9e97d67d Merge pull request #962 from Subv/am_app
Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
2015-07-21 18:26:31 -04:00
Subv 009e34f08a GPU: Added registers for min and mag texture filters and implemented them in the hw renderer. 2015-07-21 16:26:09 -05:00
bunnei d0b45d45b5 Merge pull request #966 from Subv/log
Services/Logging: Log more useful information when some operations fail.
2015-07-21 15:14:35 -04:00
Subv f5bff67b0b Services/Logging: Log more useful information when some operations fail.
Namely OpenFileDirectly, OpenDirectory and OpenArchive
2015-07-21 13:49:08 -05:00
bunnei dcc8f1bef2 Merge pull request #957 from Subv/hwtest_crash
Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
2015-07-21 12:11:48 -04:00
Tony Wasserka aa6dfdb827 Merge pull request #929 from neobrain/geoshader_definitions
Pica/Shader: Add geometry shader definitions.
2015-07-21 15:24:48 +02:00
Lioncash 043b2f882a Merge pull request #964 from lioncash/svc
dyncom: Pass SVC immediates directly.
2015-07-21 05:49:05 -04:00
Yuri Kunde Schlesner a48aa4f924 Resolve issue accidentally left unaddressed in PR #930 2015-07-21 06:48:30 -03:00
Lioncash c2689b8c2c dyncom: Pass SVC immediates directly.
Previously it would just re-read the already decoded instruction and extract the immediate value.
2015-07-21 03:56:29 -04:00
Sebastian Valle baba0efcd1 Merge pull request #959 from Subv/home
Services/CFG: Added some missing functions to cfg:s
2015-07-21 01:28:02 -05:00
Subv 13f93a0188 Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
Named the service functions in am:app as per 3dbrew.

This fixes an illegal read loop in Steel Diver
2015-07-21 00:12:13 -05:00
Yuri Kunde Schlesner 8833852acd Merge pull request #930 from neobrain/copypaste_commandlist
citra-qt: Add support for copying the command list contents to clipboard.
2015-07-20 21:44:57 -07:00
Subv 38a7f1b727 Services/CFG: Added some missing functions to cfg:s 2015-07-20 19:52:07 -05:00
Subv 275aaeef9c Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
They'll be reset if needed during the next svcWaitSynchronization call (if there's any pending)
2015-07-20 17:15:54 -05:00
bunnei cd2bb2dc69 Merge pull request #939 from Subv/queryprocmem
Kernel/SVC: Implemented svcQueryProcessMemory
2015-07-20 00:34:41 -04:00
bunnei 863a963911 Merge pull request #951 from Subv/bit5
GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
2015-07-19 22:42:44 -04:00
bunnei 9a3b21bcf9 Merge pull request #944 from Subv/spam
GLRasterizer: Don't try to get a pointer to the depth buffer if it doesn't exist.
2015-07-19 22:40:57 -04:00
bunnei 21a696abde Merge pull request #946 from archshift/update-frdu
Add more frd:u unknown service commands from 3dbrew
2015-07-19 22:39:51 -04:00
zawata 395e63d5aa SOC:U : Update deprecated function gethostbyname() to getaddrinfo() 2015-07-19 19:32:12 -07:00
Subv 63dbff9b1f GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
It tells the GPU to not swizzle/de-swizzle the input during the transfer.
2015-07-19 21:30:42 -05:00
Lioncash 25652e5cd5 Merge pull request #950 from lioncash/bx
dyncom: Properly retrieve the PC value in BX if used.
2015-07-19 22:30:39 -04:00
Lioncash a2f0a3d019 dyncom: Properly retrieve the PC value in BX if used. 2015-07-19 22:20:14 -04:00
Tony Wasserka 1c81813b72 Merge pull request #949 from yuriks/fix-st
Pica: Correct switched S/T texture wrapping registers.
2015-07-20 00:39:03 +02:00
Yuri Kunde Schlesner ae985bf500 Pica: Correct switched S/T texture wrapping registers
This was found and hwtested by Lectem
2015-07-19 19:27:23 -03:00
Tony Wasserka 74b8c5947b Merge pull request #948 from yuriks/fix-dp3
Pica/VertexShader: Fix DP3 instruction, which wasn't assigning to the w component.
2015-07-20 00:09:20 +02:00
Yuri Kunde Schlesner 5a75cf8fd2 Pica: Fix DP3 instruction, which wasn't assigning to the w component 2015-07-19 19:01:59 -03:00
Yuri Kunde Schlesner 618434d7fc Merge pull request #947 from archshift/hex-log
Change trace/unimplemented service call logs to use hex
2015-07-19 14:32:39 -07:00
archshift 84a88005e2 Change trace/unimplemented service call logs to use hex
Changes the log to use hex in the parameter list instead of decimal.
2015-07-19 13:34:38 -07:00
archshift d1e6afaba1 Add more frd:u unknown service commands from 3dbrew 2015-07-19 13:30:20 -07:00
Subv a694caeee0 GLRasterizer: Don't try to get a pointer to the depth buffer if it doesn't exist. 2015-07-19 14:09:23 -05:00
Tony Wasserka ef828a1cdd Merge pull request #943 from Subv/ia4
Rasterizer/Textures: Fixed a bug where the I4 format would get twice the real stride.
2015-07-19 20:23:04 +02:00
Subv 3600c32483 Rasterizer/Textures: Fixed a bug where the I4 format would get twice the real stride.
Also added its name to the texture viewer widget
2015-07-19 13:15:23 -05:00
zawata 6933a50aeb Vertex Shader : Undo casting 2015-07-19 04:12:42 -07:00
zawata 04756bdaf6 Video_Core : Type fixes 2015-07-19 04:12:40 -07:00
zawata 972dccc3f6 Core : Change variable type
and fix various warnings
2015-07-19 04:12:39 -07:00
zawata f7050021de Video_Core: Finally fix pesky warning 2015-07-19 04:08:44 -07:00
zawata c66b5ca3d9 Citra_QT : Another Conversion Warning Fix 2015-07-19 03:59:52 -07:00
zawata 017437e8d7 Video_Core : Change Tabs to Spaces
This really should be universalized, I keep getting errors creating
commits because lines I've edited use tabs instead of spaces(and yes I
did read the contributing guide and i know they are supposed to be
spaces)
2015-07-19 03:59:50 -07:00
zawata 716120da3d Video_Core : Fix Conversion Warnings 2015-07-19 03:59:49 -07:00
zawata 1be1ff23a9 Core : Fix Conversion Warnings 2015-07-19 03:59:47 -07:00
zawata 6e9a6ca6bf Common : Fix Conversion Warnings 2015-07-19 03:59:46 -07:00
zawata 3c802b06e9 Citra_QT : Fix Conversion Warnings 2015-07-19 03:59:44 -07:00
Yuri Kunde Schlesner 71be5853e0 Merge pull request #941 from citra-emu/armv6-thumb-mov
Dyncom: Support for a new ARMv6 Thumb MOV encoding
2015-07-18 12:49:02 -07:00