dolphin/Source/Core/VideoCommon
Techjar 8cfe49295f VideoCommon: Add fallback handling for bounding box when disabled or unsupported
The SDK seems to write "default" bounding box values before every draw
(1023 0 1023 0 are the only values encountered so far, which happen to
be the extents allowed by the BP registers) to reset the registers for
comparison in the pixel engine, and presumably to detect whether GX has
updated the registers with real values. Handling these writes and
returning them on read when bounding box emulation is disabled or
unsupported, even without computing real values from rendering, seems
to prevent games from corrupting memory or crashing.

This obviously does not fix any effects that rely on bounding box
emulation, but having the game not clobber its own code/data or just
outright crash is a definite improvement.
2021-05-31 19:56:24 -04:00
..
AbstractFramebuffer.cpp
AbstractFramebuffer.h
AbstractPipeline.h
AbstractShader.h
AbstractStagingTexture.cpp
AbstractStagingTexture.h
AbstractTexture.cpp Core: Remove ImageWrite and get rid of -Wmissing-declarations warnings 2020-12-16 16:04:19 +01:00
AbstractTexture.h
AsyncRequests.cpp Core: Skip duplicate frames when using frame advance 2020-04-09 11:39:29 +02:00
AsyncRequests.h Core: Skip duplicate frames when using frame advance 2020-04-09 11:39:29 +02:00
AsyncShaderCompiler.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
AsyncShaderCompiler.h
BoundingBox.cpp VideoCommon/BoundingBox: Move PixelShaderManager::SetBoundingBoxActive() calls into Enable()/Disable() 2019-12-05 11:57:58 -05:00
BoundingBox.h VideoCommon/BoundingBox: Make interface for querying bounding box data 2019-12-05 11:48:42 -05:00
BPFunctions.cpp Update zcompression format change TODO 2021-05-05 11:32:42 +12:00
BPFunctions.h
BPMemory.cpp Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
BPMemory.h Split TevStageIndirect::mid into matrix_index and matrix_id 2021-05-07 16:27:52 -07:00
BPStructs.cpp VideoCommon: Add fallback handling for bounding box when disabled or unsupported 2021-05-31 19:56:24 -04:00
BPStructs.h
CMakeLists.txt 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
CommandProcessor.cpp Remove all remaining volatile qualifiers 2021-05-15 09:52:04 +02:00
CommandProcessor.h Remove all remaining volatile qualifiers 2021-05-15 09:52:04 +02:00
ConstantManager.h Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
CPMemory.cpp Add names and descriptions for CP registers to the FIFO analyzer 2021-03-06 19:27:14 -08:00
CPMemory.h Add descriptions for GX_LOAD_INDX_A/B/C/D 2021-05-07 15:42:26 -07:00
DataReader.h DataReader: Make use of if constexpr where applicable 2020-10-20 08:42:32 -04:00
DriverDetails.cpp DriverDetails: Fix broken vector bitwise AND on Mali drivers 2021-04-11 15:15:02 +02:00
DriverDetails.h DriverDetails: Fix broken vector bitwise AND on Mali drivers 2021-04-11 15:15:02 +02:00
Fifo.cpp Remove all remaining volatile qualifiers 2021-05-15 09:52:04 +02:00
Fifo.h Fifo: Run/sync with the GPU on command processor register access 2021-04-18 03:24:01 +10:00
FPSCounter.cpp Fix FPS counter and Game Window speed % breaking on pause/unpause 2021-05-06 01:10:04 +03:00
FPSCounter.h Fix FPS counter and Game Window speed % breaking on pause/unpause 2021-05-06 01:10:04 +03:00
FramebufferManager.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
FramebufferManager.h FramebufferManager: Fix invalid readback of EFB D24S8 depth 2020-05-24 15:36:04 +10:00
FramebufferShaderGen.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
FramebufferShaderGen.h
FrameDump.cpp Merge pull request #9275 from JosJuice/framedump-boot-time 2020-12-05 23:57:41 +01:00
FrameDump.h FrameDump: Start timing at 0 ticks when starting from boot 2020-11-27 17:54:08 +01:00
FreeLookCamera.cpp FreeLook: update camera and manager to use a delta time for movement (in case we decide to move this somewhere else in the future) 2021-03-18 17:54:12 -05:00
FreeLookCamera.h FreeLook: update camera and manager to use a delta time for movement (in case we decide to move this somewhere else in the future) 2021-03-18 17:54:12 -05:00
GeometryShaderGen.cpp ShaderGenCommon: Rename WriteFmt() to Write() 2020-11-09 02:31:49 -05:00
GeometryShaderGen.h
GeometryShaderManager.cpp Convert XFMemory to BitField and enum class 2021-03-06 19:27:14 -08:00
GeometryShaderManager.h
GXPipelineTypes.h PixelShaderGen: always run indirect stage logic 2021-05-07 16:37:47 -07:00
HiresTextures_DDSLoader.cpp rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
HiresTextures.cpp 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
HiresTextures.h 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
IndexGenerator.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
IndexGenerator.h VideoCommon/IndexGenerator: Eliminate static state 2019-12-05 10:49:32 -05:00
LightingShaderGen.cpp Convert XFMemory to BitField and enum class 2021-03-06 19:27:14 -08:00
LightingShaderGen.h LightingShaderGen: Always calculate lighting for both color channels 2020-11-20 15:54:04 -08:00
LookUpTables.h
NativeVertexFormat.h
NetPlayChatUI.cpp
NetPlayChatUI.h
NetPlayGolfUI.cpp
NetPlayGolfUI.h
OnScreenDisplay.cpp OnScreenDisplay: a few fixes 2021-04-25 15:45:30 +03:00
OnScreenDisplay.h Android: Move OSD out of the way when menu is open 2020-09-16 18:36:15 +02:00
OpcodeDecoding.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
OpcodeDecoding.h
PerfQueryBase.cpp
PerfQueryBase.h Remove all remaining volatile qualifiers 2021-05-15 09:52:04 +02:00
PixelEngine.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
PixelEngine.h
PixelShaderGen.cpp VideoCommon: Move bounding box pixel quads rounding to shader 2021-05-28 23:30:22 -04:00
PixelShaderGen.h PixelShaderGen: always run indirect stage logic 2021-05-07 16:37:47 -07:00
PixelShaderManager.cpp UberShaderPixel: always run indirect stage logic 2021-05-07 16:37:47 -07:00
PixelShaderManager.h
PostProcessing.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
PostProcessing.h
RenderBase.cpp VideoCommon: Add fallback handling for bounding box when disabled or unsupported 2021-05-31 19:56:24 -04:00
RenderBase.h VideoCommon: Add fallback handling for bounding box when disabled or unsupported 2021-05-31 19:56:24 -04:00
RenderState.cpp Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
RenderState.h Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
SamplerCommon.h Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
sfont.inc
ShaderCache.cpp Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
ShaderCache.h rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
ShaderGenCommon.cpp ShaderGenCommon: Rename WriteFmt() to Write() 2020-11-09 02:31:49 -05:00
ShaderGenCommon.h LightingShaderGen: Always calculate lighting for both color channels 2020-11-20 15:54:04 -08:00
Statistics.cpp
Statistics.h
TextureCacheBase.cpp Merge pull request #9681 from iwubcode/texture-info 2021-05-13 06:44:08 -04:00
TextureCacheBase.h Merge pull request #9681 from iwubcode/texture-info 2021-05-13 06:44:08 -04:00
TextureConfig.cpp
TextureConfig.h
TextureConversionShader.cpp Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
TextureConversionShader.h VideoCommon/TextureConversionShader: Convert over to using ShaderCode 2020-01-23 14:19:36 -05:00
TextureConverterShaderGen.cpp Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
TextureConverterShaderGen.h
TextureDecoder_Common.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
TextureDecoder_Generic.cpp
TextureDecoder_Util.h
TextureDecoder_x64.cpp Replace uses of cassert with Common/Assert.h 2021-04-02 10:18:18 -07:00
TextureDecoder.h Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
TextureInfo.cpp Fix -Wreorder warnings 2021-05-30 17:10:20 +01:00
TextureInfo.h VideoCommon/TextureInfo: Restore old mipmap detection logic 2021-05-22 00:35:43 -04:00
UberShaderCommon.cpp Change BitfieldExtract to use a pointer to the bitfield member 2021-05-07 15:11:17 -07:00
UberShaderCommon.h Change BitfieldExtract to use a pointer to the bitfield member 2021-05-07 15:11:17 -07:00
UberShaderPixel.cpp Skip indirect operation for out of bounds indirect stages 2021-05-27 22:13:42 -07:00
UberShaderPixel.h VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
UberShaderVertex.cpp Change BitfieldExtract to use a pointer to the bitfield member 2021-05-07 15:11:17 -07:00
UberShaderVertex.h
VertexLoader_Color.cpp Convert VertexLoader_Color to a table 2021-05-07 15:42:11 -07:00
VertexLoader_Color.h Convert VertexLoader_Color to a table 2021-05-07 15:42:11 -07:00
VertexLoader_Normal.cpp Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader_Normal.h Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader_Position.cpp Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader_Position.h Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader_TextCoord.cpp Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader_TextCoord.h Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader.cpp Move vertex size and component calculation to VertexLoaderBase 2021-05-07 15:42:17 -07:00
VertexLoader.h Remove VertexLoaderBase::IsInitialized 2021-05-07 15:42:17 -07:00
VertexLoaderARM64.cpp Apple M1: RAII Wrapper for JITPageWrite*Execute*() 2021-05-22 15:25:18 -07:00
VertexLoaderARM64.h Remove VertexLoaderBase::IsInitialized 2021-05-07 15:42:17 -07:00
VertexLoaderBase.cpp Separate vertex components by spaces 2021-05-07 15:42:26 -07:00
VertexLoaderBase.h Fix -Wreorder warnings 2021-05-30 17:10:20 +01:00
VertexLoaderManager.cpp Move vertex size and component calculation to VertexLoaderBase 2021-05-07 15:42:17 -07:00
VertexLoaderManager.h Remove VertexLoader::ToString 2021-05-07 15:42:13 -07:00
VertexLoaderUtils.h Externals: Add zstd 2020-05-13 20:53:10 +02:00
VertexLoaderX64.cpp Move vertex size and component calculation to VertexLoaderBase 2021-05-07 15:42:17 -07:00
VertexLoaderX64.h Remove VertexLoaderBase::IsInitialized 2021-05-07 15:42:17 -07:00
VertexManagerBase.cpp Convert XFMemory to BitField and enum class 2021-03-06 19:27:14 -08:00
VertexManagerBase.h VideoCommon: Tweak widescreen heuristic and clean up some related Renderer logic. 2020-02-09 13:22:25 -06:00
VertexShaderGen.cpp VertexShaderGen: Sonic epsilon hack for OpenGL ES 2021-04-02 15:12:30 +02:00
VertexShaderGen.h Convert XFMemory to BitField and enum class 2021-03-06 19:27:14 -08:00
VertexShaderManager.cpp Convert XFMemory to BitField and enum class 2021-03-06 19:27:14 -08:00
VertexShaderManager.h VideoCommon: remove VertexShaderManager functions instead preferring the direct freelook camera methods 2020-05-03 13:34:13 -05:00
VideoBackendBase.cpp VideoCommon: Add fallback handling for bounding box when disabled or unsupported 2021-05-31 19:56:24 -04:00
VideoBackendBase.h VideoCommon: Get rid of the global g_available_video_backends 2020-10-21 22:00:10 +02:00
VideoCommon.h Implement EFB Peeks for compressed z16 formats 2021-05-05 11:32:29 +12:00
VideoConfig.cpp Core / VideoCommon: Remove old Free Look config 2020-12-24 13:49:25 -06:00
VideoConfig.h Core / VideoCommon: Remove old Free Look config 2020-12-24 13:49:25 -06:00
VideoState.cpp
VideoState.h
XFMemory.cpp
XFMemory.h Skip loading unknown XF registers in the FIFO player 2021-04-06 11:54:49 -07:00
XFStructs.cpp Add descriptions for GX_LOAD_INDX_A/B/C/D 2021-05-07 15:42:26 -07:00
XFStructs.h Add descriptions for GX_LOAD_INDX_A/B/C/D 2021-05-07 15:42:26 -07:00