aboutsummaryrefslogtreecommitdiff
path: root/system/shaders
AgeCommit message (Collapse)Author
2011-09-02Scale horizontally to an intermediate target, then vertically to the final ↵CrystalP
target. Each step is materialized by a shader pass. The intermediate render target now has the source height and the destination width, which is reflected in the vertex coordinates and the vertex coordinates stepping parameter.
2011-09-01Add multipass shader support to the CWinShader class: Execute() receives an ↵CrystalP
array of render targets and uses different vertices for each pass. The parameters are set once before rendering. The shaders themselves haven't changed yet, the second pass is just a dummy copy of the source to the target.
2011-09-01First step - duplicate the convolution shader code in two child class of a ↵CrystalP
new base class. One will become the new 2 pass implementation and the base class allows easy runtime switch between the 1 pass and 2 pass implementations. The bicubic and Lanczos2 activate 1 pass, Lanczos3 optimized and Lanczos3 activate 2 pass, making it very easy to compare performance and to check for visual bugs...
2011-07-10changed: improved gles performance by avoiding bgra->rgba convert for texturestheuni
Previously, bgra textures were uploaded as rgba then converted back in shaders. Instead, check for the existance of BGRA extensions and convert on upload instead. If no extension is found, convert in software before uploading. This allows us to remove the swizzle in our shaders, which amounts to a significant performance gain.
2011-05-04change all usage of m_colour from mediump to lowp in shaders, yields a ↵S. Davilla
slight fps increase
2011-05-04cosmeticsS. Davilla
2011-05-02[all] changed m_colour from mediump to lowp, improves gui fps on resource ↵S. Davilla
limited platforms and does not effect mainline platforms
2011-02-06[WIN32] add yuy2/uyvy rendering (software and ps)CrystalP
2011-02-06[WIN32] always use bilinear sampling. Simpler and same performance as ↵CrystalP
nearest neighbour
2011-02-06[WIN32] add nv12 rendering (software and ps)CrystalP
2011-02-04[WIN32] xbmc doesn't use mipmapping, keep the default state of NONECrystalP
2011-01-25fixed: add files for OMX decode to eglimagePhaeodaria
fixed: add multi_blendcolor shader
2011-01-25Add decode to eglimage for OpenMaxPhaeodaria
2011-01-24Fixes GLES rendering issuesPhaeodaria
- fixed multitexturing second texture have not been used - fixed alpha channel of color hasn't been used for font rendering
2011-01-04Fix CRLFCory Fields
2010-09-13[ARM] OpenGL ES2.0 shaders are now seperated into different glsl files, with ↵mcgeagh
descriptive filenames git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@33727 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-09-08[ARM] Added: Additional gui shaders - actually added shaders this timemcgeagh
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@33617 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-08-24[WIN32] added: PS renderer support for HW without float textures (Intel 3100 ↵CrystalPT
for example) git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@33079 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-07-22added: copyright notice to shader filesbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@32075 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-07-17[WIN32] added minimal shader to test D3D loadingCrystalPT
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31866 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-07-15added: UYVY supportbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31832 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-07-10added: non-linear stretch for GL_ARB_texture_rectanglebobo1on1
fixed: non-linear stretch doesn't work on POT so don't allow it git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31699 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-07-10fixed: sampling coordinatesbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31698 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-07-10refactor: take pixels per texel into accountbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31691 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-07-10added: YUY2 to rgb conversion with shadersbobo1on1
removed: double upload for YUY2 git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31688 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-07-10Merge branch 'commit-shaders'CrystalPT
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31685 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-07-08added: YUY2 support to linuxrendererglbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31669 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-06-30make texture coordinates of videofiltershader match with yuvshaderbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31535 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-06-30refactor usage of stepxy in videofiltershaderbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31534 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-06-16fixed: GLES blending performance enhancements and color fixes. Ticket ↵jmarshallnz
#9351, thanks to Phaeodaria. git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@31128 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-05-21fixed: usage of GL_TEXTURE_1D/GL_TEXTURE_2D in VideoFilterShader.cppbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@30386 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-05-18[arm] 1) improve GUI framerate from 7 to 50+fps @1280x1024 by using multiple ↵davilla
shaders, 2) fixes blending issues (colors were not normalized), 3) reduced number of glDrawElement calls to 1 per string instead of 1 per character, This can be improved again by refactoring the GUIFontTTF class to directly generate the VBO necessary for this call. A very big thanks to Phaeodaria (trac #9217) for his work on this git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@30290 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-05-18[arm] merge arm-camelot into trunk, thanks to mcgeagh for all his hard ↵davilla
working getting arm platform rolling git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@30281 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-03-22revert r28750 and r28588 to keep compatibility with opengl versions lower ↵bobo1on1
than 3.0 git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@28753 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-03-22fixed: textureOffset requires glsl #version 130bobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@28750 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-03-15changed: use textureOffset to get pixels, this increases performance by 12% ↵bobo1on1
but requires glsl 1.30 git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@28588 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-03-15changed: make step a vec2 instead of two floatsbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@28586 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-03-11changed: use 8 bit kernel when float textures are not supported, it's ↵bobo1on1
equally wrong but a lot faster git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@28540 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-03-06applied r28425 to convolution shadersbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@28426 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-03-06fixed: mesa in jaunty doesn't support preprocessor macros in glslelupus
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@28425 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-03-06changed: Clarified the transform for non-linear stretching, and split actual ↵jmarshallnz
stretching between linear and non-linear git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@28416 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-03-05added: non-linear stretch for openglbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@28406 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-02-10fixed: make sure all taps added together is exactly 1.0, otherwise some ↵bobo1on1
distortion can occur, this lowers performance by less than one percent git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@27628 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-01-29changed: always use the alpha component of the V plane, and for nv12 bind ↵bobo1on1
the UV texture to GL_TEXTURE1 and GL_TEXTURE2, this way yv12 and nv12 can be rendered with the same shaders git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@27285 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-01-29removed: deprecated bicubic shaderbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@27281 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-01-18small performance tweakbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@26960 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-01-17fixed: make sure lines are summed to a half3bobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@26953 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-01-17[WIN32] added: D3D Pixel Shader Video Scalers #8412 (thanks ArtVandelae)wiso
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@26952 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-01-17added: support for nvidia's half float when availablebobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@26951 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
2010-01-15fixed: comments now state what I meant, so AlTheKiller can't blame elupusbobo1on1
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@26880 568bbfeb-2a22-0410-94d2-cc84cf5bfa90