summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/TextureDecoder.cpp
AgeCommit message (Collapse)Author
2010-02-24Reverted because of some processor and performance issue. I will develop in ↵nodchip
a branch about SSSE3/SSE4.1. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5123 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-24Added SSSE3/SSE4.1 code for speed up. The code does not work in this ↵nodchip
revision because cpu_info is not initialized properly. I will fix the issue in another commit. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5119 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-23First a bugfix:Rodolfo Osvaldo Bogado
fixed a misbehavior in the clear code that causes depth clear problems in reference hardware (Intel as example). add 6 parameters to optimize Safe Texture Cache: SafeTextureCacheColorSamples, SafeTextureCacheIndexedSamples, SafeTextureCacheTlutSamples: this 3 parameters gives the number of samples taken to calculate the final hash value, less samples = more speed, more samples = more accuracy if 0 is specified the hash is calculated using all the data in the texture. SafeTextureCacheColorMaxSize, SafeTextureCacheIndexedMaxSize, SafeTextureCacheTlutMaxSize: this parameters limits the amount of data used for the hash calculation, it could appear as redundant but in some games is better to make a full hash of the first bytes instead of some samples of all the texture. color, indexed, tlut : define the texture type, full color data, indexed, and the tlut memory. the parameters are available in the config , no GUI at this time, if the test are OK will add it to the GUI. if someone needs it will give more examples on how to configure the values for specific games. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5116 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-11OSX build fix.j4ck.fr0st
Fixes Issue 2260 git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5039 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-10test commit: please test if this improve the performance with the safe ↵Rodolfo Osvaldo Bogado
texture cache git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5038 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-08second try to implement a more correct safe texture cache, implemented full ↵Rodolfo Osvaldo Bogado
hashing of tlut textures as they are the more problematic, this should solve virtually all the problems with characters in all the games that have them. sorry to tell but this will bring a speed drop, so let you decide if this change stay or not.( used the fastest open source hash algorithm i know) do not apply full hashing to other format because it kills the performance. for popular request added 9x SSAA believe me will kill your graphic card even if is the best but the image quality is exceptional. as always please test and let me know the results. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5034 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-03fixes for my last commit:Rodolfo Osvaldo Bogado
chage the global format of the screenshots to bmp, is correctly supported by both plugins and is faster. reverted the changes in safe texture cache, will try to make them more stable then commit them, this should fix compilation in linux and macand error introduced in MP games corrected all the issues commented by ector, thanks for the comments alway is good that the code is revised by others to find missed spots. please report any remaining issue to solve them. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5001 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-03a lot of modifications here :)Rodolfo Osvaldo Bogado
first fixed scaling when updating backbuffer to make it friendly with encoders, now frame dumping must work without errors in any codec. clean screenshot and frame dumping code now is more correct, faster and stable. improve safe texture cache, improving the distribution of the hash algorithm, including tlut hash in the final hash of the texture, and making use of a 64 bit hash to make it more accurate. clean a lot of code and corrected some missused vertex formats when drawing full screen quads. and biggest change last: implemented pseudo antialiasing: a image post-process algorithm that mimics antialiazing and is fare more easier to implement in this scenario. you can change the intensity of the effect changing the values of the antialiasing combo. the right value depends on the game. for example mkwii looks awesome with 8x. please try all the changes and let me know the results. if something is broken, please let me know and will fix it asap. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5000 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19JitIL is no longer a separate .exe/binary - it's now a simple option, ↵hrydgard
Dolphin.exe now contains both cores. Advantages: * Less confusion for users * No need to build twice to make sure you didn't break something * Easier to switch between the cores for testing Disadvantages: * None, as far as I can tell :) Maybe some extra code complexity, but not much. Also break some include chains that caused <windows.h> to get included into everything, slowing down the build on Windows. There's more to do here though, there's still a lot of files that get it included that don't need it at all. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4891 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15ok big changes here:Rodolfo Osvaldo Bogado
in videocommon little fix for the alpha test values, return to the original values as they are more accurate. in D3D: huge change in state management, now all the state management is centralized and redundant state changes are eliminated. Fixed the overlapped viewport error in non ati cards: the error was caused by this: when a viewport is defined larger than the current rendertarget, an error is thrown and the last valid viewport is used, this is the reference behavior, in ati cards if a larger viewport is defined, no eror is returned, the rendering is valid and is rendered using the projection defined by the viewport but limited to the rendertarget are, exactly like opengl or the GC hardware. to solve this in reference drivers defined a large rendertarget (2x the size of the original) and proceed to render in a centered quad insithe the larger rendertarget, in this way larger viewports always falls inside a valid rendertarget size, the drawback of this is the waste of resources. it can be dynamized, depending or games or changed at runtime when a oversized viewport is detected, but i live that to future commits. please test this and let me know the results. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4841 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-09Small fix for the last commit, and a little fix for disable fog to really ↵Rodolfo Osvaldo Bogado
disable it :) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4662 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-07mixed commit:Rodolfo Osvaldo Bogado
in D3D and Opengl: fixed one nasty bug in texture loading where if a dynamic texture keeps his format but the tlut format is changed, the try or reloading the texture in the same texture could cause a hang if the size of the resulting texture is different than the original (size in bytes) Applied a ugly temporal hack to the texture conversor to solve efb to ram misalignments and effect distortions. in D3D: Pseudo implementation of logic ops using basic blending: the first 8 operations are "good approximations", the remaining 8 are bullshit :) if someone have a better approximation to emulate this logic please let me know. please test if i don't break anything in the process and test Mario kart wee you will get a nice surprise.:) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4656 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-02Fixed 24 bit depth copies to RAM. 24 and 16 bit depth copies are now more ↵donkopunchstania
accurate. Added an offset to DX copies to RAM and made half sized copies to a texture linearly filtered. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4635 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-15EFB to RAM in OGL and software plugin now work correctly when texture in RAM ↵donkopunchstania
is a different size than the source. Corrected some block heights in texture decoder to fix copying certain EFB formats. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4580 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14reapply changes from 4550-4551,4556-4559 correctly...sigh...some files were ↵Shawn Hoffman
ignored by tortoisesvn, and myself :| git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4570 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14revert to r4531, but keep the changes from the following revisions: ↵Shawn Hoffman
4533,4550-4551,4556-4559 git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4566 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-13some minor changes preparing for future commits, and a correction to texture ↵Rodolfo Osvaldo Bogado
alignment that must solve the efb misalignments in various games git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4556 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-10Moving pixel engine and command processor from core to video common. This ↵donkopunchstania
will break previous save states. Adds decoding single pixels to texture decoder. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4391 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-07OpenCL: More windows support and some unfinished workXTra.KrazzY
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4380 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-07More OpenCL work, got XFB converting which needs more optimization. I ↵Sonicadvance1
haven't checked for FPS changes. My desktop isn't the best to test on anyway (Phenom 1, 32 stream processors). The package check doesn't work for me, so I just checked true if you compile with opencl=true. Requires a bit of cleanup still git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4369 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-30OpenGL and OpenCL are NOT related! (Committed here are some scons fixes)XTra.KrazzY
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4349 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-30OpenCL: A bit more work.XTra.KrazzY
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4347 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-30Base of OpenCL codeSonicadvance1
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4346 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02GL/D3D: slightly more accurate and faster DXT decoding, thanks to Orphishrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4172 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02Got rid of all of jp's ////////////////////////////// lines (nearly 500 of ↵Marcus Wanners
them)! Yes, I used a script :D git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4169 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02D3D: Fix nonpow2 textures (simply turn off the rect texture stuff since it's ↵hrydgard
not necessary under D3D). some cleanup. Add a TODO (tip from Orphis) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4168 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02Warning fixes/suppressions(aui), assorted code cleanup, d3d vertex shader ↵hrydgard
cache expiration interval increased. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4165 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-11GFX: Cleanup - Move OGL's GetBlockHeightInTexels and GetBlockWidthInTexels ↵omegadox
code into VideoCommon. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3962 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-11Small fix for TexDecoder_GetBlockHeightInTexels, but see no noticeable changes.omegadox
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3961 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-30Don't use lookup tables. It's better to use CPU registers and reduce memory ↵Nolan Check
accesses. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3909 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28Now ALL copyright dates are fixed to the legally correct year: The year in ↵XTra.KrazzY
which the project began. Now we don't have to change it every year :) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3898 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-26GFX: updated Dates, code formatting cleanup, code cleanup / organization, ↵omegadox
some unknown BPs uncovered, fixed OGL's config dialog bug, added another shader DSPHLE: Some warning fixes and added some logging for unknown voice cases Please report if anything has broken. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3884 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-13Possible fix for S3TC Texture Decoding (Grass in ZWW is now properly alpha ↵omegadox
tested), and some code formatting cleanup. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3224 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-13TextureDecoder now indicates I4 and IA4 texture formats. It also decodes ↵Nolan Check
paletted textures more efficiently. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3213 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-11Disable PC-native DXT texturing. Too many problems for now.hrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3203 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-09A fix by baby.lueshi that fixes the problems with rev 3187death2droid
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3190 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-09Revert r3187 causes games to return lots of errors.death2droid
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3189 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-08Use correct width and height for compressed texturesNolan Check
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3187 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-06Add PC-native DXT1 support to VideoCommon and VideoOGL. Thanks to ↵Nolan Check
XTra.KrazzY and death2droid. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3159 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-20Assorted cleanup and comments.hrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2693 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-18nakee's new logmanager. added a console window for windows builds (prints to ↵Shawn Hoffman
parent console on non-win32). also fix some random wxw bugs: main window's position is saved when using debugger, disabling windows from the tools menu are saved settings, some other small fixes git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2675 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-15Fix the nasty black fringes seen around alpha tested DXT textures in some games.hrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2661 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-08Fixed texture overlay, clarified CPMemory STATE_TO_SAVEXTra.KrazzY
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2614 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-02Revert to slightly tweaked version of "old" safe texture hash. Hopefully ↵hrydgard
fixes issue 636. Does somewhat break pokemon colosseum w/ safe texture hash, but that games works fine with the unsafe texture hash. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2532 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-23just some minor cleanup (texdecoder, dsoundstream)hrydgard
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2394 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-19Fixed texture overlays. Can I remove the OVERLAY_TEXFMT definition? It just ↵XTra.KrazzY
makes the code look messy. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2306 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-14New compact texture type for OGL/D3D: IA4. Thanks for the IA4->IA8 unpacker ↵XTra.KrazzY
hyperiris! Too bad that D3D supports IA4 natively while OGL is a bit buggy (treats LUM4_ALPHA4 as LUM8_ALPHA8). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2238 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-13New compact texture type for OGL/D3D: IA8XTra.KrazzY
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2233 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-12Tiny: Unnecessary function removalXTra.KrazzY
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2226 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-12New compact texture type for OGL/D3D: RGB565XTra.KrazzY
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2225 8ced0084-cf51-0410-be5f-012b33b47a6e