iwubcode
|
b556bd99d7
|
Merge pull request #14268 from JoshuaVandaele/std-tounderlying
c++23: Replace Common::ToUnderlying with std::to_underlying
|
2026-01-17 16:49:57 -06:00 |
|
iwubcode
|
cc0ce62e7f
|
Merge pull request #14252 from Dentomologist/set_standard_to_c++23
Set standard to c++23 for non-MSVC compilers
|
2026-01-08 14:35:17 -06:00 |
|
iwubcode
|
aa1605e95a
|
Merge pull request #14228 from iwubcode/clear_compiler_work_resource_mgr
VideoCommon: clear all compiler work when resource manager shuts down
|
2025-12-27 13:09:21 -06:00 |
|
 iwubcodeandJordan Woyak
|
c9ef05c4b3
|
Common: update Flags to allow const object usage
Co-authored-by: Jordan Woyak <[email protected]>
|
2025-12-25 21:07:45 -06:00 |
|
iwubcode
|
66c392f729
|
VideoCommon: initialize stored viewport to 0, fixes a crash in debug mode for d3d
|
2025-12-24 15:23:25 -06:00 |
|
iwubcode
|
f846fc0d02
|
VideoCommon: clear all compiler work when resource manager shuts down
|
2025-12-24 01:51:55 -06:00 |
|
iwubcode
|
c97a947f67
|
VideoCommon: move resource state processing to the resource base class
|
2025-11-23 11:08:50 -06:00 |
|
iwubcode
|
5c00f07074
|
VideoCommon: update resource manager with a material/shader/and texture(+sampler) resource to show the complexities that warrant the resource manager system
|
2025-11-23 11:08:50 -06:00 |
|
iwubcode
|
23c637c029
|
VideoCommon: add custom includer to custom shaders, this will allow us to ship built-in custom shaders in the future
|
2025-11-23 11:04:51 -06:00 |
|
iwubcode
|
93a6cc80b4
|
VideoCommon: add some helper functions for resource logic that generates invalid textures for when a texture isn't provided for a custom asset
|
2025-11-23 11:04:24 -06:00 |
|
iwubcode
|
8016e2cfbd
|
VideoCommon: move ApplyDriverBugs for the normal pipeline out into a utility function, add a way to hash the pipeline (using the vertex declaration instead of the native vertex format)
|
2025-11-23 11:04:24 -06:00 |
|
iwubcode
|
989ecca235
|
VideoCommon: add a texture pool for resource management
|
2025-11-23 11:04:24 -06:00 |
|
iwubcode
|
2d21a99205
|
VideoCommon: separate the concept of a 'resource' from an 'asset'. A resource is potentially multiple assets that are chained together but represent one type of data to the rest of the system. An example is a 'material'. A 'material' is a collection of textures, a custom shader, and some metadata that all comes together to form what the concept of the material is. There will be a 'material' resource. For now, start small by introducing the interface and change our texture loading which used assets from the old resource manager, to an actual resource.
|
2025-11-23 11:04:24 -06:00 |
|
iwubcode
|
59d9c1772a
|
VideoCommon: rename 'IsAnisostropicEnhancementSafe' to 'IsAnisotropicEnhancementSafe' in TextureCacheBase
|
2025-11-23 11:04:24 -06:00 |
|
iwubcode
|
2c646cec40
|
VideoCommon: update ShaderAsset to use a vector of properties, this way we ensure the order of these properties match the order of the material
|
2025-11-21 14:31:10 -06:00 |
|
iwubcode
|
1f083a60c9
|
VideoCommon: update ShaderAsset to remove requirement of the code name being in the shader source, this just makes it more difficult to iteratively test changes, assume shader devs know what they are doing
|
2025-11-21 14:29:24 -06:00 |
|
iwubcode
|
506e378289
|
VideoCommon: remove template parameter from lock guards in AsyncShaderCompiler, let type deduction do its thing and improve readability
|
2025-11-21 01:18:35 -06:00 |
|
iwubcode
|
75c66e35c6
|
VideoCommon: add method to async shader compiler to clear pending/completed work (used on shutdown), this will in turn clear up any resources that the worker items may have held onto
|
2025-11-21 01:17:45 -06:00 |
|
iwubcode
|
6e13a7d7e9
|
VideoCommon: fix MaterialAsset so that boolean parameters are written to memory as integers, matching the format internally expected by shaders
|
2025-11-20 23:51:34 -06:00 |
|
iwubcode
|
a4599a1add
|
VideoCommon: avoid assuming global state exists for 'EndUtilityDrawing', use last stored viewport/scissor rect instead
|
2025-11-20 00:35:01 -06:00 |
|
iwubcode
|
e31a61d17d
|
Data: add bloom graphics mod for Zelda Twilight Princess on Gamecube
|
2025-11-18 18:38:20 -06:00 |
|
iwubcode
|
2f20c12d82
|
VideoCommon: pass the EFB buffer scale into the FramebufferManager instead of pulling it from config, in the future this will allow us to have multiple framebuffers
|
2025-11-05 21:52:54 -06:00 |
|
iwubcode
|
ef87af2985
|
VideoCommon: fix wrong path to glslang include
|
2025-11-02 14:29:14 -06:00 |
|
iwubcode
|
6728007cb4
|
VideoCommon: rename ScissorResult 'm_result' to 'rectangles' to better reflect what the member is
|
2025-10-31 13:28:14 -05:00 |
|
iwubcode
|
ee7c476e24
|
VideoCommon: move global variables out of BPFunctions
|
2025-10-31 13:27:50 -05:00 |
|
iwubcode
|
96fe6a1575
|
VideoBackends / VideoCommon: add support for specifying include files in shader code
|
2025-10-26 22:47:23 -05:00 |
|
iwubcode
|
491e3390be
|
Externals / VideoCommon: update glslang to latest, turn into submodule
|
2025-09-23 23:45:38 -05:00 |
|
iwubcode
|
9a37c8081d
|
Common: add transpose function to Matrix class
|
2025-09-17 11:14:09 -05:00 |
|
iwubcode
|
d403bc3985
|
Core: support inverting a 4x4 matrix
|
2025-09-07 11:41:09 -05:00 |
|
iwubcode
|
440999d778
|
VideoCommon: update material asset to support render state properties, support multi-pass, and textures are now split out (as well as supporting a way to calculate sampler origin)
|
2025-08-23 15:17:49 -05:00 |
|
iwubcode
|
14459bcc1b
|
VideoBackends / VideoCommon: rename member variables in RenderState to be consistent
|
2025-08-23 13:50:22 -05:00 |
|
iwubcode
|
f0098eee13
|
VideoCommon: further remove 'CustomPipeline' details, so we can fully remove it in the very near future
|
2025-08-22 19:53:17 -05:00 |
|
iwubcode
|
6ec8e0ed8a
|
VideoCommon: update shader asset to support both vertex and pixel shaders; rename to 'RasterSurfaceShader'
|
2025-08-22 19:48:22 -05:00 |
|
iwubcode
|
4489ea0ec2
|
VideoCommon: add TextureAndSamplerAsset, this asset contains both the raw texture data and data about how the texture should be sampled
|
2025-08-20 19:41:22 -05:00 |
|
iwubcode
|
0e73a01279
|
VideoBackends: allow custom pixel uniforms to be passed to the vertex shader as well
|
2025-08-17 18:55:40 -05:00 |
|
iwubcode
|
8f2d036561
|
Data: add gecko code for Mario Strikers Charged that allows disabling captain mega strikes
|
2025-08-17 18:54:23 -05:00 |
|
iwubcode
|
6ab83bdd05
|
VideoCommon: fix regression where scenes with expanded lines or points would cause issues if doing per-vertex transformations in the vertex shader
|
2025-06-09 19:08:21 -05:00 |
|
iwubcode
|
c3d3b81533
|
VideoCommon: remove 'GetByteSizeInMemory()' from custom asset, it is not needed anymore
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
774a84a953
|
VideoCommon: avoid race conditions with asset load/unload by moving the lock to the entire function, favor atomics for the memory/time getters
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
b3f50c969e
|
VideoCommon: rename m_bytes_loaded in asset library to bytes_loaded
|
2025-06-06 23:03:02 -05:00 |
|
 iwubcodeandJordan Woyak
|
3b83907b88
|
VideoCommon: update CustomAsset's load time to be before the load occurs (this prevents issues where the load time might be incorrectly inflated by long load operations)
Co-authored-by: Jordan Woyak <[email protected]>
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
d940d62cae
|
VideoCommon: watch texture pack folder for texture reloads (from dynamic input textures)
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
7afa9e6c6f
|
VideoCommon: use CustomResourceManager in the texture cache and hook up to our hires textures
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
12d178a8df
|
VideoCommon: initialize and shutdown the CustomResourceManager when the video thread initializes and shuts down
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
f910c1d934
|
Core: add CustomResourceManager to System
|
2025-06-06 23:03:02 -05:00 |
|
 iwubcodeandJordan Woyak
|
70abcb2030
|
VideoCommon: add resource manager and new asset loader; the resource manager uses a least recently used cache to determine which assets get priority for loading. Additionally, if the system is low on memory, assets will be purged with the less requested assets being the first to go. The loader is multithreaded now and loads assets as quickly as possible as long as memory is available
Co-authored-by: Jordan Woyak <[email protected]>
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
d8ea31ca46
|
VideoCommon: rename GameTextureAsset into TextureAsset and make it only contain CustomTextureData. Move validation and load logic to individual functions
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
2ae43324cb
|
VideoCommon: move AssetMap to a types header file, so it can be pulled in without the DirectFilesystemAssetLibrary dependencies, the header will be expanded later
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
7d59c2743d
|
Common: Add class 'FilesystemWatcher' that is used to watch paths and receive callbacks about filesystem level events for anything under that path
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
8113399b68
|
Externals: add watcher, a library used to watch a filesystem location for changes
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
bafe78203d
|
VideoCommon: remove 'GetLastAssetWriteTime' and switch to a steady_clock for asset times
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
15f125ebee
|
VideoCommon: change asset loading to return the number of bytes loaded instead of a pass/fail
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
316740daed
|
VideoCommon: add 'Unload' functionality to CustomAsset
|
2025-06-06 23:03:02 -05:00 |
|
iwubcode
|
9ec69b5925
|
VideoCommon: add a handle to custom asset, this is an id that is only relevant for a particular game session but is slightly faster as a numeric value for lookups than the traditional asset id
|
2025-06-06 19:20:25 -05:00 |
|
iwubcode
|
d7de49ccf6
|
Core / VideoCommon: Remove original custom asset loader
|
2025-06-06 19:20:25 -05:00 |
|
iwubcode
|
ae26b38fc0
|
VideoCommon: fix pixel shader gen error about structure not being fully initialized
|
2025-06-05 01:37:45 -05:00 |
|
iwubcode
|
b23dddea4e
|
VideoCommon: move vertex shader gen logic to a 'process_vertex()' function, to eventually allow for custom shaders to override vertex logic
|
2025-05-24 01:27:58 -05:00 |
|
iwubcode
|
e80ed595ac
|
VideoCommon: move position/normal matrices to be gettable by function in VertexShaderGen
|
2025-05-03 16:51:34 -05:00 |
|
iwubcode
|
ec36fce7c6
|
VideoCommon: fix a mali bug by moving the perf queries back to being close to the draw call, having them apart seems to cause errors on some devices
|
2025-04-01 18:32:42 -05:00 |
|
iwubcode
|
8e253518e6
|
VideoCommon: move to a 'process_fragment()' function to simplify custom shaders and provide a direct override of the tev stage logic
|
2025-03-22 15:22:00 -05:00 |
|
iwubcode
|
e18d98d4fc
|
Core: properly distinguish between ES title switches (Wii titles) and normal loading (GC, also called for Wii..); update config for ES title change, generate textures for both situations
|
2025-03-22 14:55:20 -05:00 |
|
iwubcode
|
d03f9032c1
|
Core / DolphinQt / InputCommon: reduce the number disk writes when using DynamicInputTextures
|
2025-03-22 14:53:02 -05:00 |
|
iwubcode
|
c5f89f2de9
|
VideoCommon: initialize uninitialized state value in pixel ubershader to prevent error on directx in some games
|
2025-03-16 11:35:56 -05:00 |
|
 iwubcodeandShawn Hoffman
|
c1dea828ab
|
Common: use std::chrono for GetLocalTimeSinceJan1970 on Windows
Co-authored-by: Shawn Hoffman <[email protected]>
|
2025-03-16 00:59:45 -05:00 |
|
 iwubcodeandShawn Hoffman
|
452cd1c261
|
Core: use more recent api in ComputeDefaultCountryCode on Windows
Co-authored-by: Shawn Hoffman <[email protected]>
|
2025-03-16 00:59:45 -05:00 |
|
 iwubcodeandShawn Hoffman
|
373a1a5dc0
|
Update min win10 version from 1703/15063 to 1903/18362
Co-authored-by: Shawn Hoffman <[email protected]>
|
2025-03-16 00:59:45 -05:00 |
|
iwubcode
|
15372dc835
|
VideoCommon: move lighting shader logic to callable functions
|
2025-03-13 23:56:04 -05:00 |
|
iwubcode
|
6dedf11c96
|
VideoCommon: mark 'WriteTexCoordTransforms' as 'static'
|
2025-03-02 11:27:54 -06:00 |
|
iwubcode
|
1ce78dd9b4
|
VideoCommon: move texcoord calculations to accessible functions in VertexShaderGen
|
2025-02-14 22:44:49 -06:00 |
|
iwubcode
|
570fc1d5aa
|
Data: update Rune Factory Frontier with community gecko codes
|
2025-02-02 12:34:38 -06:00 |
|
iwubcode
|
75425ced05
|
Common: add 'clear' function to SmallVector
|
2025-01-20 15:13:56 -06:00 |
|
iwubcode
|
25c805be99
|
Externals / VideoCommon: update imgui to 1.91.7 and implot to v0.16; imgui changed types for ImTextureId, which was addressed by using an implicit cast
|
2025-01-20 14:47:14 -06:00 |
|
iwubcode
|
ee906ae6e8
|
VideoCommon: add formatter for AbstractTextureType
|
2025-01-20 14:24:54 -06:00 |
|
iwubcode
|
36ccbbc06e
|
VideoCommon: add ability to serialize a texture asset metadata to json
|
2024-06-29 14:50:40 -05:00 |
|
iwubcode
|
1c3402502b
|
VideoCommon: set individual texture asset filter/wrap values when loading from json
|
2024-06-29 14:50:40 -05:00 |
|
iwubcode
|
75a0a1ed67
|
VideoCommon: update texture asset to properly set near sampler state value
|
2024-06-29 14:50:40 -05:00 |
|
iwubcode
|
fa5a6547c6
|
VideoCommon: add texture type to texture config comparison
|
2024-06-08 14:28:11 -05:00 |
|
iwubcode
|
c2bc2ccd23
|
VideoCommon: pull texture sampler out of texture cache so that it can be used in other places in the future
|
2024-06-01 23:21:04 -05:00 |
|
iwubcode
|
11c37de695
|
VideoCommon: update custom pipeline to use a a texture's sampler if the texture is in use
|
2024-05-31 23:19:51 -05:00 |
|
iwubcode
|
50b95bbea9
|
InputCommon / VideoCommon: update to use new JsonFromFile function
|
2024-05-31 23:13:25 -05:00 |
|
iwubcode
|
e92f59e2d4
|
Common: add JsonUtil cpp which was missed initially
|
2024-05-31 23:08:39 -05:00 |
|
iwubcode
|
d494059164
|
Common: update json util function for converting to numeric value to use a static_cast. As discussed, a Saturating cast doesn't make sense when converting a double to a float
|
2024-05-31 23:08:05 -05:00 |
|
iwubcode
|
1d4f758b14
|
Common: add file serialization/deserialization functions for JSON
|
2024-05-31 22:36:12 -05:00 |
|
iwubcode
|
51b69bb339
|
VideoCommon: use imgui mouse position event when the mouse position changes
|
2024-05-31 22:31:54 -05:00 |
|
iwubcode
|
4f1a5e0b3a
|
DolphinQt: trigger frame advance from hotkeys on the host thread (the underlying SetState is only valid on the host thread)
|
2024-05-18 11:54:12 -05:00 |
|
iwubcode
|
d7a8ec4353
|
VideoCommon: use imgui input queue for mouse clicks, this helps keep input smooth regardless of frame-times and matches keyboard events, this system was introduced in 1.87
|
2024-05-18 11:49:19 -05:00 |
|
iwubcode
|
9d28c371e7
|
VideoCommon: allow custom shaders to set the alpha value for use when blending is enabled
|
2024-04-28 18:15:27 -05:00 |
|
iwubcode
|
abf380b705
|
VideoCommon: add xfb hash values (if available) to present information
|
2024-04-09 18:59:33 -05:00 |
|
iwubcode
|
e5b7b2e9ee
|
VideoCommon: add xfbs presented to video events
|
2024-04-09 18:57:32 -05:00 |
|
iwubcode
|
146504d635
|
Common: add json utility functions 'ReadStringFromJson' and 'ReadBoolFromJson' to match 'ReadNumericFromJson' functionality for other data types, similarly support other data types for 'ToJsonArray'
|
2024-03-20 17:34:25 -05:00 |
|
iwubcode
|
69694494ce
|
Common: update 'ReadNumericOrDefault' to 'ReadNumericFromJson' and have it return an optional, this provides the caller with more flexibility
|
2024-03-20 17:34:25 -05:00 |
|
iwubcode
|
a1147dae6e
|
VideoCommon: move factory names to be a static inside each action class, so that they can be reused in the future for serialization
|
2024-02-18 15:45:10 -06:00 |
|
iwubcode
|
edbf8f1772
|
Common: add json utility functions for Vec3 serialization
|
2024-02-17 22:06:06 -06:00 |
|
iwubcode
|
2ab877586d
|
VideoCommon: make mesh asset data loadable by asset loader
|
2024-02-12 21:45:32 -06:00 |
|
iwubcode
|
60772ed9d2
|
VideoCommon: add functionality to prepare for a mesh asset that is loaded from a GLTF file
|
2024-02-11 13:28:00 -06:00 |
|
iwubcode
|
ecfcae8718
|
Externals: add tinygltf, a library used to load or save GLTF mesh files
|
2024-02-11 13:26:39 -06:00 |
|
iwubcode
|
c34b3ae390
|
VideoCommon: refactor drawing into its own function
|
2024-01-27 14:45:34 -06:00 |
|
iwubcode
|
3e3967ff94
|
VideoCommon: refactor the custom pipeline logic in the graphics mod action into a separate class, so it is reusable
|
2024-01-27 00:12:49 -06:00 |
|
iwubcode
|
b37f096f4b
|
Common: add determinant functions to Matrix33 and Matrix44
|
2024-01-24 23:02:57 -06:00 |
|
iwubcode
|
cf081e839d
|
VideoCommon: fix compilation error in pixel shaders when per-pixel lighting isn't set for custom shaders
|
2024-01-23 21:50:42 -06:00 |
|