Commit Graph

13801 Commits

Author SHA1 Message Date
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
shuffle2 d9e2f51900 Merge pull request #1698 from shuffle2/win-qt-5.4.0
windows: use qt 5.4.0
2014-12-17 06:06:59 -08: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
Shawn Hoffman 33634b6489 windows: use qt 5.4.0 2014-12-13 20:59:40 -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