aboutsummaryrefslogtreecommitdiff
path: root/system/shaders
AgeCommit message (Collapse)Author
2016-01-08[win32] Fixed convolution-6x6_d3d.fx shader.Anton Fedchin
2015-12-30[VideoPlayer/VideoRenderers/Win] Added workaround to fix an issue with color ↵Anton Fedchin
range on some hardware which doesn't support color range conversion or whose drivers are crappy. Now we're using same technique for color range conversion which is used in UI instead of using video processor.
2015-12-06gl: GLSLOutput helper with ditheringLauri Myllari
Implement a GLSLOutput class that can be passed to shaders to implement an output stage with RGB range conversion and dithering. Add support for GLSLOutput in YUV2RGBShader and ConvolutionFilterShader. Single pass rendering to full range is not optimal as the range conversion could be done in colorspace conversion matrix. Keeping video levels avoids banding in multipass rendering though.
2015-12-06gl: split output stage from convolution shadersLauri Myllari
2015-12-06gl: split output stage from yuv2rgb shaderLauri Myllari
In preparation for new features, create a separate output stage that can be attached either to yuv2rgb or convolution filter shader. This stage will include things like color management, RGB range conversion and dithering.
2015-12-06X11: add EGLRainer Hochecker
2015-09-25[WinVideoFilter] Lower feature level for test shader. This fixes segfault in ↵Anton Fedchin
video drivers which support only FL9.1/9.2.
2015-08-28[guilib] GUIShaderDX: Added color adjustment to shaders for correct ↵Anton Fedchin
displaying limited color range.
2015-07-11[dx11] WinVideoFilter: a little shaders optimizations.Anton Fedchin
2015-07-04[win32/dx] Fixed segfault on feature level 9.1.Anton Fedchin
2015-07-04[WinVideoFilter] Rework to DirectX11.Anton Fedchin
2015-07-04[win32] Added DirectX11 GUI shaders.Anton Fedchin
2015-01-20ADD: [gles] enable contrast & brightness controlsChris "Koying" Browet
2015-01-20CHG: [gles] use shader for generic yuv bob deinterlacingChris "koying" Browet
GLES 2 does not support GL_UNPACK_ROW_LENGTH. That makes de-deinterlacing a texture in CPU unbearably slow on some SoC's.
2015-01-20ADD: [gles] BOB deinterlacingChris "Koying" Browet
2013-10-17gles: fixed, add missing nv12 render formatdavilla
2013-10-02droid: Add Android MediaCodec for DVDPlayerdavilla
2013-09-15[GLES] Batch textures and their borderstheuni
Gives a considerable speedup in scenes with many bordered images (like settings).
2013-09-13[GLSL] cut diffuse+blend render time by 1/3theuni
Mainly seen when we're fading in/out. Mali likes this ordering better for some reason, ops go from 3 to 2 (according to their profiler). Verified with PVR's compiler that there is no change, it's 2 there either way.
2013-09-13[GLES] speed up blendingtheuni
(texture * color) costs us an extra operation on Mali when sent as varying. Instead, since textures use the same color for the entire render, send it as a uniform instead. This does not apply to fonts, since the font and its shadow are rendered together, and may not share a color (tested and looks bad). This increases fps anywhere heavy blending is done.
2013-09-12vdpau: redesignxbmc
2013-08-11[cosmetic] update copyright headersMartijn Kaijser
2013-07-25[cosmetics] update copyright headersM. Kaijser
2013-02-09[cosmetics] update date in GPL headerMartijn Kaijser
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