aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-01-27[AML/videobookmark] - use the CScreenshotAML class for generating video ↵Memphiz
bookmarks on amlogic
2015-01-27[AML/Screenshot] - add screenshot implementation for aml platforms - based ↵Memphiz
on the amvideocap driver (needs amlogic kernel with amvideocap support)
2015-01-27[win32/packaging] - bring the package list back to alphabetical orderMemphiz
2015-01-26python: add ControlTextBox.autoScroll() (thanks notspiff)montellese
2015-01-26guilib: add CGUITextBox::SetAutoScrolling(delay, time, repeatTime [, condition])montellese
2015-01-26cmake: fix expansion of EXTERNALPROJECT_SETUP variablemontellese
2015-01-26cmake: replace addon depends build system with call to add_addon_dependsmontellese
2015-01-26cmake: add some comments to handle-depends.cmakemontellese
2015-01-26[win32/packaging] - Update download script to retry downloading if archive ↵Karlson2k
can't be extracted
2015-01-26[win32/packaging] - repack all win32 depencencies into formed packagesMemphiz
2015-01-26[gui] fix font cutting in auto height textboxesMatthias Kortstiege
2015-01-26Merge pull request #4143 from bavison/font_cachepopcornmix
Cache font vertices, GPU-side when possible
2015-01-26Merge pull request #6271 from Montellese/fix_cmake_backwards_compatjenkins4kodi
2015-01-26Switch from glDrawArrays() to glDrawElements().Ben Avison
This involves setting up a static VBO containing the indexes necessary to convert from quads to triangles on the fly in the GPU.
2015-01-26Move vertex data into an OpenGL VBO when the font cache entry is populated.Ben Avison
The font cache now stores the "name" (handle) of the VBO, rather than a vector of vertices.
2015-01-26Move the vertex data across to a vertex buffer object just prior to drawing.Ben Avison
2015-01-26Enable hardware clipping.Ben Avison
2015-01-26Rather than applying the translation offsets to the vertices, now appliesBen Avison
them to the model view matrix from the top of the matrix stack and pushes it over to OpenGL. The vertices themselves are still all held client-side.
2015-01-26Move the application of the translation offsets into the GLES code.Ben Avison
Still all pure software at this stage. Main change is in the data types at the interface between CGUIFontTTFBase and CGUIFontTTFGL. The old way (array of vertices in m_vertex) are retained in addition, for the sake`of cases that need to use software clipping on GLES, as well as for DX and GL support where the new scheme is not (yet?) used.
2015-01-26Rewrite of scrolling text code.Ben Avison
No longer shuffles the string round to minimise the number of characters before the clipping rectangle; this doesn't save much on rendering time but does harm the effectiveness of the cache. Now uses a pixel offset into the string rather than a character + pixel offset, and plots the entire string every time (execpt when the wrap point is visible, in which case the entire string is plotted twice). It also makes motion smoother, because (possibly unintentionally) the previous code preferred to align the scroll offset with character boundaries. This would lead to uneven changes of position, especially when the width of the character currently being scrolled off the edge was only slightly more than an integral multiple of the scroll increment.
2015-01-26Increase font cache hit rate by keying on the fractional part of m_originXBen Avison
and m_originY *after* they have been through the graphics context's transformation matrix, plus the scale/rotation elements of the matrix, rather than the origin in the original frame of reference plus the complete transformation matrix. All vertices of individual glyph bounding boxes are a constant offset from this position, and when the fractional part of the translation is a match, the rounding of each vertex will be in the same direction; this permits us to calculate the desired vertices from the cached ones simply by adding the integer parts of the translations with no additional rounding steps. Note that this requires that software clipping is *not* performed.
2015-01-26Lay the groundwork for hardware clipping.Ben Avison
For glScissor() to replace CGraphicContext::ClipRect, a necessary condition is that no shear or rotation is introduced between the coordinate systems they use; this depends upon the settings of the GUI matrix m_finalTransform as well as the OpenGL model-view and projection matrices. These all remain unchanged between paired calls of CGUIShader::OnEnabled and CGUIShader::OnDisabled, so we scan the matrices in CGUIShader::OnEnabled to see whether hardware clipping is possible. Then, in CGUIFontTTFBase::RenderCharacter, we don't apply software clipping in such cases. However, because vertices arising from multiple CGUIFontTTFBase::DrawTextInternal calls (each of which often uses a different clip rectangle) get lumped into the same vector, which only at the end is passed to OpenGL for rendering, we need to wait a few commits before we can actually apply hardware clipping. In the meantime, expect to see rendering errors.
2015-01-26Add a cache of font glyph bounding box vertices.Ben Avison
This is implemented as a template because ultimately we will key on different parameters and store values of different types, depending upon whether we have a GLES or non-GLES backend, and for GLES, whether or not the currently applicable transformation matrices permit the use of hardware clipping.
2015-01-26CGUIFontTTFBase::RenderCharacter can now append to arbitrary vectors of verticesBen Avison
rather than only CGUIFontTTFBase::m_vertex
2015-01-26Convert CGUIFontTTFBase::m_vertex to be managed as a std::vector.Ben Avison
Also retired CGUIFontTTFBase::m_vertex_count and CGUIFontTTFBase::m_vertex_size because these can be derived from vector member functions.
2015-01-26Merge pull request #6101 from anaconda/stereomgr-english-plsMatthias Kortstiege
[cosmetics] StereoscopicsManager: don't log localized strings.
2015-01-26[pvr] only update a group's last watched timestamp if the timestamp hasSam Stenvall
actually changed
2015-01-26Merge pull request #6157 from tobbi/cppcheck_perf_linuxMatthias Kortstiege
cppcheck performance fixes in linux/
2015-01-26Merge pull request #6242 from tobbi/coverity_719001Sam Stenvall
Fix for coverity #719001
2015-01-26Merge pull request #6272 from mkortstiege/cosmeticsKib
[cosmetics] silence compiler warnings
2015-01-26[videosync] remove unused variableMatthias Kortstiege
2015-01-26[networkservices] remove unused variableMatthias Kortstiege
2015-01-26[httpheader] fix signed/unsigned mismatchMatthias Kortstiege
2015-01-26[texturemanager] reorder initialization listMatthias Kortstiege
2015-01-26[pvr] bump addon.pvr to 1.9.3 after dbfa0b6374b779a62c6fb0456f0c0618a6e25bfcMartijn Kaijser
2015-01-25Merge pull request #6269 from tobbi/coverity_1260398Rainer Hochecker
[coverity] Proposed fix for CID 1260398
2015-01-25Merge pull request #6270 from ace20022/typoAndreas Zelend
fix typo in 729c42b0d9675ea6b3af7192afc23d96a775fc74.
2015-01-25fix typo in 729c42b0d9675ea6b3af7192afc23d96a775fc74.ace20022
2015-01-25Merge pull request #6255 from Jalle19/fix-variable-assignmentMartijn Kaijser
[pvr] fix missing variable assignment after PR #4671
2015-01-25[coverity] Proposed fix for CID 1260398Tobias Markus
2015-01-25Merge pull request #6221 from ace20022/audio_prioAndreas Zelend
[dvdplayer] Prioritize number of channels over codec over default flag.
2015-01-25Merge pull request #6253 from tobbi/cppcheck_perf_remainingRainer Hochecker
Previously missed cppcheck performance fixes
2015-01-24[Confluence] fixed: sideblade would scrollronie
2015-01-24[Confluence] Cosmeticsronie
2015-01-24Merge pull request #6263 from jabbera/dlnaUserAgentDarwinFixMemphiz
darwin dlna client user agent string override not working
2015-01-24cppcheck performance fixesTobias Markus
2015-01-24darwin dlna client user agent string override not workingMike
2015-01-24Merge pull request #6247 from tobbi/cppcheck_perf_videoKib
cppcheck performance fixes in video/
2015-01-24webserver: handle error in case no webinterface is installedmontellese
2015-01-24cosmetics: remove unused/rarely used "using namespace" declarationsmontellese