iwubcode
246b7c5bdb
VideoCommon: fix regression with texture load order where the custom texture code was always updating the asset map for each texture with each entry, making it so the last value actually would be loaded instead of the first
2023-08-11 00:36:41 -05:00
iwubcode
fd74244339
VideoCommon: add custom texture message to provide a dirty means of debugging whether custom textures are installed correctly
2023-07-21 20:13:27 -05:00
iwubcode
f1f1ecc9d1
Core / VideoCommon: update HiresTexture to use CustomAssetLoader
2023-06-05 16:33:19 -05:00
iwubcode
42cb3f3904
VideoCommon: remove HiResTexture DDS loading, update hirestexture logic to use custom texture data
2023-03-01 12:11:04 -06:00
Shawn Hoffman
fec61f89a3
Timer: protect usages of ms timers from rollover
2022-08-02 22:24:06 -07:00
Shawn Hoffman
09089eeee0
Common::Timer: use chrono::steady_clock internally
2022-08-02 22:24:06 -07:00
iwubcode
892678648e
VideoCommon: trigger mod calls in TextureCacheBase (efb/xfb calls), VertexManagerBase (draw calls), and VertexShaderManager (projection calls)
2022-06-27 18:20:52 -05:00
iwubcode
b9995b04a0
VideoCommon: add a way to get have a graphics directory count for all games by using a special 'all.txt' instead of a 'gameid.txt' file
2022-06-26 00:45:13 -05:00
Pierre Bourdon
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
...
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
iwubcode
df53a5f880
VideoCommon: enhance hi res texture support by having exact matches be picked before wildcard matches. Additionally, add the ability to ignore the texture hash portion of the texture name when loading a hi res texture
2021-06-19 21:15:38 -05:00
iwubcode
182dfc38e6
VideoCommon: move all texture calculations to a "TextureInfo" class. This ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache
2021-05-11 22:58:36 -05:00
iwubcode
0a9c764dc4
VideoCommon: Join the prefetch thread before clearing to avoid a potential crash that can occur by multiple threads touching a single resource
2021-02-11 19:18:38 -06:00
Shawn Hoffman
84128d9532
rename Common/File to Common/IOFile
2021-01-27 14:29:48 -08:00
Lioncash
3d9b2aa005
VideoCommon: Migrate over to fmt
...
Migrates off the printf-based formatting where applicable.
2020-11-17 21:23:58 -05:00
iwubcode
4fff04db3c
Core: Load custom textures after inputs has been loaded and avoid sending force texture reload during startup for dynamic textures. This ensures that custom texture loading only happens once and users don't see any weird flashes on startup
2020-10-03 17:10:36 -05:00
iwubcode
fd3af4c5d3
InputCommon: Introducing the "Dynamic Input Texture". Configuration links an emulated input action to an image based on what host key is defined for that emulated input. Specific regions are called out in configuration that mark where to replace an input button with a host key image.
2020-10-03 17:10:35 -05:00
iwubcode
8a1539f948
VideoCommon: Make a reusable free function for getting top level directories that have a matching gameid text file underneath
2020-10-03 17:10:35 -05:00
iwubcode
bba92019dc
VideoCommon: Allow texture folders to be determined by a <gameid>.txt file
2020-03-15 12:34:04 -05:00
Lioncash
6fbbc2683e
VideoCommon: Make use of fmt outside of shader generators
...
Migrates most of VideoCommon over to using fmt, with the exception being
the shader generator code. The shader generators are quite large and
have more corner cases to deal with in terms of conversion (shaders have
braces in them, so we need to make sure to escape them).
Because of the large amount of code that would need to be converted, the
conversion of VideoCommon will be in two parts:
- This change (which converts over the general case string formatting),
- A follow up change that will specifically deal with converting over
the shader generators.
2019-11-23 16:00:45 -05:00
Techjar
5512eadd08
VideoCommon/HiresTextures: Change wildcard to a Windows-compatible character
2018-08-21 15:54:25 -04:00
Stenzek
f7a0cae7f4
HiresTextures: Do not load compressed textures with unaligned dimensions
...
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-22 16:15:18 +10:00
Emmanuel Gil Peyrot
6d0143647e
VideoCommon: Remove a workaround mutex used for SOIL
2018-05-20 13:44:41 +02:00
Emmanuel Gil Peyrot
17e65a7167
VideoCommon: Replace SOIL with libpng for hires textures
2018-05-20 13:44:38 +02:00
spycrab
40bb9974f2
Reformat all the things!
2018-04-12 21:28:39 +02:00
Lioncash
74aff4d9ef
HiresTexture: Correct texture hashes
...
Fixes a regression introduced in 2da8d98b2f
2018-04-03 12:42:05 -04:00
Lioncash
2da8d98b2f
HiresTextures: Use std::minmax or std::minmax_element where applicable in 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-27 15:39:05 -04:00
Lioncash
d5a1edba09
HiresTextures: Remove unnecessary pointer casts in GenBaseName()
...
swap16 has an overload that accepts a u8*, performing the same behavior
in a well-defined manner.
2018-03-27 15:19:02 -04:00
degasus
a5a0599145
CustomTexture: Drop old texture format.
2018-01-20 17:08:47 +01:00
degasus
0b466249e0
CustomTextures: Drop format convertion.
2018-01-20 16:39:04 +01:00
JosJuice
226b65bd38
Clean up variable naming in HiresTextures::Update
2018-01-10 17:53:51 +01:00
JosJuice
c25fffc9a0
Treat custom textures with "_arb" suffix as having arbitrary mipmaps
...
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.
2018-01-10 17:51:45 +01:00
Léo Lam
67ba326ff6
VideoCommon: Fix -Wformat warnings
2017-12-02 21:48:01 +01:00
N.E.C
c3a57bbad5
Video: Clearly separate Texture and EFB Copy formats
...
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-08-03 18:35:29 -07:00
Shawn Hoffman
c5fa470ad8
replace DoFileSearch with optimized version
2017-06-23 17:25:53 -07:00
shuffle2
e63c337830
Merge pull request #5305 from iwubcode/abstract_texture
...
Abstract Texture
2017-06-18 12:57:05 -07:00
JosJuice
f09ceaa735
Move IOFile to a separate file
...
Reduces the number of files that need to be recompiled
when making changes to FileUtil.h.
2017-06-15 21:33:50 +02:00
iwubcode
e4896d39bd
Video Backends: Move and rename HostTextureFormat to AbstractTextureFormat
2017-06-13 00:41:56 -05:00
MerryMage
f5f45855f0
GameConfigLoader: Add GFX Game INI translations
2017-06-03 18:13:02 +01:00
Stenzek
20cbef8e9f
HiresTextures: Move the maximum mip level check from DDS to main loader
...
This way that the mip count check occurs on .png and uncombined DDS
textures as well.
2017-04-29 13:46:43 +10:00
Stenzek
8761c8244d
HiresTextures: Load full mipmap chain from DDS files
...
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-29 13:46:43 +10:00
Stenzek
bc8a96d713
HiresTextures: Support parsing DDS files directly
...
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can
be passed directly to the backend.
2017-04-29 00:14:23 +10:00
Lioncash
f7a2f6ad01
FileSearch: Namespace functions under the Common namespace
2017-04-07 01:02:14 -04:00
JosJuice
ced1614cac
Unify the way of setting game ID, title ID, revision
...
The existing code from ConfigManager, ES and MIOS is merged
into a new set of functions called SetRunningGameMetadata.
2017-03-09 15:34:14 +01:00
Lioncash
552c0d8404
Common: Move byte swapping utilities into their own header
...
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.
2017-03-03 17:18:18 -05:00
JosJuice
1081497cad
DiscIO/SConfig: Rename GetUniqueID to GetGameID
...
We call this "game ID" everywhere else, and it's not
actually completely unique.
2016-10-29 15:24:02 +02:00
Lioncash
e01c143379
Common: namespace MemoryUtil
2016-08-07 13:03:07 -04:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
degasus
1544e4049d
CustomTextures: Fix loading of the last mipmaps.
...
Non-square textures still have mipmaps down to 1x1.
2016-03-02 23:25:04 +01:00
Lioncash
d9fec92628
VideoCommon: Header cleanup
...
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00
JosJuice
03091ce180
HiresTextures: Refactor getting directory
2016-01-06 19:35:16 +01:00