summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/HiresTextures.cpp
AgeCommit message (Collapse)Author
2018-05-22HiresTextures: Do not load compressed textures with unaligned dimensionsStenzek
D3D11 cannot handle block compressed textures where the first mip level is not a multiple of the block size. The simple fix for texture pack authors: leave these textures uncompressed. You can still use a .dds container.
2018-05-20VideoCommon: Remove a workaround mutex used for SOILEmmanuel Gil Peyrot
2018-05-20VideoCommon: Replace SOIL with libpng for hires texturesEmmanuel Gil Peyrot
2018-04-12Reformat all the things!spycrab
2018-04-03HiresTexture: Correct texture hashesLioncash
Fixes a regression introduced in 2da8d98b2f94a33e337d37dc7153e5ba445961f3
2018-03-27HiresTextures: Use std::minmax or std::minmax_element where applicable in ↵Lioncash
GenBaseName() Minimizes repetition. std::minmax_element can be used for the 256 * 2 case, as it's only performing byte comparisons and thus, there will always be an element smaller than 0xffff, so it doesn't need to be included in the set of compared values.
2018-03-27HiresTextures: Remove unnecessary pointer casts in GenBaseName()Lioncash
swap16 has an overload that accepts a u8*, performing the same behavior in a well-defined manner.
2018-01-20CustomTexture: Drop old texture format.degasus
2018-01-20CustomTextures: Drop format convertion.degasus
2018-01-10Clean up variable naming in HiresTextures::UpdateJosJuice
2018-01-10Treat custom textures with "_arb" suffix as having arbitrary mipmapsJosJuice
This is adapted from Bighead's code that was posted at https://forums.dolphin-emu.org/Thread-dolphin-custom-texture-mipmaps?pid=460867#pid460867 In master, custom textures are never treated as having arbitrary mipmaps, so we need either a change like this or a change that makes us apply the arbitrary mipmap heuristic even when a custom texture is used.
2017-12-02VideoCommon: Fix -Wformat warningsLéo Lam
2017-08-03Video: Clearly separate Texture and EFB Copy formatsN.E.C
Improve bookkeeping around formats. Hopefully make code less confusing. - Rename TlutFormat -> TLUTFormat to follow conventions. - Use enum classes to prevent using a Texture format where an EFB Copy format is expected or vice-versa. - Use common EFBCopyFormat names regardless of depth and YUV configurations.
2017-06-23replace DoFileSearch with optimized versionShawn Hoffman
2017-06-18Merge pull request #5305 from iwubcode/abstract_textureshuffle2
Abstract Texture
2017-06-15Move IOFile to a separate fileJosJuice
Reduces the number of files that need to be recompiled when making changes to FileUtil.h.
2017-06-13Video Backends: Move and rename HostTextureFormat to AbstractTextureFormatiwubcode
2017-06-03GameConfigLoader: Add GFX Game INI translationsMerryMage
2017-04-29HiresTextures: Move the maximum mip level check from DDS to main loaderStenzek
This way that the mip count check occurs on .png and uncombined DDS textures as well.
2017-04-29HiresTextures: Load full mipmap chain from DDS filesStenzek
This removes the need for multiple texture files to store the mipmap chain for a texture. As many mipmaps will be loaded as are present in the DDS file, and any remaining mipmaps will fall back to the old behavior.
2017-04-29HiresTextures: Support parsing DDS files directlyStenzek
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can be passed directly to the backend.
2017-04-07FileSearch: Namespace functions under the Common namespaceLioncash
2017-03-09Unify the way of setting game ID, title ID, revisionJosJuice
The existing code from ConfigManager, ES and MIOS is merged into a new set of functions called SetRunningGameMetadata.
2017-03-03Common: Move byte swapping utilities into their own headerLioncash
This moves all the byte swapping utilities into a header named Swap.h. A dedicated header is much more preferable here due to the size of the code itself. In general usage throughout the codebase, CommonFuncs.h was generally only included for these functions anyway. These being in their own header avoids dumping the lesser used utilities into scope. As well as providing a localized area for more utilities related to byte swapping in the future (should they be needed). This also makes it nicer to identify which files depend on the byte swapping utilities in particular. Since this is a completely new header, moving the code uncovered a few indirect includes, as well as making some other inclusions unnecessary.
2016-10-29DiscIO/SConfig: Rename GetUniqueID to GetGameIDJosJuice
We call this "game ID" everywhere else, and it's not actually completely unique.
2016-08-07Common: namespace MemoryUtilLioncash
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-03-02CustomTextures: Fix loading of the last mipmaps.degasus
Non-square textures still have mipmaps down to 1x1.
2016-01-17VideoCommon: Header cleanupLioncash
Also remedies places where the video backends and core rely on things being indirectly included.
2016-01-06HiresTextures: Refactor getting directoryJosJuice
2016-01-06HiresTextures: Also look for directories with 3-character IDsJosJuice
People who make texture packs usually release them using a specific ID (for instance SX4E01). Users who have a different version of the game (like the PAL version SX4P01) then need to rename the custom texture folder to match. This is a lot simpler than renaming every texture file, as was required with the old texture format, but it's still something that users can forget to do. To make that unnecessary, this change makes it possible to use three-character region-free IDs for custom texture folders, similarly to how game INIs can use three-character IDs. Once most people have updated to Dolphin versions that include this change, those who make texture packs will be able to name them with three-character IDs, removing the need for users to rename anything.
2015-12-29HiresTextures: Remove the need to explicitly free SOIL allocated dataLioncash
2015-12-29HiresTextures: Make Load return a unique_ptrLioncash
2015-12-29HiresTextures: Remove unnecessary header includesLioncash
2015-09-27FileSearch: Don't use RegExs, just do string comparisons.waddlesplash
Nothing used the RegEx feature of FileSearch, and GCC < 4.9 doesn't support C++11 RegEx properly, so get rid of it.
2015-09-11Partially revert "General: Toss out PRI macro usage"Lioncash
2015-09-05General: Toss out PRI macro usageLioncash
Now that VS supports more printf specifiers, these aren't necessary
2015-08-19VideoCommon: Allow more Ram for HiresTexture if system memory is over 4GBBartosz Telesiński
2015-06-19HiresTextures: Remove unused variableLioncash
2015-06-12Options: merge SCoreStartupParameter into SConfigdegasus
2015-06-04Undo accidental screwup of some HiresTextures code from project-moration.comex
This is why I should wait for people to review, even if I get annoyed that nobody seems to care. :duncecap:
2015-06-02Merge pull request #1556 from comex/project-morationcomex
Rudimentary version of Wii IPC determinism. Ported from my old udpnet branch.
2015-05-29HiresTexture: Fix prefetching with broken texturesdegasus
2015-05-28Rewrite FileSearch and improve ScanDirectoryTree.comex
- FileSearch is now just one function, and it converts the original glob into a regex on all platforms rather than relying on native Windows pattern matching on there and a complete hack elsewhere. It now supports recursion out of the box rather than manually expanding into a full list of directories in multiple call sites. - This adds a GCC >= 4.9 dependency due to older versions having outright broken <regex>. MSVC is fine with it. - ScanDirectoryTree returns the parent entry rather than filling parts of it in via reference. The count is now stored in the entry like it was for subdirectories. - .glsl file search is now done with DoFileSearch. - IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the results after replacements for better determinism.
2015-05-26Merge pull request #2162 from degasus/prefetch_texMarkus Wick
CustomTexture: prefetch all available textures
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-16VideoCommon: Abort texture prefetching on low RAMdegasus
There is no nice way to correctly "detect" the "used" memory, so we just say we're fine to use 50% of the physical memory for custom textures. This will fix out-of-memory crashes, but we still might run into swapping issues.
2015-05-16CustomTexture: prefetch all available texturesdegasus
2015-01-21CustomTexture: fix texture formatdegasus