Jules Blok
e1dc033113
Renderer: Cosmetics.
2014-12-28 18:35:23 +01:00
Jules Blok
89de7e0526
Renderer: Invalidate the FramebufferManager if the XFB mode is changed.
...
Fixes incorrect texture sizes after switching XFB modes.
2014-12-28 18:26:25 +01:00
Jules Blok
730a6e5f4b
D3D: Fix Virtual XFB viewport.
...
Looks like I was incorrect about swapping the bottom and top members.
2014-12-28 17:34:19 +01:00
Rohit Nirmal
fd0d19aa82
DSPLLE: Silence -Wshadow warning and conform more to style.
2014-12-28 09:52:31 -06:00
Jules Blok
81d1b7f0c2
XFBEncoder: Cosmetics.
2014-12-28 16:30:48 +01:00
JosJuice
bb93336ecf
DiscIO: Replace "raw" functions with "decrypt" parameters
...
This is intended to make decryption look less implicit in the code.
2014-12-28 10:35:48 +01:00
Fiora
354e255827
JIT: fix carry optimization on blocks that end early
...
I don't know if this shows up currently, but e.g. if you force blocks to be
under a certain length, this problem (a crash) shows up.
2014-12-27 23:20:05 -08:00
Justin Chadwick
51b26f3397
Remove AtBreakpoint() from ReadIdle. Fixes Rogue Squadron 2 without
...
Breaking Gladius
2014-12-27 19:16:50 -05:00
Lioncash
9465a877f8
Merge pull request #1718 from lioncash/wxdoesitagain
...
ControllerConfigDiag: Potentially fix scaling problems on high DPI
2014-12-27 10:10:45 -05:00
Jules Blok
d7037ae492
PixelShaderCache: Don't use GetDimensions() for the sample count.
...
This function is bugged on Windows 7, and statically declaring the sample count is trivial anyway.
2014-12-27 14:45:15 +01:00
JosJuice
72f8f243c7
Never decrypt data when using DI command 0xA8
...
CleanRip relies on this when ripping Wii discs.
2014-12-27 13:49:25 +01:00
Ryan Houdek
1dbd8c0b96
Merge pull request #1745 from degasus/remove_gpu_sync
...
VideoCommon: Make GPU syncing hack optional
2014-12-27 04:26:17 -06:00
Jules Blok
86120bfc97
GeometryShaderManager: Set viewport in SetConstants().
...
Setting it in the callback is too early.
2014-12-26 17:58:59 +01:00
Ryan Houdek
339383b8dd
Merge pull request #1756 from JosJuice/eslaunch-regression
...
Fix 4.0-4724 ES_Launch and System Menu regressions
2014-12-26 08:02:39 -06:00
Pierre Bourdon
b3bae9eef7
Merge pull request #1473 from phire/cleanHLE
...
Clean up debug string functions in OS_HLE.
2014-12-26 13:49:59 +01:00
Markus Wick
7764a5ed9d
Merge pull request #1733 from degasus/glx
...
GLX: try to get an OpenGL 3.3 core context
2014-12-26 13:31:41 +01:00
Markus Wick
a86865d1c4
Merge pull request #1740 from Armada651/stereo-xfb
...
Support stereoscopy with Virtual XFB
2014-12-26 13:25:33 +01:00
Lioncash
f71c4b5768
Merge pull request #1768 from JosJuice/filemonitor-regression
...
Re-add FileMonitor support for Wii discs
2014-12-25 22:02:28 -05:00
Jules Blok
833513f384
XFBEncoder: Sample the first layer of the resolved EFB texture.
...
Using the multisampled EFB texture is invalid, as the XFB encoder does not have a multisampling shader.
2014-12-25 12:09:35 +01:00
JosJuice
1618d31523
FileMonitor: Get rid of "GC" from names and comments
2014-12-25 11:12:04 +01:00
JosJuice
8624461315
Re-add FileMonitor support for Wii discs
...
This in done in the same way as GC discs, unlike the previous implementation.
2014-12-25 11:01:18 +01:00
Jules Blok
af8ac328e5
Renderer: Use old method of calculating the source rectangle.
2014-12-25 02:37:22 +01:00
Jules Blok
46bb4fd364
FramebufferManagerBase: Remove obsolete parameters.
2014-12-25 00:58:16 +01:00
Jules Blok
49137c7c2c
FramebufferManager: Return framebuffer target size in GetTargetSize().
2014-12-25 00:57:52 +01:00
Jules Blok
111b04388c
VideoConfigDiag: Don't enable the post-processing config button when there are no options.
...
The handling of the Anaglyph override was incorrect.
2014-12-25 00:14:15 +01:00
Jules Blok
1bbb323e97
D3D: Remove obsolete Real XFB codepath.
2014-12-24 23:55:04 +01:00
Jules Blok
31a55384b3
VideoConfig: Rename "StereoMonoEFBDepth" to "StereoEFBMonoDepth"
...
Makes a little bit more sense.
2014-12-24 23:30:40 +01:00
Jules Blok
1105dd7dcd
VideoConfigDiag: Enable stereoscopy options.
2014-12-24 23:29:42 +01:00
Jules Blok
c424aa1ac6
GeometryShaderManager: Boost convergence value.
...
Most game don't require much granularity regarding the convergence value.
The default convergence was also too low, this commit increases it tenfold.
2014-12-24 23:29:40 +01:00
Jules Blok
70b898e2c6
VideoConfig: Rename Separation to Depth and update descriptions.
...
More accurate since it's not a real IPD and Nvidia also calls it depth.
2014-12-24 23:28:23 +01:00
Augustin Cavalier
d857306190
DolphinQt: remove non-render-to-main and add fullscreen.
2014-12-24 14:28:46 -05:00
Jules Blok
9590ea0cf6
VideoConfig: Turn off stereoscopy when Real XFB is enabled.
2014-12-24 18:45:24 +01:00
Jules Blok
4a86234a79
D3D: Support stereoscopic XFB blit to screen.
2014-12-24 18:45:24 +01:00
Jules Blok
a845aeeb3d
FramebufferManager: Copy all EFB layers to the XFB.
2014-12-24 18:45:19 +01:00
Jules Blok
59bea317d7
GeometryShaderCache: Cosmetics.
2014-12-24 17:22:24 +01:00
Jules Blok
b109b31f61
FramebufferManagerBase: Only allocate one layer for Real XFB.
2014-12-24 17:22:23 +01:00
Jules Blok
a9364cd5db
OGL: Support stereoscopic XFB blit to screen.
2014-12-24 17:22:23 +01:00
Jules Blok
12412ac5b7
FramebufferManager: Copy all EFB layers to the XFB framebuffer.
2014-12-24 17:22:22 +01:00
Markus Wick
5526b39320
Merge pull request #1748 from Armada651/stereo-format
...
FramebufferManager: Support stereoscopic EFB format changes.
2014-12-24 11:02:17 +01:00
JosJuice
329af1aea3
Always read 0x20 bytes of disc ID
2014-12-23 13:25:04 +01:00
Jules Blok
b2efbdaf44
Cosmetics.
2014-12-23 13:16:09 +01:00
Jules Blok
01718eafa6
FramebufferManager: Use a separate layer variable.
2014-12-23 13:16:03 +01:00
JosJuice
61da252858
Mark cover as open when no disc is inserted
2014-12-23 09:43:51 +01:00
skidau
e396286361
Merge pull request #1751 from FenrisulfrX/master
...
AR: Fix Memory Copy Without Pointer Support
2014-12-23 12:39:48 +11:00
degasus
01cd11a835
OGL: fix ssbo based bbox support
2014-12-22 19:10:35 +01:00
JosJuice
14ff0004b5
Check if there is a disc for all disc reads
2014-12-22 16:34:18 +01:00
JosJuice
867bd2eb34
Only use bounds check for DVDLowUnencryptedRead
2014-12-22 15:01:55 +01:00
Pierre Bourdon
c5c10fe48b
Merge pull request #1757 from JosJuice/gc-ipl-regression
...
Fix 4.0-4724 GC IPL regression
2014-12-22 13:03:08 +01:00
JosJuice
c1ad4055a3
Fix 4.0-4724 GC IPL regression
...
Apparently the IPL actually writes to address 0.
2014-12-22 11:38:44 +01:00
Ryan Houdek
5af426df33
Merge pull request #1713 from degasus/vertex-loader
...
virtual vertex loader
2014-12-22 03:02:02 -06:00
FenrisulfrX
e70baf43d4
AR: BugFix to Memory Copy Without Pointer
...
Using ReadUncheked to avoid changing the state of the emulation
2014-12-22 06:22:01 -02:00
skidau
a00aa1a770
Merge pull request #1746 from skidau/dsp-thread-lock
...
Added lock guards around the DSP LLE cycle count updating.
2014-12-22 17:45:06 +11:00
skidau
4ede885702
Added lock guards around the DSP LLE cycle count updating.
...
Changed the isRunning flag to a Common::Flag.
2014-12-22 16:40:01 +11:00
Ryan Houdek
0d744cddf6
Merge pull request #1729 from Sonicadvance1/AArch64_compare_me
...
[AArch64] Add partial support for cmp* instructions.
2014-12-21 20:56:49 -06:00
Ryan Houdek
d35f7231dc
Merge pull request #1727 from Sonicadvance1/AArch64_conditional_continue
...
[AArch64] Adds support for conditional continue.
2014-12-21 20:56:36 -06:00
Ryan Houdek
47b67fe527
Merge pull request #1744 from Buddybenj/google-code
...
Update Outdated Google Code References
2014-12-21 20:55:56 -06:00
Ryan Houdek
02aea1b4c5
[AArch64] Adds support for conditional continue.
...
Requires PR #1723 prior to merging.
2014-12-21 20:48:40 -06:00
Ryan Houdek
1da6995d5b
Merge pull request #1728 from Sonicadvance1/AArch64_BindToRegister
...
[AArch64] Adds support for BindToRegister to the integer instructions.
2014-12-21 20:48:24 -06:00
Ryan Houdek
bd4fa951a9
Merge pull request #1726 from Sonicadvance1/AArch64_flush_if_not_needed
...
[AArch64] Flush registers from register cache if they won't be used again.
2014-12-21 20:46:38 -06:00
Ryan Houdek
4fad742da4
Merge pull request #1723 from Sonicadvance1/AArch64_loadstores
...
[AArch64] Implements loadstores with AArch64
2014-12-21 20:46:23 -06:00
Ryan Houdek
5cf79fd3b1
Merge pull request #1724 from Sonicadvance1/AArch64_dispatcher_optimization
...
[AArch64] Optimization in the dispatcher.
2014-12-21 20:08:40 -06:00
Ryan Houdek
e423939c9f
Merge pull request #1754 from FioraAeterna/mmulogspam
...
Eliminate some spammy log messages in MMU mode
2014-12-21 20:05:07 -06:00
Ryan Houdek
4247506c00
[AArch64] Implements loadstore instructions in the JIT recompiler.
...
These instructions are all implemented with fastmem support.
Currently loads with update are disabled due to an issue that I've yet to figure out.
I'm sure I'll figure that out later.
2014-12-21 19:43:59 -06:00
Ryan Houdek
17a4208fe5
[AArch64] Adds backpatching routines.
...
Currently supports only integer loadstores. Floating point loadstores will come later.
This system is semi based on the ARMv7 backpatching routine, where we need to initialize our backpatch routine sizes prior to actually using them so
we know we won't be overwriting any memory.
2014-12-21 19:40:29 -06:00
Jules Blok
bcfd431e9a
Frame: Fix a crash-on-exit on Mac OS X.
...
A null pointer exception is triggered when Dolphin is quit from the dock.
2014-12-22 02:06:23 +01:00
Fiora
e7a49ae5f3
Eliminate some spammy log messages in MMU mode
...
dcbz: just don't use GetPointer, that can't be right anyways
ppcanalyst: don't print "instruction hex 0" messages in MMU mode, where ISIs
are expected.
2014-12-21 12:41:44 -08:00
Fiora
3b7d7da1ac
JIT: Fix redundant MOVs in x86 trampolines
...
Fixes spammy log messages about redundant MOVs.
2014-12-21 12:06:07 -08:00
FenrisulfrX
46e74782a7
AR: Fix Memory Copy Without Pointer Support
...
Fix a bug when using AR codes with "Memory Copy Without Pointer Support"
code type which would write more data than it should.
2014-12-21 16:45:50 -02:00
Jules Blok
737bc0e7ad
PixelShaderCache: Support stereoscopic EFB format changes.
2014-12-21 15:46:12 +01:00
Jules Blok
ba242d27c8
FramebufferManager: Support stereoscopic EFB format changes.
2014-12-21 15:25:58 +01:00
degasus
1efd00227d
VertexLoader: Skip vertices with position index = -1
2014-12-21 14:29:44 +01:00
degasus
325e8e370e
VertexLoader: Merge dummy functions
2014-12-21 14:13:04 +01:00
degasus
7c486a8c24
VertexLoader: Add a VertexLoader pointer to each function call
2014-12-21 14:13:04 +01:00
degasus
7edf6ec4e4
VertexLoader: Add a test loader which compares two vertex loaders
2014-12-21 14:13:04 +01:00
degasus
809117102e
VideoCommon: split VertexLoaderBase from VertexLoader
2014-12-21 14:12:43 +01:00
degasus
a71c8158d9
VertexLoader: remove inlined getters
...
They just blow up the code.
2014-12-21 13:47:43 +01:00
degasus
6e3b2712d2
VideoCommon: Move NativeVertexFormat cache to VertexLoaderManager
2014-12-21 13:47:43 +01:00
degasus
1281798992
VertexLoaderUid: remove operator<
...
Not needed for unordered map.
2014-12-21 13:47:43 +01:00
degasus
ec28a80e00
VideoLoader: remove VAT_*_FRACBITS
...
They are used to remove the flush amounts, but as we don't
flush anymore on vertex loader changes (only on native
vertex format right now), this optimization is now unneeded.
This will allow us to hard code the frac factors within the
vertex loaders.
2014-12-21 13:47:42 +01:00
degasus
7e12fec7c3
VideoCommon: Make GPU syncing hack optional
...
This hack is there for quite a long time, and lots of games crashes if it's disabled.
But it's still a hack, so it shouldn't be enabled hard coded. This commit create a new
ini option for this hack which is enabled by default.
Maybe some games does still run very fine without this hack.
2014-12-21 11:54:53 +01:00
Ryan Houdek
9b2909357b
Merge pull request #1731 from Sonicadvance1/ARMv7-minor-optimization
...
[ARMv7] Minor integer fastmem optimization.
2014-12-20 23:38:41 -06:00
Ryan Houdek
8ea6c62943
Merge pull request #1705 from Sonicadvance1/AArch64_emitter_fixes
...
[AArch64] Improvements to the AArch64 emitter.
2014-12-20 23:27:59 -06:00
Ryan Houdek
59e1a8a1a0
Merge pull request #1736 from degasus/osd
...
OSD
2014-12-20 23:21:24 -06:00
Benjamin Przybocki
fba3c48ec4
Update Outdated Google Code References
2014-12-20 21:17:51 -06:00
Stevoisiak
6ad5e54970
DolphinWX/Globals: Variable naming consistency
2014-12-20 21:43:11 -05:00
Ryan Houdek
ab2b499fa6
[ARMv7] Minor integer fastmem optimization.
...
This is a one instruction optimization for integer loadstores.
Makes sure to enable nop padding in some cases where a fault can still happen and cause us to overwrite other instructions that aren't meant to be.
2014-12-20 19:41:33 -06:00
Ryan Houdek
c22e750f74
[AArch64] Add partial support for cmp* instructions.
...
This support is as far as ARMv7's support for these instructions.
Requires PR #1728 prior to merging.
2014-12-20 19:41:04 -06:00
Ryan Houdek
6f0fbac68f
[AArch64] Adds support for BindToRegister to the integer instructions.
...
This requires PR #1723 prior to merging.
2014-12-20 19:40:14 -06:00
Ryan Houdek
73542ce93e
[AArch64] Flush registers from register cache if they won't be used again.
...
This requires PR #1705 and #1723 prior to merging.
2014-12-20 19:38:34 -06:00
Ryan Houdek
360cf761d2
[AArch64] Optimization in the dispatcher.
...
Align our dispatcher to a page so we can jump to it with a ADRP+BR pair instead of ADRP+ADD+BR.
Also make sure to save /all/ of our callee saved registers that we are supposed to save.
Requires PR #1705 prior to merging.
2014-12-20 19:37:45 -06:00
Ryan Houdek
13b70c2fbd
[AArch64] Add an exception exit function with the exit location already in PC.
...
This will be used with idle skipping later.
2014-12-20 19:36:48 -06:00
Ryan Houdek
32eb0a9d68
[AArch64] Removes CODE_SIZE variable.
...
This is in a global location now which conflicts with this one.
2014-12-20 19:36:48 -06:00
Ryan Houdek
edfbb6ab9a
[ARM] Adds a ArmCommon folder.
...
Moves the backpatch flags and struct to a common location for ARM.
I'm sure there will be more things that use this common ARM location in the future.
2014-12-20 19:36:48 -06:00
Ryan Houdek
eaf17b7d7b
[AArch64] Register cache improvements.
...
Adds the ability to flush the cache and maintain state.
Adds the BindToRegister ability.
Sorts register usage as callee saved used first, reduces dumping pressure when jumping to external routines/interpreter.
Adds a function to store a register, for use when flushing a register that won't be used during the rest of a block.
2014-12-20 19:36:48 -06:00
Ryan Houdek
d3c2e8fb0a
[AArch64] Improvements to the AArch64 emitter.
...
Fixes issues with negative offsets in loadstore instructions.
Adds ADRP/ADR instructions.
Optimizes MOVI2R function to take advantage of ADRP on pointers, can change a 3 instruction operation down to one.
Adds GPR push/pop operations for ABI related things.
2014-12-20 19:35:52 -06:00
Pierre Bourdon
f2a07e43d1
Merge pull request #1638 from Stevoisiak/DSP-to-Audio
...
Rename DSP settings to Audio settings
2014-12-21 01:57:39 +01:00
Stevoisiak
91aeb7510f
Changed config DSP references to config audio
2014-12-20 19:46:59 -05:00
Ryan Houdek
829132d465
Merge pull request #1732 from Sonicadvance1/stupid_android_garbage
...
Work around broken Android garbage.
2014-12-20 15:29:38 -06:00
Ryan Houdek
f2d998c938
Work around broken Android garbage.
...
This fixes running Dolphin on the Nexus 9.
Android's EGL stack has internal arrays that they use for tracking OpenGL function usage. Probably has something to do with their OpenGL profiling
garbage that used to be in ADT.
Android has three of these arrays, each statically allocated.
One array is for all GLES 1.x functions
One array is for all GLES 2.0/3.0/3.1 and a couple of extensions they deem worthy of being in this array.
The last array is for all function pointers grabbed via eglGetProcAddress that isn't in the other two arrays.
The last array is the issue that we are having problems with. This array is 256 members in length.
So if you are pulling more than 256 function pointers that Google doesn't track in their internal array, the function will return NULL and yell at you
in logcat.
The Nvidia Shield Tablet gets around this by replacing part of the EGL stack with their own implementation that doesn't have this garbage.
The Nexus 9 on the other hand doesn't get away with this. So we pull >100 more function pointers than the array can handle, and some of those we need
to use.
The workaround for this is to grab OpenGL 1.1 functions last because we won't actually be using those functions, so we get away with not grabbing the
function pointers.
2014-12-20 15:15:57 -06:00
JosJuice
34a37cc30d
WII_IPC_HLE: Fix timing weirdness
...
The reply delay of a command shouldn't be ignored just because the
previous command isn't done yet. DI is way too fast without this change.
2014-12-20 22:07:30 +01:00
JosJuice
be9789f2c6
WII_IPC_HLE_Device_DI: Use the new accurate timing
2014-12-20 22:07:28 +01:00
JosJuice
a7296681ff
WII_IPC_HLE: Return delay time instead of using GetCmdDelay
2014-12-20 22:07:15 +01:00
Dolphin Bot
f978d141c8
Merge pull request #1720 from Armada651/stereo-msaa
...
FramebufferManager: Support resolving a multi-layered EFB
2014-12-20 20:35:36 +01:00
degasus
a858db1d27
OGL: move osd warning for not supported stereo mode into config validation
2014-12-20 19:54:00 +01:00
degasus
ed9c14e0d5
OGL: Fix OGL3 with stereo enabled
2014-12-20 19:13:34 +01:00
Markus Wick
9122c868fe
Merge pull request #1734 from Armada651/stereo-fixes
...
GeometryShaderManager: Set stereo parameters in a SetConstants() call.
2014-12-20 17:48:31 +01:00
Pierre Bourdon
dad7911214
Merge pull request #1486 from rohit-n/goto
...
Remove some gotos.
2014-12-20 16:47:55 +01:00
Pierre Bourdon
cee4a85a12
Merge pull request #1633 from JosJuice/dvd-speed-tweak
...
DVDInterface: Tweak speeds
2014-12-20 16:46:22 +01:00
Pierre Bourdon
24a2ca4d28
Merge pull request #1703 from FioraAeterna/saveregs
...
JIT: free up a register by eliminating RCODE_POINTERS
2014-12-20 16:45:08 +01:00
Pierre Bourdon
e7eb4c06e2
Merge pull request #1634 from JosJuice/disc-drive-unification-lite
...
Make WII_IPC_HLE_Device_DI call DVDInterface
2014-12-20 16:41:52 +01:00
Jules Blok
d37b65c117
FramebufferManager: Support resolving a multi-layered EFB in OGL.
2014-12-20 16:08:00 +01:00
degasus
3322c55484
OGL: don't clear the stencil buffer
...
We don't have one. This should remove some spamming of the nvidia driver.
2014-12-20 15:17:20 +01:00
degasus
3f9b52e555
OGL: draw shadows within rasterfont itself
2014-12-20 13:31:41 +01:00
Jules Blok
d09af2dbba
GeometryShaderManager: Set stereo parameters in a SetConstants() call.
...
Doing it in SetProjectionChanged() is too early because the projection type is not set yet.
2014-12-20 13:16:26 +01:00
degasus
fb177ca04e
VideoCommon: merge debug test generators
2014-12-20 13:06:29 +01:00
JosJuice
d1c8a8bd9f
Make WII_IPC_HLE_Device_DI call DVDInterface
2014-12-20 13:02:04 +01:00
degasus
ffa014dd48
VideoCommon: merge debug info generators
2014-12-20 12:25:10 +01:00
Dolphin Bot
a560d8f150
Merge pull request #1716 from Armada651/geom-wireframe
...
VideoCommon: Handle wireframe mode in the geometry shader.
2014-12-20 12:22:40 +01:00
degasus
e6137407ba
GLX: try to get an OpenGL 3.3 core context
2014-12-20 10:57:34 +01:00
Matthew Parlane
6a785af280
Merge pull request #1704 from phire/wii_ssl_segfault
...
De-memsetify Wii_SSL and fix segfault.
2014-12-20 21:16:55 +13:00
comex
fba3abe4cf
Manually revert d34418100b
2014-12-20 00:33:15 -05:00
skidau
31bc51072b
Merge pull request #1712 from skidau/GC-Adapter-thread-fix
...
Corrected the buffer that is used by the GCAdapter thread.
2014-12-20 13:09:19 +11:00
Jules Blok
bc3ed44050
OGL: Disable geometry shaders on Intel's Windows drivers due to broken interface blocks.
2014-12-19 23:56:02 +01:00
skidau
f913cb6ab6
Removed redundant code from the GC Adapter interface.
2014-12-20 09:44:35 +11:00
skidau
9eecfca71d
Corrected the buffer that is used by the GCAdapter thread.
2014-12-20 09:44:35 +11:00
Ryan Houdek
b30802e2f0
Merge pull request #1721 from Sonicadvance1/fix_adreno_400
...
Fixes Adreno 400 performance.
2014-12-19 15:55:50 -06:00
Jules Blok
0d79e8f32b
VideoCommon: Don't specify the redundant in/out qualifier if GL_ARB_shading_language_420pack is supported.
...
Some driver developers interpreted "can" as "must" in the OpenGL specs. (I'm looking at you AMD)
2014-12-19 22:45:39 +01:00
Ryan Houdek
8c0e26d969
Minor changes to DriverDetails
...
Fixes a typo where the official IMGTec drivers were said to be the OSS driver support.
Removes Mali GPU family detection just like I removed the Adreno family detection.
We don't support Mali Utgard anyway.
If we need family detection we can properly add it, right now it isn't needed.
2014-12-19 21:41:12 +00:00
Jules Blok
761749e07f
FramebufferManager: Support resolving a multi-layered EFB in D3D.
2014-12-19 22:37:28 +01:00
Jules Blok
0ae082fb61
FramebufferManager: Return the depth texture instead of the color texture in GetResolvedEFBDepthTexture() when AA is enabled.
2014-12-19 22:37:28 +01:00
Ryan Houdek
0fec69001b
Fixes Adreno 400 slow performance.
...
Adreno 300 and 400 have the same video driver performance issues because they are very similar architectures which use basically the same thing with
everything.
There isn't any need to detect the family of the driver with Qualcomm anyway. If we ever need family specific bugs then we can implement real support
for that.
Performance issue on Adreno 400 series was due to us only detecting Adreno 300 series, and with Adreno 400 it wouldn't use the bugs, which would cause
it to use glBufferSubData, causing the huge performance hit.
2014-12-19 21:31:37 +00:00
Lioncash
6adfa92a7e
ControllerConfigDiag: Potentially fix scaling problems on high DPI
...
Fixes issue 7940 hopefully.
2014-12-19 14:50:36 -05:00
Jules Blok
531b3941ff
GeometryShaderGen: Re-emit the first vertex when wireframe mode is enabled.
2014-12-19 14:24:08 +01:00
Jules Blok
1b9fe70d7c
VideoCommon: Make IsPassthrough() a function of the ShaderUid.
2014-12-19 14:10:53 +01:00
Jules Blok
c9e469f832
D3DState: Remove wireframe rasterizer support.
2014-12-19 14:10:52 +01:00
Jules Blok
925bbcb85b
VideoCommon: Handle wireframe mode in the geometry shader.
2014-12-19 14:10:52 +01:00
Jules Blok
cdd9e07522
VideoCommon: Add in/out qualifiers to centroid storage qualifier.
...
Fixes shaders for GPUs that don't support GL_ARB_shading_language_420pack.
2014-12-19 12:19:15 +01:00
Ryan Houdek
02f22152be
Merge pull request #1706 from Armada651/line-width
...
VideoCommon: Merge LineGeometryShader into GeometryShaderGen.
2014-12-18 19:43:12 -06:00
Jules Blok
e7e8a4f1cb
GeometryShaderGen: Don't use the reserved keyword "point" in D3D.
2014-12-19 02:24:41 +01:00
Markus Wick
c7b809d46b
Merge pull request #1669 from degasus/swvertexloader
...
Video Software Vertex Loader
2014-12-18 19:30:56 +01:00
shuffle2
717e155ce1
Merge pull request #1689 from kayru/d3d_efb_copy_fix
...
D3D: Fixed D3D validation error during EFB to texture copy
2014-12-18 02:59:51 -08:00
Stevoisiak
200097f25d
Renamed dsp.png to audio.png
...
Note: This will break custom themes.
2014-12-18 01:01:57 -05:00
Jules Blok
8dc3653ac9
VideoCommon: Don't pass structs between shader stages when geometry shaders are unsupported.
2014-12-18 00:37:16 +01:00
Jules Blok
1f84f4632d
OGL: Check OpenGL version for geometry shader support.
2014-12-18 00:37:16 +01:00
Jules Blok
93ce95b48e
D3D: Use ROUND_UP macro for rounding buffer sizes.
2014-12-18 00:37:15 +01:00
Jules Blok
69df23f725
VideoCommon: Only use interface blocks when geometry shaders are supported.
2014-12-18 00:37:14 +01:00
Jules Blok
1af3d8447a
GeometryShaderManager: Set the constants within the callbacks.
2014-12-18 00:37:09 +01:00
Jules Blok
3d9dfad6a2
D3D: Set the geometry shader before every draw call.
...
And refactor the VertexManager draw call.
2014-12-18 00:36:50 +01:00
Jules Blok
7e8f96f0d3
OGL: Don't generate a geometry shader if the backend doesn't support it.
...
This commit repurposes the bSupportsStereoscopy flag as the bSupportsGeometryShaders flag.
2014-12-18 00:36:49 +01:00
Jules Blok
782a5adb94
VideoCommon: Pass interface blocks between shader stages to resolve naming conflicts.
2014-12-18 00:36:49 +01:00
Jules Blok
bd6d229733
GeometryShader: Disable the geometry shader stage if it is a pass-through shader.
2014-12-18 00:36:48 +01:00
Jules Blok
f2e52b46c3
GeometryShaderGen: Cosmetics.
2014-12-18 00:36:47 +01:00
Jules Blok
2850c9a206
VertexManager: Disable culling for lines and points.
2014-12-18 00:36:47 +01:00
Jules Blok
0ac7103391
GeometryShaderGen: Pack uniforms more tightly.
2014-12-18 00:36:40 +01:00
degasus
5f322cc9e8
Jit: move constants out of class
...
This fixes a linking issues on debug builds.
2014-12-17 23:42:10 +01:00
Yuriy O'Donnell
5688c27610
D3D: Moved setting texture by slot mask into StateManager
2014-12-17 23:41:26 +01:00
Markus Wick
98292682fe
Merge pull request #1709 from unknownbrackets/attributeless-fix
...
OGL: Attempt a larger buffer to workaround 7946
2014-12-17 14:20:54 +01:00
skidau
5313dd1b8c
Merge pull request #1702 from CarlKenner/DebugSymbols
...
Fix many bugs with the Symbols menu (when run with -d argument).
2014-12-17 22:04:56 +11:00
Unknown W. Brackets
5b51f5a801
OGL: Attempt a larger buffer to workaround 7946.
2014-12-16 22:20:45 -08:00
CarlKenner
6e7eb52211
Rename menu items, stop using PanicAlertT, remove -d when running from visual studio.
...
I accidentally committed my addition of the -d option that I used for testing, now it's fixed.
2014-12-17 01:12:33 +10:30
CarlKenner
84ae817c18
Remove white space at ends of lines.
2014-12-17 01:12:08 +10:30
CarlKenner
cd5d354acc
Load 4 column map files like in American Mensa Academy.
...
Unfortunately the map files in American Mensa Academy don't correspond to the release version.
But at least now if other games use those map files we will be able to load them.
2014-12-17 01:12:03 +10:30
CarlKenner
dfd915eb53
Merge bad map file loading into the original function.
2014-12-17 01:11:58 +10:30
CarlKenner
f95f43fdde
Apparently c_str doesn't return a C str.
2014-12-17 01:11:52 +10:30
CarlKenner
e246aaf419
Add "Load bad map file" option for map files on disc that don't quite match.
...
Currently it is very simple and naive, but filters out most of the bad matches.
2014-12-17 01:11:41 +10:30
CarlKenner
f54d9e33c2
Fix many bugs with the Symbols menu (when run with -d argument).
...
The Symbols menu is now fully useable.
2014-12-17 01:11:36 +10:30
magumagu
31bcdb8f2f
D3D+OGL: choose blendenable over logicopenable.
...
No sane game should turn on both logicopenable and blendenable in the same
blend mode, but not every game is sane. Fixes issue 6009.
2014-12-15 20:16:25 -08:00
skidau
7b5b76caa4
Merge pull request #1700 from JosJuice/discio-clear-error
...
DiscIO: Clear error status when reading file
2014-12-16 13:09:03 +11:00
skidau
ce8b3d83a8
Merge pull request #1693 from magumagu/memcheck-fastmem
...
JIT: use fastmem loads in MMU mode.
2014-12-16 13:07:53 +11:00
Jules Blok
d115048615
GeometryShaderGen: Remove redundant declaration.
2014-12-15 23:20:56 +01:00
Jules Blok
16af00d515
GeometryShaderGen: Use signed integers for the texture offset flags.
2014-12-15 23:05:16 +01:00
Jules Blok
861fa1af23
GeometryShaderGen: Declare a prototype for EmitVertex().
2014-12-15 22:47:43 +01:00
Jules Blok
8ae738ff30
VideoCommon: Merge PointGeometryShader into GeometryShaderGen.
...
This adds point-width emulation support to OpenGL.
2014-12-15 22:47:43 +01:00
Jules Blok
55e60a9c22
VideoCommon: Merge LineGeometryShader into GeometryShaderGen.
...
This adds line-width emulation support to OpenGL.
2014-12-15 22:47:42 +01:00
Jules Blok
275af9c5e4
VideoCommon: Assume we always use a geometry shader, not just for stereoscopy.
2014-12-15 22:47:41 +01:00
Jules Blok
382e1c22db
GeometryShaderGen: Support multiple primitive types.
...
And make more stereoscopy code optional.
2014-12-15 22:47:41 +01:00
Jules Blok
887c669c28
GeometryShaderGen: Redefine gl_InvocationID so we can use the same variable name in both backends.
2014-12-15 22:47:40 +01:00
Jules Blok
332ba4b210
GeometryShaderManager: Upload Line/Point width constants.
2014-12-15 22:47:35 +01:00
Scott Mansell
950ca267bb
De-memsetify Wii_SSL and fix segfault.
...
Fixes #7917
The first memset was clearing the delicate bits of the std::string
in the struct, causing segfaults.
I also removed the rest of the memsets because they were paranoid,
unneeded and waseful. We shouldn't be managing the ssl libraries
structs for it.
I checked and the ssl library's functions were already memsetting
those structs as needed.
2014-12-15 18:17:00 +13:00
Fiora
76ca42b758
JIT: free up a register by eliminating RCODE_POINTERS
...
Also use shorter code in the dispatcher if we can get away with it (e.g. on
Windows where the relevant memory is in the low 2GB).
2014-12-14 18:19:37 -08:00
Jules Blok
aa4242fd9c
GeometryShaderGen: Pass the primitive type and always run the generator regardless of stereoscopy.
2014-12-14 21:23:20 +01:00
Jules Blok
b406e4e1f2
VideoCommon: Add a separate constants buffer for the geometry shader.
2014-12-14 21:23:13 +01:00
Lioncash
c7179af8f7
Merge pull request #1675 from Stevoisiak/Rename-Build-Date
...
ISOProperties: Rename Date to Build Date
2014-12-14 14:26:24 -05:00
Lioncash
ff41c2a1a1
Merge pull request #1687 from lioncash/sprintf
...
MemoryWindow: Remove wxSprintf call, use wxString::Format instead.
2014-12-14 14:26:03 -05:00
Jules Blok
6c7bed25a5
Cosmetics
2014-12-14 13:29:27 +01:00
Jules Blok
cec5b0ce01
ShaderGen: Remove the GS_OUTPUT struct for OpenGL.
...
And remove the generator for it since it is no longer used outside of the geometry shader.
2014-12-14 13:28:50 +01:00
Jules Blok
fd6b588627
D3D: Define decimals in floating point numbers
2014-12-14 13:28:49 +01:00
Jules Blok
a6ac7dd5bd
D3D: Fix Nvidia 3D Vision memory leak
2014-12-14 13:28:49 +01:00
Jules Blok
ea2bcb44f0
Cosmetics
2014-12-14 13:28:48 +01:00
Jules Blok
6fe7d530ed
PixelShaderCache: Fix MSAA shaders.
...
Various typos were introduced due to lack of testing.
2014-12-14 13:28:48 +01:00
Jules Blok
b2e73400be
Cosmetics
2014-12-14 13:28:48 +01:00
Jules Blok
b06280e866
D3D: Add anaglyph stereoscopy support.
2014-12-14 13:28:47 +01:00
Jules Blok
4b3e784949
TextureCache: Add stereoscopy support for EFB to texture copies.
2014-12-14 13:28:47 +01:00
Jules Blok
3355d8086d
D3DUtil: Use a geometry shader to clear all slices.
2014-12-14 13:28:46 +01:00
Jules Blok
799697ad80
PSTextureEncoder: Add texture array support.
...
We only read the first slice, because EFB2RAM doesn't support texture arrays.
2014-12-14 13:28:46 +01:00
Jules Blok
ced733ccdf
PixelShaderCache: Add texture array support to static shaders.
2014-12-14 13:28:46 +01:00
Jules Blok
d58e389f67
D3D: Recreate the framebuffer when stereoscopic 3D is toggled.
2014-12-14 13:28:45 +01:00
Jules Blok
b769da23d0
PixelShaderGen: Sample the correct texture slice.
2014-12-14 13:28:45 +01:00
Jules Blok
7c05b9a6d0
D3D: Set the geometry shader for triangle primitives.
2014-12-14 13:28:44 +01:00
Jules Blok
4f6ce0f236
D3D: Add geometry shader instancing support.
2014-12-14 13:28:44 +01:00
Jules Blok
ca766747a8
D3DTexture: Bind textures as texture arrays.
2014-12-14 13:28:43 +01:00
Jules Blok
cf12c93c86
D3D: Use common GetEFBLayers() instead of GetEFBSlices().
2014-12-14 13:28:43 +01:00
Jules Blok
9d9bd5341d
D3D: Restore viewport after stereo blitting.
2014-12-14 13:28:43 +01:00
Jules Blok
a689db0e48
D3D: Add 3D vision support.
2014-12-14 13:28:42 +01:00
Jules Blok
e53705784b
D3D: Add SBS/TAB output support.
2014-12-14 13:28:42 +01:00
Jules Blok
9253bb7d96
D3D: Add geometry shader stereoscopy support.
2014-12-14 13:28:41 +01:00
Jules Blok
d5ebdf7a97
D3D: Add GeometryShaderCache.
2014-12-14 13:28:41 +01:00
Jules Blok
9a312e2b83
D3D: Use two slices for most of our textures.
2014-12-14 13:28:40 +01:00
JosJuice
467b3e6baf
DiscIO: Clear error status when reading file
2014-12-14 13:16:21 +01:00
shuffle2
5aa1d4733d
Merge pull request #1699 from unknownbrackets/attributeless-fix
...
OGL: Correctly define attrib 0 in attributeless
2014-12-13 21:24:12 -08:00
Unknown W. Brackets
1c316eb18c
OGL: Correctly define attrib 0 in attributeless.
2014-12-13 21:02:15 -08:00
Lioncash
3c10ffa574
Merge pull request #1696 from skidau/Fix-ISOProp-GPUDeter
...
Gave the GPU determinism game property its own ID
2014-12-13 23:33:00 -05:00
skidau
15f7e63cc2
Merge pull request #1650 from unknownbrackets/attributeless-fix
...
OGL: Unbind the active VAO before attributeless rendering
2014-12-14 14:42:07 +11:00
skidau
f9badc2b7c
Gave the GPU determinism game property its own ID so that changing it to "Not Set" does not disable the emulation issues textbox.
2014-12-14 14:38:35 +11:00
skidau
45dedfcb8e
Merge pull request #1685 from RachelBryk/hires-tex
...
Fix hires texture path.
2014-12-14 14:25:21 +11:00
Jules Blok
14792c3402
D3DState: Set the pixel shader in m_current when linking dynamically.
2014-12-13 22:09:34 +01:00
Jules Blok
a2b43b21fe
D3DState: Always update the m_pending members in the setters.
...
Fixes unintentional behaviour when a setter is called twice before the state is applied.
2014-12-13 21:51:18 +01:00
skidau
68a4cc6b72
Merge pull request #1686 from degasus/master
...
OGL: fix efb pokes
2014-12-13 23:38:07 +11:00
degasus
d5eeb9b713
VideoSW: rewrite VertexLoader to use the VideoCommon one
2014-12-13 10:29:08 +01:00
skidau
d02eb3ca59
Merge pull request #1640 from rohit-n/switch-default
...
Silence some -Wswitch-default warnings.
2014-12-13 19:47:06 +11:00
magumagu
e479606b07
JIT: simplify code using MOVTwo.
2014-12-12 22:29:49 -08:00
magumagu
43d56febc4
JIT: use fastmem loads in MMU mode.
...
Even in games that require MMU mode, loads outside the area specified by
the BAT are rare, so fastmem is a substantial improvement.
All of the interesting changes are in the backpatch handler, to make it
generate DSI exceptions correctly.
2014-12-12 22:08:46 -08:00
skidau
6fb89e3b77
Fixed the Y button (typo) on the GC adapter.
2014-12-13 16:14:18 +11:00
skidau
1f41c3c2d5
Fixed the non-responsive d-pad on the GC Adapter.
...
Fixed -Wmissing-declarations and -Wshadow warning (thanks rohit-n).
2014-12-13 15:04:03 +11:00
Pierre Bourdon
4747cc7a15
Fix DSP CMPAR disassembly
...
Previously the two operand register selection bits were inverted, causing "CMPAR AC1, AX0.H" to be disassembled as "CMPAR AC0, AX1.H".
DSP RE is always fun: on the one hand Nintendo does a lot of stupid shit, so anything weird could be a legitimate bug of the UCode that is not supposed to make any sense. On the other hand, Dolphin *also* does a lot of stupid shit, so there's always that doubt.
Note: completely untested change - done with the GH text editor, just to show you how much I care :) . These operand descriptions are only used for disassembly, so no real behavior change is expected.
2014-12-13 04:14:51 +01:00
skidau
297ef16745
Merge pull request #1678 from skidau/GC-Adapter
...
Added GameCube Adapter support
2014-12-13 12:06:17 +11:00
Yuriy O'Donnell
764aee6995
D3D: Fixed D3D validation error during EFB to texture copy
...
Texture was being bound as a render target while still being set as a shader resource.
D3D automatically unbinds the SRV in this case and generates a validation error.
The fix is to manually unbind SRV, render into it and then re-bind to old slots.
2014-12-13 00:32:08 +01:00
Lioncash
20fc2d5674
MemoryWindow: Remove wxSprintf call, use wxString::Format instead.
2014-12-12 10:29:07 -05:00
degasus
1a5d791964
OGL: fix efb pokes
2014-12-12 16:11:17 +01:00
Rohit Nirmal
b030d29067
Silence some -Wswitch-default warnings.
2014-12-11 22:23:05 -06:00
skidau
7ebca647b3
Merge pull request #1679 from rohit-n/shadow-qt
...
DolphinQt: Silence -Wshadow warnings.
2014-12-12 14:01:19 +11:00
skidau
aaa2dca554
Merge pull request #1684 from skidau/mmu-blocklink
...
Enable block-linking with MMU
2014-12-12 13:51:39 +11:00
skidau
110d079c1e
Enable block-linking with MMU. Blocks that cause an ISI exception are not linked.
2014-12-12 13:25:51 +11:00
Lioncash
815c29f6f4
Merge pull request #1682 from JosJuice/volumehandler-return
...
VolumeHandler: Return success value
2014-12-11 20:38:43 -05:00
Rachel Bryk
6a2973ac1d
Fix hires texture path.
2014-12-11 19:24:16 -05:00
Dolphin Bot
971a95aece
Merge pull request #1503 from kayru/d3d_optimization_cache
...
D3D: Filter redundant API calls by caching state in StateManager
2014-12-11 23:38:35 +01:00
Unknown W. Brackets
029f8c3c3f
OGL: Ensure a VAO is bound for all attributeless.
...
Unfortunately, some of these cases are not well tested, because I don't
know how to reproduce them.
2014-12-11 09:42:49 -08:00
Unknown W. Brackets
de2abbed17
OGL: Move attributeless VAO creation to Init.
...
This way we won't trash an existing bound VBO by mistake.
2014-12-11 01:00:37 -08:00
Unknown W. Brackets
290fd545e6
OGL: Bind the attributeless VAO before EFB copies.
...
Fixes crashes in Zack & Wiki using an older NVIDIA driver.
2014-12-10 23:19:18 -08:00
Unknown W. Brackets
0861cb8744
OGL: Properly reset the attributeless VAO.
2014-12-10 20:11:48 -08:00
skidau
fe67230663
Merge pull request #1670 from lioncash/array
...
FifoRecorder: Use std::vector for m_Ram and m_ExRam
2014-12-11 14:26:09 +11:00
skidau
30b34f3b2e
Moved the GC Adapter processing under "Standard Controller" as it appears the adapter does not work with controllers other than the standard controller (pads, bongos, some dance mats).
2014-12-11 14:06:35 +11:00
skidau
8fdd04e647
Fixed wireless GC controller detection.
...
Made the controller update thread-safe.
Added pad origin to wired and wireless pads only.
2014-12-11 11:15:36 +11:00
JosJuice
16f3970c79
VolumeHandler: Return success value
2014-12-10 22:25:02 +01:00
Fiora
3effd08843
FIFO: allocate slightly more for SIMD vertex loader overreads
...
May fix crashes in rare cases.
2014-12-10 05:52:55 -08:00
skidau
344c43cc74
Retrieved the endpoint addresses of the GC Adapter via the descriptor.
2014-12-10 21:35:30 +11:00
skidau
8d4a47d40c
Added GameCube Adapter support.
...
The libusb driver must be installed on the adapter (e.g. zadig can be used to install the driver in Windows). GameCube pad controllers are supported and will override the current input device assigned to the port. GameCube controller buttons are auto-configured and cannot be re-assigned. Rumble is supported. Hotplug is supported while playing a game. If a controller is unplugged from the adapter, Dolphin will fallback to using the host input device on that port. If a port on the adapter is unused, Dolphin will use the host input device for that port, allowing a mixture of host input devices and controllers connected to the adapter.
The adapter support can be disabled in the Controllers config if the OS driver is preferred (allowing the pad buttons to be reconfigured).
One adapter per system is supported.
2014-12-10 20:45:45 +11:00
Markus Wick
4c139ca7cc
Merge pull request #1609 from degasus/datareader
...
VideoCommon: Datareader
2014-12-10 06:53:11 +01:00
degasus
bf65c49609
PixelShaderGen: merge OGL+D3D bbox
2014-12-09 19:32:24 +01:00
degasus
3fc7e55cc4
VideoCommon: clean up VertexLoader
2014-12-09 18:56:27 +01:00