Filoppi
95ee0ac781
Video: Fix aspect ratio heuristics getting stuck to widescreen (or to non widescreen) (`m_is_game_widescreen` variable) if the user first forced the aspect ratio to 16:9/4:3 and then set it back to Auto.
2024-02-20 02:42:52 +02: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
Admiral H. Curtiss
9b5fd5d34e
Merge pull request #12281 from TellowKrinkle/AsahiGL33
...
VideoCommon: Don't use indexed output for fbfetch
2024-02-18 02:33:50 +01:00
Mai
21300bb21b
Merge pull request #12457 from iwubcode/asset_memory_limit
...
VideoCommon: handle asset memory going over reserved limit correctly
2024-02-16 15:46:52 -05: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
TellowKrinkle
5949911a5a
VideoCommon: Don't use indexed output for fbfetch
...
A nonzero index makes no sense, and Mesa doesn't like it when you supply an index
2024-02-07 03:52:31 +01:00
Admiral H. Curtiss
df5baab873
Merge pull request #12550 from lioncash/dead
...
VertexLoaderManager: Remove unused entry struct
2024-02-03 02:38:02 +01:00
Lioncash
4f40bdf501
VertexLoaderManager: Use fill() in Init()
...
Same behavior, less code.
2024-02-01 23:04:40 -05:00
Lioncash
ea95c82a01
VertexLoaderManager: Remove unused entry struct
...
This isn't used anywhere, so it can be removed.
2024-02-01 23:04:39 -05:00
Lioncash
7096f99f79
CustomPipeline: Mark arrays as constexpr
...
Ensures that these go into the ro section.
2024-02-01 23:02:45 -05:00
Lioncash
59211589b9
CustomPipeline: Make use of emplace_back() in GlobalConflicts()
...
We can use the string_view arguments to directly construct strings
inside of the global_result vector.
2024-02-01 23:02:45 -05:00
Lioncash
353ceedb50
CustomPipeline: Resolve unused variable warning
...
We can just use holds_alternative here instead.
2024-02-01 23:02:45 -05:00
Admiral H. Curtiss
da6b5dd38a
Merge pull request #12546 from lioncash/event
...
VideoCommon/Statistics: Remove global system accessor from s_after_frame_event
2024-01-31 21:16:21 +01:00
Admiral H. Curtiss
18abf7c768
Merge pull request #12544 from lioncash/getmod
...
GraphicsModGroup: Allow heterogenous lookup for GetMod()
2024-01-31 20:17:26 +01:00
Lioncash
cac66317aa
VideoCommon/Statistics: Remove global system accessor from s_after_frame_event
...
Instead, we make the event take a reference to the system and then pass
it in when the event is triggered.
This does introduce two other accessors, but these are much easier to
refactor out over time, and without modification to the existing event
interface.
2024-01-31 13:12:09 -05:00
Lioncash
0dfefacdf4
VertexLoaderBase: Collapse std namespace for hash and mark noexcept
...
Makes the hash specialization a little less noisy. Also we mark it
noexcept, since hashes shouldn't be throwing exceptions (and this can be
optimized on).
2024-01-31 12:43:00 -05:00
Lioncash
8e4b2565cd
TextureConfig: Collapse std namespace for hash
...
Lets us collapse the namespacing and make the specialization a little
less noisy.
2024-01-31 12:41:33 -05:00
Lioncash
b63dcd504d
RenderState: Collapse std namespace for hash
...
We can specify the namespace on the hash to make the specialization a
little less noisy.
2024-01-31 12:40:10 -05:00
Lioncash
5bfaa3a966
NativeVertexFormat: Collapse std namespace and mark hash noexcept
...
We can just tag the std:: onto the end of the specialization to make it
less noisy.
Also mark it as noexcept, since hashes shouldn't throw exceptions.
2024-01-31 12:37:44 -05:00
Lioncash
40b050fe37
GraphicsModGroup: std::move graphics_mod in Load()
...
The config object is quite heavyweight, so we should move this instead
of copying.
2024-01-31 12:27:43 -05:00
Lioncash
ccacda5e2c
GraphicsModGroup: Simplify try_add_mod()
...
We can use contains() here, and also move the mod config if it's valid
instead of copying it, since it contains quite a bit of allocated data.
2024-01-31 12:23:21 -05:00
Lioncash
a1879ea099
GraphicsModGroup: Allow heterogenous lookup for GetMod()
...
Allows using keys that aren't directly std::string as the key. This lets
us use std::string_view for the incoming path name, making it more
flexible with other string types.
2024-01-31 12:05:17 -05:00
Admiral H. Curtiss
9a3e770c23
Migrate SConfig::bWii to System.
2024-01-31 12:54:07 +01:00
TellowKrinkle
b7a451fc87
VideoCommon: Post to analytics when bug is overridden
2024-01-28 23:24:23 -06:00
TellowKrinkle
99f0c3fa01
VideoCommon: Add ability for backends to override bugs
2024-01-28 23:24:22 -06:00
TellowKrinkle
463269f704
VideoBackends:Multiple: Split up BUG_BROKEN_SUBGROUP_OPS
...
We now use subgroup ops for more than just a minor performance optimization
2024-01-28 23:20:39 -06:00
Admiral H. Curtiss
8482a50154
Merge pull request #12530 from iwubcode/custom_shaders_compilation_fixes
...
VideoCommon: fix some issues when compiling custom shaders
2024-01-28 14:30:37 +01:00
Admiral H. Curtiss
4843705061
Merge pull request #12534 from iwubcode/custom-pipeline-refactor
...
VideoCommon: refactor the custom pipeline logic to be reusable
2024-01-28 14:28:23 +01:00
Admiral H. Curtiss
c9715e7e7d
Merge pull request #12535 from iwubcode/vertexmanager_draw_refactor
...
VideoCommon: refactor drawing into its own function
2024-01-28 14:27:41 +01:00
JosJuice
990303a028
Merge pull request #12519 from lioncash/leak
...
PostProcessing: Don't potentially leak memory in BlitFromTexture()
2024-01-27 22:29:45 +01: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
Admiral H. Curtiss
c3652a7129
Merge pull request #12532 from lioncash/json
...
GraphicsMod/ShaderAsset: Lessen object churn a little bit
2024-01-26 18:52:52 +01:00
Mai
a553308775
Merge pull request #12443 from iwubcode/custom_pipeline_action_material_cubemap
...
VideoCommon: update custom pipeline action to support a variety of texture samplers, support for materials, and more!
2024-01-26 12:39:37 -05:00
Lioncash
7a59ecc39d
GraphicsTarget: Reduce object churn a little
2024-01-24 23:00:01 -05:00
Lioncash
1b7da37114
GraphicsTargetGroup: Reduce object churn a little
2024-01-24 22:52:58 -05:00
Lioncash
24f952c12b
GraphicsModFeature: Reduce object churn a little
2024-01-24 22:48:53 -05:00
Lioncash
0385b40bd8
GraphicsModAsset: Reduce object churn a little
2024-01-24 22:47:22 -05:00
Lioncash
2253d9a95d
GraphicsModGroup: Mark move constructor and assignment as noexcept
...
Allows containers to optimize off of std::move_if_noexcept
2024-01-24 22:41:30 -05:00
Lioncash
0327b11e0b
GraphicsModGroup: Reduce object churn
...
We can emplace and move to avoid doing object copies.
2024-01-24 22:40:05 -05:00
Lioncash
e3e20df185
GraphicsMod: Avoid some object churn
...
We have quite a bit of allocation churn going on here, so we can emplace
and move where appropriate to alleviate that a little.
2024-01-24 22:34:50 -05:00
Lioncash
7b6463ef1f
ShaderAsset: Emplace value instances when possible in ToJson()
...
Constructs elements directly inside the container and also makes it
shorter to read in certain instances.
2024-01-24 18:47:44 -05: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
iwubcode
a8d45b8e55
VideoCommon: fix compilation error in uber pixel shaders when pixel shader lighting isn't set for custom shaders
2024-01-23 21:50:42 -06:00
iwubcode
7118fc5b7b
VideoCommon: fix pixel shader compilation error that happens when uint output is defined
2024-01-23 21:50:42 -06:00
iwubcode
a37fd83218
VideoCommon: fix uber shader pixel compilation error that happens when uint output is defined
2024-01-23 21:50:41 -06:00
iwubcode
3a688aa35e
VideoCommon: add function to serialize MaterialAsset to json
2024-01-23 13:01:33 -06:00
Lioncash
5aeadb1ef8
PostProcessing: Don't potentially leak memory in BlitFromTexture()
...
All release() does is relinquish the pointer, rather than free the
memory associated with it.
2024-01-23 13:34:40 -05:00
Lioncash
a3f9f2c7aa
PostProcessing: Remove unnecessary get() calls in BlitFromTexture()
...
We can just use operator-> instead.
2024-01-23 13:34:16 -05:00
iwubcode
a40a952177
VideoCommon: add a method to calculate a default value for ShaderAsset and another to list its types
2024-01-23 11:58:32 -06:00
iwubcode
b5a6225e1a
VideoCommon: add function to serialize ShaderAsset to json
2024-01-23 11:58:32 -06:00
Admiral H. Curtiss
ac670d99e2
VideoCommon: Only initialize Bounding Box if supported by GPU/driver.
2024-01-20 12:34:24 +01:00
Admiral H. Curtiss
95cba6be2b
Core/Movie: Refactor to class, move to System.
...
A bit of global state remains (the `header` in `BeginRecordingInput()`) due to unclear lifetime requirements.
2024-01-15 08:05:30 +01:00
Mai
c76dee7807
Merge pull request #12285 from iwubcode/serialize_graphics_mods
...
VideoCommon: add ability to serialize graphics mod to json object
2024-01-13 14:15:14 -05:00
Admiral H. Curtiss
637fd49909
FifoRecorder: Move instance to System.
2024-01-12 15:06:06 +01:00
Admiral H. Curtiss
fc2ec826d4
FifoPlayer: Move instance to System.
2024-01-05 20:15:18 +01:00
Admiral H. Curtiss
07c035e659
Core/SystemTimers: Refactor to class, move to System.
2024-01-04 23:35:19 +01:00
iwubcode
1073722cdf
Revert "VideoCommon: revert max pixel shader samplers back to 8 for Android devices."
...
This reverts commit 79648e1c24
.
2024-01-03 18:43:44 -06:00
Jules Blok
f1d446da3f
Merge pull request #12452 from Tilka/efb24
...
VideoCommon: apply "force 24-bit color" to EFB-to-VRAM copies as well
2023-12-29 03:51:59 +01:00
Lioncache
a23cf2121d
VideoCommon/PixelEngine: Generify lock guards
...
We don't need to specify the type of the mutex being passed in.
2023-12-22 14:19:29 -05:00
Lioncache
0505f057ca
VideoCommon/PixelEngine: Remove global system accessor in UpdateInterrupts()
...
Now that the system instance is passed through, this is no longer necessary.
2023-12-22 14:19:29 -05:00
Lioncache
e539dbba4c
VideoCommon/PixelEngine: Passthrough system instance in constructor
...
Simplifies the interface in terms of usage
2023-12-22 14:19:26 -05:00
Tilka
8d4575cfd8
Merge pull request #12454 from lioncash/proc
...
VideoCommon/CommandProcessor: Pass system instance through constructor
2023-12-21 17:46:28 +00:00
iwubcode
b669580aeb
VideoCommon: handle asset memory going over reserved limit correctly by erroring when the memory is exceeded and not allowing more assets to load until memory is released
2023-12-21 01:05:56 -06:00
iwubcode
79648e1c24
VideoCommon: revert max pixel shader samplers back to 8 for Android devices.
...
It was reported that some games (Zelda Wind Waker and Zelda Twilight Princess but others may also exhibit the issue) have graphical issues with the max pixel samplers set to 16 on some Android devices (ex: Pixel6); since this was increased for a performance heavy feature (custom shaders) just disable it for now. In the future, this could be handled more elegantly
2023-12-21 00:36:44 -06:00
Lioncache
f97b2d472a
VideoCommon/CommandProcessor: Pass system instance through constructor
...
Makes the use of the interface a little less noisy, especially given
how much of the interface depends on an instance being present.
2023-12-20 09:02:53 -05:00
iwubcode
fcfcf14e07
VideoCommon: when loading a texture asset, set sampler to linear sampler if the texture type is not defined and the 2d texture is assumed
2023-12-19 21:51:42 -06:00
iwubcode
ae758f489a
VideoCommon: update custom pipeline action to support a variety of texture samplers (2D, 2D array, and cube maps)
2023-12-19 21:51:42 -06:00
Tillmann Karras
ddb4566a41
VideoCommon: apply "force 24-bit color" to EFB-to-VRAM copies as well
2023-12-20 02:25:07 +00:00
Lioncache
b0d244b772
VideoCommon/Fifo: Pass system instance through FifoManager constructor
...
Given how many member functions make use of the system instance,
it's likely just better to pass the system instance in on construction.
Makes the interface a little less noisy to use.
2023-12-18 22:03:25 -05:00
Admiral H. Curtiss
715a551dac
Merge pull request #12170 from Filoppi/custom_aspect_ratio
...
Add support for custom aspect ratios
2023-12-18 05:19:06 +01:00
Filoppi
a6dfeed318
Video: make the "Auto" resolution setting also follow the max res setting, to avoid trying to create texture bigger than the maximum supported one
2023-12-18 02:00:25 +02:00
Filoppi
ff03189a60
Video: fix auto resolution scale calculations
2023-12-18 02:00:25 +02:00
Filoppi
fdd1934f12
Video: fix Auto Resolution Scale not updating when the window was resized.
...
Also fixes the widescreen hack not fully updating when the aspect ratio setting changed on the spot.
2023-12-18 02:00:25 +02:00
Filoppi
b3aa6ad93b
Video: implement custom aspect ratio support (already exposed to Qt).
...
This also renamed some variables/functions.
2023-12-18 02:00:24 +02:00
Filoppi
f96bea95d8
Video: rename Presenter::SetWindowSize()
2023-12-18 00:28:15 +02:00
Filoppi
24004af814
Video: polish aspect ratio related code comments to make it clearer
2023-12-18 00:28:14 +02:00
Mai
bcd74a81a9
Merge pull request #12370 from iwubcode/more_samplers
...
VideoBackends / VideoCommon: update max pixel shader samplers from 8 to 16
2023-12-17 14:50:23 -05:00
Mai
0125b5182f
Merge pull request #12409 from iwubcode/custom_material_graphics_mod_action_data
...
VideoCommon: prepare graphics mods for custom shader material data
2023-12-17 14:42:34 -05:00
Mai
b27c15fab6
Merge pull request #12382 from iwubcode/shader_asset_default_value
...
VideoCommon: update shader asset to provide a variant default value
2023-12-17 14:41:55 -05:00
Mai
f589c04aa7
Merge pull request #12372 from iwubcode/texture_usage_flag
...
VideoBackends / VideoCommon: add type enum to dictate how the texture is used; support texture 2d
2023-12-17 14:40:39 -05:00
Admiral H. Curtiss
190c4e8cda
Merge pull request #12427 from JosJuice/jitarm64-msr-updated-logical-imm
...
JitArm64: Fix MSRUpdated(ARM64Reg) with FEATURE_FLAG_PERFMON set
2023-12-16 17:22:23 +01:00
JosJuice
e0eb4ef5bc
JitArm64: Use enum class for LogicalImm size parameter
...
This should prevent issues like the one fixed in the previous commit
from happening again.
2023-12-16 16:48:26 +01:00
iwubcode
12dd15c8dd
VideoBackends / VideoCommon: add type enum to dictate whether a texture is a 2D texture, a texture array, or a cube map; support 2D texture type across backends
...
Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2023-12-15 11:06:02 -06:00
iwubcode
b1d9e13d75
VideoCommon: prepare graphics mods for custom shader material data
2023-12-12 17:56:26 -06:00
Mai
ea3033731d
Merge pull request #12240 from iwubcode/material_asset_additional_properties
...
VideoCommon: add additional data types to material asset
2023-12-12 18:38:20 -05:00
Tillmann Karras
5b4b8dba61
VideoCommon: add message to XF load assert
2023-12-12 22:35:02 +00:00
Lioncash
a812a1f938
LightingShaderGen: Resolve -Wshadow warnings
...
Given how the lambda doesn't capture anything, we can move this to a
internally linked function, which prevents any name shadowing.
2023-12-12 16:55:06 -05:00
Tilka
4d98c237c7
Merge pull request #12371 from lioncash/span
...
VideoCommon: Use std::span for BoundingBox::Write()
2023-12-12 20:47:08 +00:00
iwubcode
b69d336838
VideoCommon: update shader asset to provide a variant default value
2023-12-12 00:01:22 -06:00
Lioncash
4c7a4831cb
CustomAssetLibrary: Remove unused GetAssetSize() function
...
There's a direct analogue of this function within
DirectFilesystemAssetLibrary that *is* used, however, so we can get rid
of this one.
2023-12-11 22:00:52 -05:00
Lioncash
49f44c1334
VertexManagerBase: Resolve -Wsign-compare warning
2023-12-11 18:00:34 -05:00
Admiral H. Curtiss
4f02f526b8
Merge pull request #12392 from lioncash/decl
...
General: Resolve -Wmissing-declaration warnings
2023-12-11 23:39:23 +01:00
Admiral H. Curtiss
54301d709a
Merge pull request #12389 from lioncash/cheeve
...
AchievementManager: Make GetInstance() and GetLock() return a reference
2023-12-11 23:37:29 +01:00
Lioncash
e8b4796273
PostProcessing: Mark helper functions as static
...
These didn't have any prototypes and were generating
-Wmissing-declaration warnings.
2023-12-11 17:07:59 -05:00
Lioncash
abb5cc3a3a
ShaderAsset: Mark ParseShaderProperties() as static
...
This had no function prototype, so this can be internally linked.
Resolves a -Wmissing-declaration warning.
2023-12-11 17:05:06 -05:00
Lioncash
2b2ee61e79
CustomShaderCache: Resolve -Wreorder warnings
...
Lays out the initializer lists to be in the same order that
initialization would occur in.
2023-12-11 16:59:03 -05:00
Lioncash
d90537cc18
AchievementManager: Return by reference from GetLock()
...
This makes the API a little nicer to use, since you don't need to do
a mandatory dereference when passing the lock into any kind of scope
guard.
2023-12-11 13:51:50 -05:00
Lioncash
e55f9ed102
AchievementManager: Make GetInstance() return a reference
...
The internal static member will always have a valid lifetime. Makes this
consistent with other instance based objects in our code.
2023-12-11 13:36:39 -05:00
iwubcode
3658d3bffe
VideoCommon: add ability to serialize graphics mod to json object
2023-12-10 18:29:21 -06:00
iwubcode
ac862b04ab
VideoBackends / VideoCommon: update max pixel shader samplers from 8 to 16, this allows us to support more samplers than the native Wii/GC
2023-12-10 18:14:02 -06:00
iwubcode
02756be381
VideoCommon: prevent a potential custom texture crash that can occur when a shared_ptr gets released while a pointer to its member data is still being used
2023-12-09 23:43:40 -06:00
Lioncash
0df7908025
VideoCommon/Present: Remove use of g_presenter inside Presenter class
...
There's no need to self reference a global of the class itself when we
can just call the function directly.
2023-12-09 20:15:32 -05:00
Lioncash
5f6c76af51
VideoCommon: Use std::span for BoundingBox::Write()
...
Crosses off a lingering TODO.
Also amends a few nearby cases where a u32 cast was being repromoted to
size_t.
2023-12-09 16:33:21 -05:00
LillyJadeKatrin
e992225b88
Bugfix - small square in bottom right corner
...
Fixed a bug in OSUI created by the challenge icons that caused a small rectangle to appear in the bottom right corner of the screen.
2023-12-08 00:33:29 -05:00
LillyJadeKatrin
caa729f84a
Display Active Challenges On Screen
...
The active challenges, aka the primed achievements, are displayed on screen as a series of icons in the bottom right corner of the screen via OnScreenUI.
2023-12-07 16:02:15 -05:00
iwubcode
e204b3c8ee
VideoCommon: add additional data types (int, int2, float, bool, etc) as properties of materials and some helper functions to support sending the data to the GPU
2023-12-04 00:12:31 -06:00
Pokechu22
69cf8b3470
VertexLoader: Use Common::SmallVector
2023-12-02 15:54:52 -08:00
Pokechu22
4116344785
VertexLoader: Remove unnecessary calls to VertexLoader_TextCoord::GetDummyFunction
2023-12-02 15:54:52 -08:00
Pokechu22
36796abc08
VertexLoader: Fix wrong array being used if color 1 is present but color 0 isn't
...
This worked correctly on the JIT vertex loaders, and for the equivalent case with texture coordinates. I'm not aware of any games this affects (but libogc does mention a semi-related scenario at 6bc0317c7d/gc/ogc/gx.h (L1855-L1857)
.)
2023-12-02 15:54:52 -08:00
Pokechu22
1ee6824324
VertexLoaderTest: Add test for skipped texture coordinates
...
Jimmie Johnson's Anything with an Engine is known to use texture coordinate 7 (and only texture coordinate 7) in some cases. There are a lot of possible edge-cases, so this test brute-forces all combinations with coordinates 0, 1, and 2.
2023-12-02 15:54:52 -08:00
Zopolis4
f0d2ce4683
Remove _M_X86 in favour of _M_X86_64
2023-11-28 23:03:20 +11:00
Mai
731013c316
Merge pull request #12263 from Dentomologist/realtime_cheatsearch_update
...
CheatSearch: Automatically update Current Values
2023-11-28 04:17:06 +01:00
Tilka
b8a897fda7
Merge pull request #12328 from iwubcode/xf_state_manager
...
VideoCommon: move xf state management to its own class
2023-11-28 02:04:26 +00:00
iwubcode
fb86c6342e
VideoCommon: move texture dump function out of texture cache to its own free function so it can be used elsewhere. Doing this change may also slightly improve performance of this operation
2023-11-26 16:35:03 -06:00
iwubcode
849a0c13b5
VideoCommon: move xf state management to its own class, so changes can be detected in places other than VertexShaderManager
2023-11-26 16:27:26 -06:00
JosJuice
3d5f95b298
Merge pull request #12297 from Filoppi/improve_paper_white
...
Change HDR paper white default to 203 to match the ITU recommendations
2023-11-26 18:03:39 +01:00
Lioncash
04011373f3
CustomAssetLibrary: Remove unnecessary qualifier in LoadInfo
...
The type is already in visible scope, so we don't need the rather length
qualifier.
2023-11-25 18:01:44 -05:00
Lioncash
b85902ccb5
CustomAssetLibrary: Add virtual destructor
...
This is used as a base pointer inside CustomPipelineAction, so this
should probably really have a virtual destructor to ensure derived
objects are torn down properly.
2023-11-25 18:01:17 -05:00
Filoppi
a8fd938a06
Change paper white default to 203 to match the ITU
2023-11-14 20:21:34 +02:00
Pokechu22
3984d1964b
Fix accidental fallthrough in BPStructs
...
This caused us to update the indirect texture information in shaders more often than we needed to, which probably doesn't matter in practice since it's only used in ubershaders and copyyscale and stride are generally only updated before EFB/XFB copies, which generally will have other changes afterwards.
2023-11-12 10:39:56 -08:00
Tilka
e7b922ee62
Merge pull request #12286 from Pokechu22/more-bp-register-descriptions
...
Add descriptions for more BP registers
2023-11-12 07:59:32 +00:00
Pokechu22
da8407e01c
Add descriptions for more BP registers
2023-11-11 23:32:17 -08:00
Pokechu22
dfdb9a4a07
Clarify per-texture tmem information in the fifo analyzer
2023-11-11 23:32:17 -08:00
Pokechu22
ea41d0e384
Convert BPMEM_LOADTLUT1 to a struct
2023-11-11 23:32:17 -08:00
Pokechu22
2a1d445b30
Enhance description of BPMEM_PRELOAD_MODE in the fifo analyzer
2023-11-11 23:32:17 -08:00
Pokechu22
6bad17b170
Rename bpmem.copyMipMapStrideChannels to bpmem.copyDestStride
...
As far as I can tell, it has nothing to do with the mipmap/half_scale functionality, but does change based on the width of the destination texture (and the destination texture is half the width if half_scale is set). The comment that was there (which dates back to the initial megacommit) seems to not have accounted for the width aspect; it was first used as an actual stride in bbbe898839
(the first commit that used it at all).
2023-11-11 23:32:14 -08:00
Tillmann Karras
ac9079f2ca
VideoCommon: copy software renderer logic for blend mode priorities
...
I've not tested this on hardware, but it fixes issue 12271 (shadow
people in Deal or No Deal - Special Edition).
2023-11-12 05:51:28 +00:00
Pokechu22
9543555bfe
Fix typo in comment for bpmem.texcoords
2023-11-11 16:13:37 -08:00
Dentomologist
fdb7328c73
CheatSearch: Update Current Values at end of frame
...
At the end of each frame automatically update the Current Value for
visible table rows in the selected and visible CheatSearchWidget (if
any). Also update all Current Values in all CheatSearchWidgets when the
State changes to Paused.
Only updating visible table rows serves to minimize the performance cost
of this feature. If the user scrolls to an un-updated cell it will
promptly be updated by either the next VIEndFieldEvent or the State
transitioning to Paused.
2023-10-31 17:34:31 -07:00
JosJuice
899d61bc7d
Jit64: Recompile asm routines on cache clear
...
This is needed so that the checks added in the previous commit will be
reevaluated if the value of m_enable_dcache changes.
JitArm64 was already recompiling its asm routines on cache clear by
necessity. It doesn't have the same setup as Jit64 where the asm
routines are in a separate region, so clearing the JitArm64 cache
results in the asm routines being cleared too.
2023-10-31 19:43:49 +01:00
Tilka
2212a5b225
Merge pull request #12254 from AdmiralCurtiss/savestate-no-xfb-stride
...
VideoCommon: Don't swap on state load when there's no XFB.
2023-10-28 02:14:30 +01:00
Admiral H. Curtiss
4f0c8b1657
VideoCommon: Don't swap on state load when there's no XFB.
...
This triggers an assert in TCacheEntry::SetXfbCopy() otherwise if you load a savestate that was made before the first XFB has been rendered.
2023-10-25 18:24:42 +02:00
TellowKrinkle
323aea60d6
VideoCommon: Fix VS point/line on older GLSL
2023-10-24 23:18:01 -05:00
Admiral H. Curtiss
cb13ad7a5f
VideoCommon: Add support for icons in OSD messages.
2023-10-17 02:47:29 +02:00
iwubcode
b292022bc7
VideoCommon: use ToLower function in assets when parsing json, for proper locale independent behavior
2023-10-16 19:23:00 -05:00
iwubcode
fec2a8af8c
VideoCommon: add additional properties to ShaderAsset to support custom shader uniforms
2023-10-16 19:02:27 -05:00
Admiral H. Curtiss
2677fd9a8e
Merge pull request #12185 from iwubcode/custom_shader_uniform_backend_support
...
VideoBackends / VideoCommon: add support for custom shader uniforms to D3D, Vulkan, OGL
2023-10-15 00:21:56 +02:00
iwubcode
b251194a7e
VideoCommon: wait for the GPU to be finished doing any work before invalidating pipelines when graphic config changes
2023-10-10 18:17:24 -05:00
iwubcode
0e8f8ea930
VideoCommon: instead of using 'CustomTextureData' directly, use 'TextureData' for texture assets, this allows us to provide additional metadata for textures. Such as a sampler or type information (to distinguish cube maps)
2023-10-10 09:58:14 -05:00
iwubcode
a099f4f41b
VideoCommon: given the changes to pipeline interaction, update the global version variable to reflect those changes and force pipelines to be rebuilt
2023-10-06 02:17:43 -05:00
iwubcode
b6d321bfb1
VideoBackends / VideoCommon: add new uniform buffer object for custom shader materials (slot 3, geometry shader buffer moves to slot 4 if available)
2023-10-06 02:17:42 -05:00
iwubcode
92accc3ef7
VideoCommon: add custom pixel shader constants as a buffer of data to be passed to all backends
2023-10-05 21:20:16 -05:00
Patrick Ferry
9e950c6959
Use Vertex Depth Range when zRange Exceeds farZ
...
When the inverted depth range is unsupported and zRange is greater than farZ then min_depth becomes a negative value and far_depth will then exceed a depth of 1.0 (which is outside the scope of most backends and greater than GX_MAX_DEPTH of the console).
This happens when the backend supports depth clamping the min_depth is not clamped to zero.
2023-09-28 04:17:56 +01:00
get
63467559b2
fmt 10.0.0-10.1.1 compile fixes
...
Implicit conversion operators and enums was removed for parity with std::format (fce74caa15
).
2023-09-21 01:19:23 +02:00
Admiral H. Curtiss
1a821465f4
Merge pull request #12166 from iwubcode/cubemap_shader_texture_integration
...
VideoCommon: add cubemap to ShaderAsset and TextureAsset
2023-09-12 16:56:26 +02:00
Jordan Woyak
7cc4304918
VideoCommon: Expose the widescreen heuristic's standard and widescreen ratio values in onion config.
2023-09-06 18:45:28 -05:00
iwubcode
589834f562
VideoCommon: add cubemap as a sampler target for shaders, add cubemap as a valid texture asset
2023-09-05 21:11:19 -05:00
JMC47
76a00551d1
Merge pull request #11419 from OatmealDome/widescreen
...
VideoCommon: Allow widescreen heuristic's constants to be overridden by onion config
2023-09-05 13:25:07 -04:00