dolphin/Source/Core/VideoCommon
Dentomologist 0a1084fad5 VideoBackendBase: Check Core state in PopulateBackendInfo
Remove the PopulateBackendInfoFromUI function, which had a single caller
(GraphicsWindow::OnBackendChanged) and checked that the core wasn't
running or starting before calling PopulateBackendInfo.

Move the core state check into PopulateBackendInfo and have
OnBackendChanged call that instead. This guarantees the check is
performed by all callers of PopulateBackendInfo, preventing
potential reintroduction of the crash fixed in 3d4ae63f if another call
to PopulateBackendInfo is added.

As of the previous commit the only other caller of PopulateBackendInfo
is Core::Init shortly before s_state is set to Starting, so it will
always pass the check and so maintain its current behavior.
2024-09-26 17:12:26 -07:00
..
Assets VideoCommon: add ability to serialize a texture asset metadata to json 2024-06-29 14:50:40 -05:00
GraphicsModSystem Use 'contains' method 2024-08-14 22:18:28 +02:00
AbstractFramebuffer.cpp Adjust order and spacing of various #includes 2024-07-26 14:28:34 -07:00
AbstractFramebuffer.h AbstractFramebuffer: Fix Android reorder-ctor warning 2023-08-12 20:48:47 -07:00
AbstractGfx.cpp Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted. 2023-06-19 01:34:42 +03:00
AbstractGfx.h VideoBackends: support multiple compute images for some backends (D3D, OGL, Vulkan) 2023-06-28 17:15:31 -05:00
AbstractPipeline.h Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00
AbstractShader.h
AbstractStagingTexture.cpp
AbstractStagingTexture.h
AbstractTexture.cpp 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 2023-12-15 11:06:02 -06:00
AbstractTexture.h 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
AsyncRequests.cpp VideoCommon/Fifo: Pass system instance through FifoManager constructor 2023-12-18 22:03:25 -05:00
AsyncRequests.h
AsyncShaderCompiler.cpp Core::GetState: Avoid Global System Accessor 2024-04-08 16:23:23 -07:00
AsyncShaderCompiler.h
BoundingBox.cpp VideoCommon: Use std::span for BoundingBox::Write() 2023-12-09 16:33:21 -05:00
BoundingBox.h VideoCommon: Use std::span for BoundingBox::Write() 2023-12-09 16:33:21 -05:00
BPFunctions.cpp Remove redundant semicolons 2024-08-20 14:59:54 +02:00
BPFunctions.h
BPMemory.cpp Replace Common::BitCast with std::bit_cast 2024-05-03 18:43:51 -07:00
BPMemory.h Add descriptions for more BP registers 2023-11-11 23:32:17 -08:00
BPStructs.cpp VideoCommon/BPStructs: Add a missing bounds check 2024-04-20 18:31:08 +02:00
BPStructs.h
CMakeLists.txt Properly link against xxhash 2024-07-06 16:56:44 -05:00
CommandProcessor.cpp Migrate SConfig::bWii to System. 2024-01-31 12:54:07 +01:00
CommandProcessor.h Migrate SConfig::bWii to System. 2024-01-31 12:54:07 +01:00
ConstantManager.h VideoCommon: add milliseconds elapsed time value to pixel shaders as a uniform to be able to support animation effects in custom shaders 2023-08-20 18:53:27 -05:00
Constants.h Revert "VideoCommon: revert max pixel shader samplers back to 8 for Android devices." 2024-01-03 18:43:44 -06:00
CPMemory.cpp Migrate SConfig::bWii to System. 2024-01-31 12:54:07 +01:00
CPMemory.h Fix out of bounds accesses for invalid vertex component formats 2024-04-04 12:50:34 -07:00
CPUCull.cpp 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
CPUCull.h Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00
CPUCullImpl.h
DataReader.h
DriverDetails.cpp VideoCommon: Post to analytics when bug is overridden 2024-01-28 23:24:23 -06:00
DriverDetails.h VideoCommon: Post to analytics when bug is overridden 2024-01-28 23:24:23 -06:00
Fifo.cpp VideoCommon/CommandProcessor: Pass system instance through constructor 2023-12-20 09:02:53 -05:00
Fifo.h VideoCommon/Fifo: Pass system instance through FifoManager constructor 2023-12-18 22:03:25 -05:00
FramebufferManager.cpp VideoCommon/Statistics: Remove global system accessor from s_after_frame_event 2024-01-31 13:12:09 -05:00
FramebufferManager.h Video: Make the game resolution (within the window) snap to the XFB size if they are within a ~1 pixel treshold on one axis only. 2024-02-20 03:09:11 +02:00
FramebufferShaderGen.cpp Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted. 2023-06-19 01:34:42 +03:00
FramebufferShaderGen.h Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted. 2023-06-19 01:34:42 +03:00
FrameDumper.cpp Video: remove enforced resolution least common multiple of 4 when dumping screenshots and not videos (only videos encoders have this limit). 2024-04-08 22:54:45 +03:00
FrameDumper.h Video: remove enforced resolution least common multiple of 4 when dumping screenshots and not videos (only videos encoders have this limit). 2024-04-08 22:54:45 +03:00
FrameDumpFFMpeg.cpp Core/SystemTimers: Refactor to class, move to System. 2024-01-04 23:35:19 +01:00
FrameDumpFFMpeg.h
FreeLookCamera.cpp
FreeLookCamera.h
GeometryShaderGen.cpp 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
GeometryShaderGen.h
GeometryShaderManager.cpp
GeometryShaderManager.h
GXPipelineTypes.h 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
HiresTextures.cpp 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
HiresTextures.h Core / VideoCommon: update HiresTexture to use CustomAssetLoader 2023-06-05 16:33:19 -05:00
IndexGenerator.cpp
IndexGenerator.h
LightingShaderGen.cpp LightingShaderGen: Resolve -Wshadow warnings 2023-12-12 16:55:06 -05:00
LightingShaderGen.h VideoCommon: add helper functions to handle generating custom lighting code for a custom pixel shader 2023-08-20 18:53:27 -05:00
LookUpTables.h
NativeVertexFormat.h NativeVertexFormat: Collapse std namespace and mark hash noexcept 2024-01-31 12:37:44 -05:00
NetPlayChatUI.cpp VideoCommon: update NetplayChatUI's chat message input to use a hidden label. This avoids an error thrown by imgui 2023-07-29 00:27:07 -05:00
NetPlayChatUI.h
NetPlayGolfUI.cpp
NetPlayGolfUI.h
OnScreenDisplay.cpp Fix margins on icon-only messages 2024-06-15 22:42:35 -04:00
OnScreenDisplay.h Remove redundant semicolons 2024-08-20 14:59:54 +02:00
OnScreenUI.cpp Merge pull request #12867 from AdmiralCurtiss/uicommon-dependency 2024-06-21 20:01:44 +02:00
OnScreenUI.h Refactored Challenge Icons to handle icon updates 2024-06-15 07:36:49 -04:00
OnScreenUIKeyMap.h Insert a more solid abstraction between Qt and Imgui 2023-02-09 18:36:20 +13:00
OpcodeDecoding.cpp VideoCommon: Remove calls to GetPointer 2024-04-09 21:08:57 +02:00
OpcodeDecoding.h VideoCommon: force 32-byte alignment for display list address and size 2024-08-18 05:00:38 +01:00
PerformanceMetrics.cpp HW/VideoInterface: Refactor to class. 2023-03-11 12:50:35 +01:00
PerformanceMetrics.h Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00
PerformanceTracker.cpp
PerformanceTracker.h
PerfQueryBase.cpp Adjust order and spacing of various #includes 2024-07-26 14:28:34 -07:00
PerfQueryBase.h
PixelEngine.cpp VideoCommon/PixelEngine: Generify lock guards 2023-12-22 14:19:29 -05:00
PixelEngine.h VideoCommon/PixelEngine: Passthrough system instance in constructor 2023-12-22 14:19:26 -05:00
PixelShaderGen.cpp Merge pull request #12721 from iwubcode/custom_shader_alpha 2024-06-11 21:13:24 -04:00
PixelShaderGen.h VideoCommon: prepare graphics mods for custom shader material data 2023-12-12 17:56:26 -06:00
PixelShaderManager.cpp
PixelShaderManager.h 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
PostProcessing.cpp PostProcessing: Don't potentially leak memory in BlitFromTexture() 2024-01-23 13:34:40 -05:00
PostProcessing.h Video: fix post process shaders with parameters failing to build on OpenGL 2023-08-18 02:00:56 +03:00
Present.cpp Graphics: Adapt aspect ratio when SBS/TAB 3D is used 2024-08-22 07:11:43 +10:00
Present.h Video: split frame dumping settings into 3 resolution dumping modes 2024-04-08 22:54:45 +03:00
RenderBase.cpp
RenderBase.h
RenderState.cpp VideoCommon: copy software renderer logic for blend mode priorities 2023-11-12 05:51:28 +00:00
RenderState.h RenderState: Collapse std namespace for hash 2024-01-31 12:40:10 -05:00
sfont.inc
ShaderCache.cpp Use 'contains' method 2024-08-15 14:20:16 -07:00
ShaderCache.h Common/LinearDiskCache: Move interface into Common namespace 2023-04-19 09:14:39 -04:00
ShaderGenCommon.cpp VideoCommon: allow custom shaders to set the alpha value for use when blending is enabled 2024-04-28 18:15:27 -05:00
ShaderGenCommon.h VideoCommon: prepare graphics mods for custom shader material data 2023-12-12 17:56:26 -06:00
Spirv.cpp
Spirv.h
Statistics.cpp Config: Expose GFX_OVERLAY_PROJ_STATS setting in UI. 2024-04-18 14:45:28 -05:00
Statistics.h VideoCommon: Show the average projection to viewport ratio in statistics 2024-04-18 14:45:28 -05:00
TextureCacheBase.cpp Use 'contains' method 2024-08-14 22:18:28 +02:00
TextureCacheBase.h 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
TextureConfig.cpp VideoCommon: add texture type to texture config comparison 2024-06-08 14:28:11 -05:00
TextureConfig.h TextureConfig: Collapse std namespace for hash 2024-01-31 12:41:33 -05:00
TextureConversionShader.cpp Common/MathUtil: Move IntLog2 into MathUtil namespace 2023-04-15 03:35:05 -04:00
TextureConversionShader.h
TextureConverterShaderGen.cpp VideoCommon: apply "force 24-bit color" to EFB-to-VRAM copies as well 2023-12-20 02:25:07 +00:00
TextureConverterShaderGen.h
TextureDecoder_Common.cpp VideoCommon: Use GetSpanForAddress safely in texture decoding 2024-04-20 18:31:08 +02:00
TextureDecoder_Generic.cpp
TextureDecoder_Util.h
TextureDecoder_x64.cpp
TextureDecoder.h VideoCommon: Use GetSpanForAddress safely in texture decoding 2024-04-20 18:31:08 +02:00
TextureInfo.cpp VideoCommon: Use GetSpanForAddress safely in texture decoding 2024-04-20 18:31:08 +02:00
TextureInfo.h VideoCommon: Use GetSpanForAddress safely in texture decoding 2024-04-20 18:31:08 +02:00
TextureUtils.cpp VideoCommon: Scan texture dumping directory + subdirectories to not re-dump existing files. 2024-03-21 20:27:34 -05:00
TextureUtils.h VideoCommon: Scan texture dumping directory + subdirectories to not re-dump existing files. 2024-03-21 20:27:34 -05:00
TMEM.cpp
TMEM.h
UberShaderCommon.cpp EnumUtils: Add Common::ToUnderlying 2023-06-17 07:15:33 -05:00
UberShaderCommon.h
UberShaderPixel.cpp VideoCommon: allow custom shaders to set the alpha value for use when blending is enabled 2024-04-28 18:15:27 -05:00
UberShaderPixel.h VideoCommon: uber pixel shader gen changes needed to support custom pixel shaders in graphics mods 2023-08-20 18:53:27 -05:00
UberShaderVertex.cpp VideoCommon: Fix VS point/line on older GLSL 2023-10-24 23:18:01 -05:00
UberShaderVertex.h
VertexLoader_Color.cpp VertexLoader: Fix wrong array being used if color 1 is present but color 0 isn't 2023-12-02 15:54:52 -08:00
VertexLoader_Color.h VertexLoader: Fix wrong array being used if color 1 is present but color 0 isn't 2023-12-02 15:54:52 -08:00
VertexLoader_Normal.cpp Fix out of bounds accesses for invalid vertex component formats 2024-04-04 12:50:34 -07:00
VertexLoader_Normal.h Fix out of bounds accesses for invalid vertex component formats 2024-04-04 12:50:34 -07:00
VertexLoader_Position.cpp Fix out of bounds accesses for invalid vertex component formats 2024-04-04 12:50:34 -07:00
VertexLoader_Position.h Fix out of bounds accesses for invalid vertex component formats 2024-04-04 12:50:34 -07:00
VertexLoader_TextCoord.cpp Fix out of bounds accesses for invalid vertex component formats 2024-04-04 12:50:34 -07:00
VertexLoader_TextCoord.h Fix out of bounds accesses for invalid vertex component formats 2024-04-04 12:50:34 -07:00
VertexLoader.cpp VertexLoader: Use Common::SmallVector 2023-12-02 15:54:52 -08:00
VertexLoader.h VertexLoader: Use Common::SmallVector 2023-12-02 15:54:52 -08:00
VertexLoaderARM64.cpp Fix out of bounds accesses for invalid vertex component formats 2024-04-04 12:50:34 -07:00
VertexLoaderARM64.h
VertexLoaderBase.cpp Add support for libfmt-11 2024-08-22 16:54:35 +03:00
VertexLoaderBase.h VertexLoaderBase: Collapse std namespace for hash and mark noexcept 2024-01-31 12:43:00 -05:00
VertexLoaderManager.cpp Memmap: Replace GetPointer with GetSpanForAddress 2024-04-20 18:31:08 +02:00
VertexLoaderManager.h Remove redundant semicolons 2024-08-20 14:59:54 +02:00
VertexLoaderUtils.h
VertexLoaderX64.cpp Fix out of bounds accesses for invalid vertex component formats 2024-04-04 12:50:34 -07:00
VertexLoaderX64.h
VertexManagerBase.cpp 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
VertexManagerBase.h Remove redundant semicolons 2024-08-20 14:59:54 +02:00
VertexShaderGen.cpp VideoCommon: Fix VS point/line on older GLSL 2023-10-24 23:18:01 -05:00
VertexShaderGen.h
VertexShaderManager.cpp 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
VertexShaderManager.h 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
VideoBackendBase.cpp VideoBackendBase: Check Core state in PopulateBackendInfo 2024-09-26 17:12:26 -07:00
VideoBackendBase.h VideoBackendBase: Check Core state in PopulateBackendInfo 2024-09-26 17:12:26 -07:00
VideoCommon.h
VideoConfig.cpp Graphics: Adapt aspect ratio when SBS/TAB 3D is used 2024-08-22 07:11:43 +10:00
VideoConfig.h Graphics: Adapt aspect ratio when SBS/TAB 3D is used 2024-08-22 07:11:43 +10:00
VideoEvents.h VideoCommon: add xfbs presented to video events 2024-04-09 18:57:32 -05:00
VideoState.cpp VideoCommon: Use GetSpanForAddress safely in texture decoding 2024-04-20 18:31:08 +02:00
VideoState.h
Widescreen.cpp VideoCommon: Show the average projection to viewport ratio in statistics 2024-04-18 14:45:28 -05:00
Widescreen.h Video: update widescreen heuristic code to never get stuck to specific old values when changing settings 2024-02-20 22:26:19 +02:00
XFMemory.cpp
XFMemory.h
XFStateManager.cpp 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
XFStateManager.h 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
XFStructs.cpp Replace Common::BitCast with std::bit_cast 2024-05-03 18:43:51 -07:00
XFStructs.h