summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoDX9/Src/PixelShaderCache.cpp
AgeCommit message (Collapse)Author
2013-08-15Revert wrong indentation of some files. sorry for that one i was really ↵Rodolfo Bogado
convinced that i read that spaces must be used instead of tabs :)
2013-08-15re indentation to follow emulators code rules in some files I'm modifyingRodolfo Bogado
2013-08-11fix for 4x super sampling AA.Rodolfo Bogado
make the distance of the samples from the center smaller to minimize errors.
2013-06-17Merge 'master' into shader-uids-awesome.NeoBrainX
Conflicts: Source/Core/VideoCommon/Src/LightingShaderGen.cpp Source/Core/VideoCommon/Src/PixelShaderGen.cpp Source/Core/VideoCommon/Src/PixelShaderGen.h Source/Core/VideoCommon/Src/VertexShaderGen.cpp
2013-06-16Build fix: Android NDK doesn't support any locale switching.Armada
Also, Mac OS X doesn't support DX9.
2013-06-16Set the locale per-thread instead of globally when generating shaders. Add ↵Armada
cross-compatible versions of newlocale, uselocale and freelocale. This commit fixes a rare race condition when generating shaders because setlocale is global.
2013-04-29Polish shader uid checking.NeoBrainX
2013-04-25Merge 'master' into shader-uids-awesome.NeoBrainX
Conflicts: Source/Core/VideoCommon/Src/BPMemory.h Source/Core/VideoCommon/Src/LightingShaderGen.cpp Source/Core/VideoCommon/Src/PixelShaderGen.cpp Source/Core/VideoCommon/Src/PixelShaderGen.h Source/Core/VideoCommon/Src/PixelShaderManager.cpp Source/Core/VideoCommon/Src/VertexShaderGen.cpp Source/Core/VideoCommon/Src/VertexShaderGen.h
2013-04-17New license header introduced to all Video based projects.Lioncash
2013-04-15Update the license file text (change SVN to Git) in all projects except Core ↵lioncash
since I was told a merge was happening soon. So for the sake of the merge going smoothly, I'll fix that when I remove the tab/space mismatches from the Core project. Also, some tab/space mismatches removed from VideoOGL, and some places I missed in VideoDX[number] projects. Now, the Core is literally the only project with tab/space mismatches (on a large scale).
2013-03-26Fix Windows build, try 2.NeoBrainX
2013-03-26Fix Windows build, try 1.NeoBrainX
2012-08-10Revert the recent zcomploc changes including the Graphic_Fixes merge.NeoBrainX
Reason: - It's wrong, zcomploc can't be emulated perfectly in HW backends without severely impacting performance. - It provides virtually no advantages over the previous hack while introducing lots of code. - There is a better alternative: If people insist on having some sort of valid zcomploc emulation, I suggest rendering each primitive separately while using a _clean_ dual-pass approach to emulate zcomploc. This reverts commit 0efd4e5c29766ba5f5d22204339637ade9ccec83. This reverts commit b4ec836aca4392a86b864dc58b1030ca616fe0d5. This reverts commit bb4c9e2205d4117f48fd4ca50774ee56c28c92e4. This reverts commit 146b02615c07dd52dddaa18b7e23d09bc23b549e.
2012-04-03Second Stage: re implement zcomplock and correct all the logic error in ↵rodolfoosvaldobogado
PixelShaderGen.cpp. i disable fastzcomlock for the moment to avoid confusions. please test for regressions
2011-09-29Only sync shader caches to disk on stop.NeoBrainX
2011-09-29Fix Windows build.NeoBrainX
2011-09-29Clean up various things.NeoBrainX
2011-09-10- D3D9: pass the correct API type to ValidatePixelShaderIDsNeoBrainX
- don't load shader cache from disk in d3d9/11 if shader debugging is enabled (we won't have any info about the source shader code otherwise, etc) - dump shader source codes on safe UIDs mismatch Thanks to LordMark and [SS] for reporting those to me ;)
2011-09-09Make shader ID validation optional by adding a gfx setting called ↵NeoBrainX
"EnableShaderDebugging". Setting this to True will enable additional checks if the shader cache misses any relevant register changes.
2011-09-09Improve the shader UID debugging stuff and merge it to VideoCommon, ↵NeoBrainX
effectively enabling it in D3D9 and D3D11 as well.
2011-07-29Shader compilation error message modified to contain some helpful ↵NeoBrainX
information for noobs (includes a reference to the full bad shader dump). Removed the "Hide Shader Errors" option; hide shader errors if panic handlers are disabled now. Removed superfluous error messages about shader compilations; display only one error message instead. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7688 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-11Revert r7421 and r7422.NeoBrainX
Should fix issue 4413. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7592 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-10just a little cleanup to maintain minimal interfacesRodolfo Osvaldo Bogado
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7591 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-05fix buildJordan Woyak
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7586 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-04Allows DX9 shaders to be SM2 compatible again at the loss of accuracy. SM3 ↵Sonicadvance1
is recommended. Fixes issue 4546. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7585 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-30Add a partial fix for 4xSSAA in D3D9 (issue 4090).NeoBrainX
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7495 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-30Eliminated a memcpy in DX11's vertex shader disk cache loading. Maybe games ↵Jordan Woyak
will boot faster now, who knows? git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7422 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-30I think clean up DX11 code a bit. Used "smart" pointers to avoid need to ↵Jordan Woyak
manually AddRef/Release in many places. Eliminated the D3DBlob class (replaced with just D3D10CreateBlob). Eliminated some Init/Shutdown functions (moved stuff into ctors/dtors). This should not affect behavior at all, only code maintainability. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7421 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-01More conversion from char * to std::string.Glenn Rice
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7266 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-24Just a small accuracy fix for r6819, fixes the pixel line in the volumetric ↵sl1nk3.s
fog effect of Metroid Prime (closes issue 4162) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7236 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04D3D9: Some fixes to EFB format reinterpretation. Should be more correct now.NeoBrainX
Might fix issue 3780. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7062 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-11Sneak in a quick fix for the sun effect in Wind Waker and Mario Sunshine ↵sl1nk3.s
before anyone notice it's broken ! git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6819 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-09some little optimizations and some cleaning.Rodolfo Osvaldo Bogado
now lighting should be fully functional again in SM 2.0 cards git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6794 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-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-05improve z copy a little further in 4 bits copy,Rodolfo Osvaldo Bogado
fix and error introduced by my last commit in dx11 plugin git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6754 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05corrected depth copy shader in dx9/dx11 to improve accuracy when doing efb ↵Rodolfo Osvaldo Bogado
to texture for depth formats git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6751 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-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-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-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-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-15Made LinearDiskCache a template class. Keys are now some POD type (fixed ↵Jordan Woyak
size). Eliminates casting and key size checking. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6420 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-31DX9, Debugger: Implement pixel/vertex shader and texture dumping.NeoBrainX
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6322 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-21Put infrastructure in place so that other plugins may support dual-source ↵Nolan Check
blending. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6296 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-30Added EFB Scale option to the OpenGL plug-in.skidau
Renamed EFB Scale to Internal Resolution. Removed Auto Scale option (it is now always on). Added on-the-fly changing of the Internal Resolution in the OpenGL and Direct3D9 plug-ins. Further consolidated the code in the video plug-ins. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6240 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28Minor code formatting:skidau
First step to bring a level of consistency between the video plug-ins - variable names, spacing, function names, function order, comments, file names. This will help us identify common code for VideoMerge. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6235 8ced0084-cf51-0410-be5f-012b33b47a6e