summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoDX9/Src/Render.cpp
AgeCommit message (Collapse)Author
2011-05-12Don't resize render target to handle out-of-bounds viewports. Instead, ↵Nolan Check
adjust the projection matrix. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7538 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-11Fix an error introduced in r7083. In the pixel shader manager the farZ and ↵donkopunchstania
zRange of the z bias were flipped. Switched to using the viewport struct rather than a raw float array to hopefully avoid such confusion in the future. Fixes issue 4060. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7446 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-02Revert r7086.NeoBrainX
Preferring the slow code until it gets optimized properly... git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7435 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-01roll back r7431smelenchuk
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7432 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-01Add a "force no texture filter" option, useful for some 2D games (like Mega ↵smelenchuk
Man 10) and people who like their pixelated graphics. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7431 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-24Have DX9 plugin also dump frames on every VI as opposed to every new frame ↵smelenchuk
(follow-up to r7131 and issue #4064). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7411 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-15A bit of cleanup to Core Init/Stop, Frame, and Main. Cleanup XAudio2 to ↵Jordan Woyak
attempt to fix the crash on stop(didn't help :p). For some reason CFrame::DoStop is called twice.(might be the issue) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7353 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05Replaced Common::CriticalSection with a std::mutex implementation. 64bit ↵Jordan Woyak
Windows builds now use SRWLocks and ConditionVariables(requires Vista/7, x64 builds will no longer work on Windows XP x64). Tell me if you hate that. Removed Common::EventEx. Common::Event now uses a std::condition_variable impl.(using ConditionVariables on Windows x64, Events on x86, or posix condition variables elsewhere). I experience slight speed improvements with these changes. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7294 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-04Fix a typo in BPFunctions causing a PanicAlert in SW:RS2.sl1nk3.s
Really minor bugfix in DX9. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7285 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-28Convert GetUserPath to return a std::string instead of a const char *. This ↵Glenn Rice
simplifies its usage in most cases. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7265 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25little commit to dx9 add generation mode to RestoreAPIState to avoid ↵Rodolfo Osvaldo Bogado
possible errors, don't know if this fix anything but now is more correct. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7245 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17Added an option for input display. This option shows the controls read by ↵skidau
the emulator at each frame. GameCube controls in all four ports have been implemented. Wii controls are todo. The option can be found in the graphics settings. This option is usually used for tool-assisted speed-runs (TAS). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7186 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11* Dump AVI output on every VI (fixes issue #4064).smelenchuk
* Add audio dumping (fixes issue #1638). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7131 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-06D3D9: Fix wireframe rendering.NeoBrainX
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7095 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-05D3D9: Fix 2x anisotropic filtering...NeoBrainX
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7087 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04D3D9: Offset vertices used to copy textures by 0.5.NeoBrainX
I __think__ this is the actually correct way to do it, but not sure. Someone please have a look at this... Not sure if this changes anything anyway, since we're using scissor rects to clip this stuff anyway... Maybe the screen edges weren't cleaned properly before though. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7063 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31D3D9: Fix anisotropic filtering.NeoBrainX
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7019 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31Eliminated the plugin interface. Merged DX9/DX11/OGL video plugins into ↵Jordan Woyak
Dolphin. It could still use a lot of cleanup. Lots of things are still named "plugin". Software renderer is temporarily disabled until it gets some namespaces. I only updated vs08/10, Linux/OSX builds are broken. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6996 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29Put some stuff in the gfx plugins into namespaces, so that the symbols won't ↵hrydgard
collide if someone decides to merge the gfx plugins into dolphin too. still more things left to do though. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6972 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-25Migrate the "Adjust window size" option to the main configuration dialog ↵Glenn Rice
(under the "Display" tab, in "Emulator Display Settings", after "Window Size"). Also rework the way that the option works. When using render to main and the auto resize option, the application window will be resized and then resized back when the emulator stops. This looks much better than the box in the corner look before. Also only resize when it would actually change the size of the window. This fixes the hang on emulation stop on linux. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6910 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-24DX11 code maintenance, part 4:NeoBrainX
Move blend state management from EmuGfxState to Renderer. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6905 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-232 fixes one for dx9 and one for software plugin.Rodolfo Osvaldo Bogado
some little optimization to normal loading. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6898 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-10Fix Z Read precision on DirectX9 plugin, this fixes some stuff in Killer7 ↵sl1nk3.s
such as the one hit kill, and the bullets effect. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6805 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07Fix alpha reads (hurray for the ZWW Pictograph quest and Killer 7)j4ck.fr0st
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6778 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07normalize the efb to texture process for color textures to make it work the ↵Rodolfo Osvaldo Bogado
same in all the plugins and with the same accuracy as real hardware (almost :)) please test for regressions and fixes. some little changes to make pixel shader more dx9 sm2.0 friendly. the condition is not to use pixel lighting ( sorry no hardware support for the quantity of parameters needed). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6777 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07Add anvideo config option to automatically resize the render window to the ↵donkopunchstania
size of the game's output resolution. This avoids artifacts that appear when the render target is scaled to fit a window of a different size. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6764 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-06Changes:gnick79
* Fixed a bug on Texture Converter when Copy EFB to RAM's cache is disabled, so... * ...accordingly, I revert my latest commit because now it becomes useless. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6760 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-06a little cleanup of dx9 depth conversion code that r6751 made unnecessary, ↵nitsuja-
and a question about D3DFMT_D24X8 checks, and (most importantly) spelled Stretch right in video config git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6757 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-04D3D9: Fall back to just creating a depth surface instead of a depth texture ↵NeoBrainX
if the latter one isn't supported by the hardware. This is a workaround for issue 3256. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6737 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-02D3D9: Make sure to use powers of two as render target dimensions if it's ↵NeoBrainX
needed by the device. Some other cleanups. Possibly fixes issue 3256. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6725 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-28Invalidate texture cache when the STC or native mipmaps options are changed.NeoBrainX
Fixes minor graphical glitches in these cases. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6677 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27Implement pixel data reinterpretation on EFB format change.NeoBrainX
Whatever that means, it fixes that stupid Super Mario Sunshine glitch and possibly lots of other stuff, so test as many glitchy games as possible with this ;) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6669 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27Yet another ClearScreen fix, should be the last one now.NeoBrainX
Should fix almost all regressions of the recent ClearScreen changes and keep the fixed stuff. The Super Mario Sunshine glitch is caused by another issue and will be addressed in my next commit. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6668 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27Second Experimental commit: Rodolfo Osvaldo Bogado
corrected peek color and peek z to correctly emulate real hardware formats. implements native gamma correction.(i don't own any game that uses this functionality so i will appreciate feedback) i need a lot of feedback in this changes please enjoy git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6664 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-21ClearScreen fixes:NeoBrainX
- Clear alpha channel to 0xFF instead of 0x00 whenever we (re-)create the EFB texture - Disable color/alpha channels whenever the actual EFB format doesn't use them Fixes issue 2826. Fixes issue 1879. Please check if issue 3014 is fixed now, as well as any other games which might have broken due to ClearScreen changes. For what it's worth, Super Mario Sunshine still shows a small glitch even with these changes. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6635 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-20Various ClearScreen fixes.NeoBrainX
Will fix some games and break some others. Assist trophies in SSBB work fine now, Super Mario Sunshine is a little broken again. Still needs some more work... git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6627 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-19* revert Clear Screen's stuff from r6604gnick79
reason : failure! (are needed more testing) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6621 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-19reduced frequency of dx9 ps_2_0 pixel generation errors, and made dx9 efb ↵nitsuja-
depth peek of 16-bit depth buffer not use 24-bit adjustment factor. shouldn't affect other the plugins. (probably nobody else cares, but I need at least one video plugin that actually works on this computer) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6618 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-18**Changes**gnick79
* More formats recognition for "Clear Screen" step. Improved the ability handling the alpha channel (% color translucency). * Related to CPUID detecting: - Added support displaying correct SysInfo for recent multicore Intel CPUs x86-64 with HT/SMT (Core i3/i5/i7 and Xeon) based on Nehalem architecture. + minor and passive changes. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6604 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-16Revert most stuff from r6517 and revert r6501.NeoBrainX
PixelShaderGen changes broke Mario Kart Wii, ClearScreen changes broke Super Mario Sunshine. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6592 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-11Fix some other off-by-one errors in DX9/DX11.NeoBrainX
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6560 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-10DX9: Fix Renderer::SetLineWidth like hrydgard suggested ;)NeoBrainX
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6551 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-10DX9: Build fix. Also removed the Renderer::SetLineWidth implementation since ↵NeoBrainX
it wasn't really useful. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6550 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-10VideoCommon: Use integer arithmetic instead of floating point arithmetic ↵NeoBrainX
when dealing with EFB scales. Should fix problems caused by EFB scales other than Native (excluding fractional!). Test whether this fixes games which work fine with native EFB resolution but show glitches with higher internal resolutions. Also fixed numerous warnings. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6549 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05Merged the D3D9 debugger into VideoCommon/VideoUICommon:NeoBrainX
Separated UI from debugger functionality. Generally cleaned up that stuff. Most functionality needs to be reimplemented now, but will be available to D3D9, D3D11 as well as OpenGL then. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6523 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-30posible fix for issues 2850 and 3407Rodolfo Osvaldo Bogado
thanks to tapcio for the info git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6502 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-30possible fix for issue 3014Rodolfo Osvaldo Bogado
thanks to iceman4love77 for tracking the error git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6501 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-29DX9 debugger improvements:NeoBrainX
- Fix "Pause at next" functionality for pixel/vertex shader changes, finished frames and texture changes. - Implement dumping vertex declaration and vertex/index data. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6496 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-18Fixed RealXFB being enabled when XFB box is unchecked. Moved some shared ↵Jordan Woyak
code into VideoCommon. Renamed EFBCopyDisable setting to EFBCopy"Enable" in the code and inifile. Fix DX11 settings not loading. Fixed Issue 3378.(graphics settings dialog displaying gameini settings in game) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6435 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-18Move some shared gfx plugin code into VideoCommon. Changed "Renderer" class ↵Jordan Woyak
to use virtual functions. (setting stuff up for video plugin merging) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6433 8ced0084-cf51-0410-be5f-012b33b47a6e