Commit graph

5687 commits

Author SHA1 Message Date
NeoBrainX
5cfdb2d0c8 DX11: Introduce a StateManager class, might improve performance a little.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5740 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-18 23:33:07 +00:00
NeoBrainX
b4f5a4d89e Compile fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5739 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-18 18:50:04 +00:00
NeoBrainX
bf36f171a6 DX11: Add error checking to about any device object creation. Since we aren't handling creation errors that well right now we should at least output an error message.
Remove superfluous _WIN32 checks in DX11 and DX9. Meant to port that code over to Linux or what? :P


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5738 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-18 18:40:58 +00:00
j4ck.fr0st
866859493a DSPLLE: jit increment/decrement_addr_reg to match int (TODO: increase/decrease).
revert the OR back to MOV, since it never happens (according to nakee)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5737 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-18 15:41:30 +00:00
NeoBrainX
1d1af913a8 DX11: Fix flickering when resizing the emulator window.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5736 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-18 14:55:18 +00:00
j4ck.fr0st
3f633f96bd DSPLLE: some changes i had lying around, get rid of the shifting and make popExtValueToReg do the same as its int counterpart applyWriteBackLog (that is, OR'ing the result of both ops, rather than overwriting the main op result with the ext op result)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5735 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-18 14:51:40 +00:00
NeoBrainX
ca1a5e9228 Actually make use of the new CHECK functionality in DX9.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5734 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-18 14:18:09 +00:00
NeoBrainX
0649bf2a00 Improve the CHECK macro used in DX9 and DX11 to allow more flexible error messages.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5733 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-18 14:14:13 +00:00
NeoBrainX
0a46dead9c DX11:
Implement safe texture cache.
Fix screenshot functionality.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5732 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-17 14:21:31 +00:00
NeoBrainX
e266347160 DX11: Use D3DX11FilterTexture instead of ID3D11Context::GenerateMips.
Test if performance changed in any games by this change, please.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5731 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-17 12:09:56 +00:00
NeoBrainX
91d540ad67 DX11:
Fix all remaining window resizing issues.
Implement screenshot functionality (doesn't seem to work completely, yet).
Assign debug names to (hopefully) all remaining device objects.
Flush the GPU's command buffer in Close() to make the ReportLiveDeviceObjects output clearer.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5730 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-17 10:42:57 +00:00
Glenn Rice
49674400e0 On linux make the build default to autodetection of glew, sdl, zlib, lzo, sfml-network, and soil, with an option to override the autodetection to force a static build.
MaxOSX will always use a static builds of those libraries as per soren's wishes.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5729 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-17 01:18:22 +00:00
NeoBrainX
4f339ebc82 DX11: Introduce a D3DBlob class.
Advantages:
- easier to use
- drops our dependence on d3d10.lib, without depending on the June 2010 DX SDK
- makes finding unreleased buffers easier
- possibly more ;P


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5728 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 23:25:19 +00:00
Soren Jorvang
b63e15e412 Don't try to link with dynamic versions of the LZO/SFML/SOIL libraries
on Linux when building a release image to make it more general.

OpenCL is new in OS X 10.6, so we can't restrict ourselves to the 10.5
compatibility SDK when OpenCL is enabled.

OpenCL really should be a runtime option (and weakly linked on OS X).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5727 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 16:35:19 +00:00
Soren Jorvang
05915922c5 Hopefully fix Windows build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5726 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 14:55:21 +00:00
ayuanx
221e722284 Linux build fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5725 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 14:22:17 +00:00
NeoBrainX
762ce28977 DX11:
Disable D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY when compiling pixel shaders in Debug configurations as well.
Properly support centered text drawing, even though it's not used, yet. Credits go to xsacha for this one.
Found an awesome hacky way to free the buffer memory used by ReplaceTexture2D. At least it gets freed at all now...
Various other tweaks to texture conversion.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5724 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 13:36:40 +00:00
Soren Jorvang
ce3eb2a13b Automatically detect and use shared library packages for
LZO/SFML/SOIL as already done for GLEW/SDL/zlib.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5723 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 12:42:49 +00:00
Soren Jorvang
d24e5a37a6 Build with shared libraries whenever possible on Linux;
on OS X, always build with static libraries from Externals.

XXX LZO/SFML/SOIL are currently static only on Linux as well,
as they have been all along, because of a conflict between
CheckPKG('FOO') and the SHARED_FOO conditionals - on the second
build run with static version of these libraries, CheckPKG picks
them up, negating SHARED_FOO and making the code try to include
the canonical locations for these packages. The easiest fix is
probably to adjust the relative pathnames for those header files
in Externals, so that the same ones are included in the shared
and static cases.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5722 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 11:39:23 +00:00
luisr142004
4f8a6a1573 apply some speedup to dx11 plugin + some minor stuff
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5721 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 10:12:57 +00:00
Soren Jorvang
980a2680be Trim down the SDL and GLEW libraries to just those files we use.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5720 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 09:11:29 +00:00
ayuanx
9b6ccb4d77 Alleviate FIFO overflown situation a bit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5719 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 07:22:47 +00:00
Jordan Woyak
cefc0b2c6f GCPad/WiimoteNew: Hopefully fixed a problem where devices with extended ascii characters in their names didn't work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5718 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 02:57:50 +00:00
Soren Jorvang
b0dff28539 Attempt to resolve the conflict between SDL/include and SDL/Include.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5717 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 01:14:18 +00:00
Soren Jorvang
494ba1eba2 Lint.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5716 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 00:58:34 +00:00
Soren Jorvang
f8cf2aaa3e Only call wiiuse with the number of slots we have configured for real
wiimotes, so that wiiuse_find has a chance to return early when that
number is found rather than wait for the 5 second timeout always.

Hide the auto-(re)connect UI elements on non-Windows so as not to
confuse users until that functionality is implemented generally.

Empty strings are not allowed in wxChoice lists.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5714 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 00:15:58 +00:00
Soren Jorvang
8d2a23e43b Target the desired frame rate exactly rather than n plus one.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5713 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 00:09:33 +00:00
Soren Jorvang
391312641c Build GLEW, SDL and zlib as static libraries from Externals as with
LZO/SFML/SOIL and subject to the same shared_foo exception options.

This makes building a self-contained distribution package much easier.

TBD: Cg and wxWidgets 2.9.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5712 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 00:07:52 +00:00
Soren Jorvang
2db54798d7 Import SDL 1.2.14 and GLEW 1.5.4.
I am not replacing the following header files used by the Windows build,
as I don't have a Windows build setup to test. Please point the Windows
build at the header files inside these clean distribution packages and
garbage collect the duplicates: GLew/*.h and SDL/Include_1.2.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5711 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 23:31:13 +00:00
Rodolfo Osvaldo Bogado
cb1694252b more bug fix in dx11:
fixed screen clearing and simplify drawClearQuad a little
put some nice code from dx11 that i like in dx9.
modify plugin spec preparing for implementing efb poke (is not used often but is a missing functionality so..)
please test.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5710 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 21:19:09 +00:00
ayuanx
4464c11457 Sorry, I forgot to implement LoWatermark code for SC, now both SC & DC are working.
By now I'm pretty sure some games are written in multi-thread, and they depend on Watermark to suspend/resume their threads.
So without Watermark, they will never work.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5709 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 14:24:01 +00:00
NeoBrainX
af9c26ff41 DX11: Fix some corruption caused by passing the wrong pitch to UpdateSubresource.
Fix calculation of miplevels in TextureCache::Load.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5708 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 13:34:39 +00:00
ayuanx
40d87e0f8f Oops, the HiWatermark interrupt latency is too long for game to react.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5707 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 11:20:05 +00:00
ayuanx
105f64359a Games like "Star Fox Adventures" which were enabled in r5681 are now InGame, though the watermark slows the emulator a bit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5706 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 10:58:14 +00:00
ayuanx
64299206d1 I was wrong on the CPEnd issue, which reveals CPBreakpoint > CPEnd is possible and that explains why some BPs could never be achieved before.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5705 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 09:58:43 +00:00
skidau
cab62472b8 Confirmed the ARAM DMA alignment by testing the real hardware.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5704 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 01:01:34 +00:00
NeoBrainX
bd163db74f DX11: Fix window resizing.
Still some aspect ratio problems though...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5703 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 23:41:17 +00:00
NeoBrainX
0ec6a91477 Fail initializing if the D3D11 runtime is installed but no at least D3D 10.0 capable video card is used.
Remove some superfluous checks in the shader caches.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5702 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 22:38:47 +00:00
Rodolfo Osvaldo Bogado
76a2172cee more fixes: fixed line and point rendering
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5701 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 22:06:12 +00:00
Soren Jorvang
31e442f11d Restore the look of the details/banner tab and limit the size of
the properties window so that a large ISO directory doesn't cause
the window to take up the full height of the display.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5700 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 22:01:10 +00:00
ayuanx
673b9ac179 Implemented accurate BP and accurate Watermark, this should eventually retire FAKE_Watchdog.
AbortFrame is not implemented yet.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5699 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 21:55:40 +00:00
Rodolfo Osvaldo Bogado
6c164cd161 some fixes to dx11, now efb access should work well (smg pulling stars)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5698 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 21:45:31 +00:00
NeoBrainX
67283e54fc D3D11:
Hardcode the backbuffer size again.
Fix R5G6B5 texture converting, textures should be perfect now.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5697 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 21:31:23 +00:00
XTra.KrazzY
c1ca3ae96c Optimized FIFO gather a tiny bit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5696 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 20:08:31 +00:00
NeoBrainX
9a76be6edc Add proper adapter enumeration in the DX11 plugin.
Set default video mode format to DXGI_FORMAT_R8G8B8A8_UNORM. This might fix FRAPS recording, but also decrease FPS; test both, please.
Add numerous TODOs


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5695 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 19:20:41 +00:00
Soren Jorvang
ab7302d2e1 Garbage collect a few more XCode files.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5694 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 18:10:55 +00:00
Soren Jorvang
b560d2456e Integrate the standalone memcard manager into the main build.
Use 10.5 SDK header files in an attempt to keep us honest and
10.5 compatible. I'd do the same with system libraries, but
the linker gives strange errors when I try that. We also link
against third party libraries from Macports that haven't had
any magic 10.5 compat dust sprinkled over them, so maybe it
isn't very important anyway.

Move the OS X variable section in SConstruct upwards a bit to
have the settings apply to more of the config tests. SCons'
ParseConfig causes problems for the -arch tuples, though, so
the SDL check still isn't quite as comprehensive as it should
be.

Put the XCode project out of its misery.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5693 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 18:07:29 +00:00
ayuanx
857f1f4d38 Fixed GPFifo out of bounds by 32 bytes
Fixed incorrect FIFO out of bounds check
plus a bit optimization of CheckPipe()

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5692 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 16:32:40 +00:00
Rodolfo Osvaldo Bogado
fc12291806 some fixes to my last commit and ....
modify shader generator to produce native sm 4.0 code.
eliminate compatibility mode in dx11 so now all shader must work much better.
please test.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5691 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 14:36:01 +00:00
XTra.KrazzY
ff50fd188f Reverted even more of r5681. Now games don't hang
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5690 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 12:18:01 +00:00