summaryrefslogtreecommitdiff
path: root/Data/User/OpenCL/TextureDecoder.cl
AgeCommit message (Collapse)Author
2010-12-19Fix TextureDecoder.cl to work on both NVidia and ATI video cards.Glenn Rice
To do so I had to re-add the casting bloat removed in revision 6102. Also, for some odd reason the NVidia OpenCL drivers don't like 8 bit rotations, but are okay with 2, 4 bit rotations. These are apparently bugs in the NVidia drivers that are hopefully fixed in future versions. Also, on linux make sure the TextureDecoder.cl file is copied from the shared data directory to the users directory. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6611 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-16Remove unnecessary casting bloat. Since AMD Stream 2.2 this is no longer a ↵xsacha
requirement. Stream 2.2 is minimum requirement for OpenCL 1.1 and binary kernels as well (I hope to implement these soon).Remove unnecessary casting bloat. Since AMD Stream 2.2 this is no longer a requirement. Sidenote: Stream 2.2/Catalyst 10.7b is minimum requirement for OpenCL 1.1 and binary kernels as well. I hope to implement these soon. For the latest ATI Drivers and SDK: http://support.amd.com/us/kbarticles/Pages/OpenCL11ATICat107UpdateDriver.aspx http://support.amd.com/us/kbarticles/Pages/OpenCL11ATICat107UpdateDriver.aspx git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6102 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-25Small update to fix some cmpr alpha issues with games that use linear ↵xsacha
filtering. Apparently the colour values matter even though alpha = 0. Also, remove redundant ANDs. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5787 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-24Changes:xsacha
- RGBA8 (DX9/OGL): 10x speed up on Radeon 5450, 2x speed up on other cards due to swizzle registers. - RGB565: 2-3x speed up on all hardware - Removed OpenCL compiler warnings (eg. redefine). OpenCL is now optimally complete for DX9/OGL. The code is very fast on all supported hardware. No more updates are needed unless the spec changes or drivers improve. When I started, the OpenCL code was as slow or slower than CPU. Now, using the lowest end radeon that supports the code: a Radeon 45xx mobility, I experience a substantial 2-10x speedup over CPU. The benefits are more pronounced with modern hardware. A Radeon 5870 runs this code 20x faster than a 4550. Even ignoring speedups, the code benefits users by not using CPU for intermittent texture loads (unless GPU is your bottleneck). Instead, the CPU is able to do more important tasks. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5775 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-22New OpenCL update for DX11xsacha
Changes: - IA4: 2x Speed up for all hardware and ATI glitch fixed (blocky text) - IA8: 2x Speed up for all hardware - New DX11 OCL Textures: I4, I8, IA4, IA8 git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5766 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-22Added OpenCL texture decoding to RGBA usable by DX11 for formats RGB565, ↵Orphis
RGBA8, RGB5A3 and CMPR git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5765 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-21Fix color precision problems when decoding CMPR and RGB5A3 textures with OpenCLOrphis
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5763 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-21A new update for OpenCL.h.xsacha
Changes: - Strict casting as required by NVidia. Now NVidia cards should work. - Fixed Alpha CMPR bug. Please tell me if you find any bugs. Current known bug is the 'Press' texture in Paper Mario that is meant to flash rainbow colours appears black. Other than that, everything should work on every videocard. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5759 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-20Hi! This is my first commit so be nice :)xsacha
New OpenCL updates: - OpenCL bug with ATI SDK (GPU or CPU) fixed. - IA4 texture loop unrolled. 12x speed up on 4xxx series. - Completed rewriting RGB5A3 texture decode. 20% faster. - Redundant code removed from CMPR and RGB5A3 (Alpha, shift). - Made use of optimised OpenCL functions (upsample, bitselect). - Cleaner code. Tested and working with DX9 plugin. DX11 plugin will NOT work due to a recent commit affecting VideoCommon. You can use this file with an older DX11 plugin (~r5730), however. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5753 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-20Some more OCL changes : Gives 10x speedup for RGB5A3 on pre-DX11 hardware. ↵luisr142004
Minor speedup for CMPR. (code by xsacha) plus a segfault fix for issue 2779 git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5751 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-19apply a patch done by xsacha :) + some minor stuff :pluisr142004
what changes do: cmpr decoding is fixed and rgb5a3 is re-enabled git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5744 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-09Hg:Shawn Hoffman
enable newline normalization get revision number via `hg svn info` for svnrev.h ignore incremental/generated binary files (windows/VS at least) leave a comment if some files need native eol set in svnprops git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5637 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23Dolphin now uses the first OpenCL device found on the system.skidau
Added cast in TextureDecoder.cl to satisfy the OpenCL compiler (thanks, Orphis). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4718 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-22OpenCL: Fixed and enabled CMPR decompressionOrphis
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4448 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-20OpenCL: Moved the OpenCL code from the compiled source to a separate file ↵Orphis
TextureDecoder.cl and added a .rules files to copy the updated version to the build directory. Fixed RGB5A3 decoding with alpha New CMPR decoding, blocks with no alpha are great, still have to figure the problems with transparent blocks. Disabled for now. Added a better error reporting to the base OpenCL functions git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4439 8ced0084-cf51-0410-be5f-012b33b47a6e