dolphin/Source/Core/VideoCommon
Pokechu22 bdcfb31187 VideoCommon: Handle custom texture sizes correctly
Specifically, when using Manual Texture Sampling, if textures sizes don't match the size the game specifies, things previously broke.  That can happen with custom textures, and also with scaled EFB copies at non-native IRs.  It breaks most obviously by not scaling the texture coordinates (so only part of the texture shows up), but the hardware wrapping functionality also assumes texture sizes are a power of 2 (or else it will behave weirdly in a way that matches how hardware behaves weirdly).  The fix is to provide alternative texture wrapping logic when custom texture sizes are possible.
2021-11-17 21:28:36 -08:00
..
AbstractFramebuffer.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractFramebuffer.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractPipeline.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractShader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractStagingTexture.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractStagingTexture.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractTexture.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractTexture.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AsyncRequests.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AsyncRequests.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AsyncShaderCompiler.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AsyncShaderCompiler.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BoundingBox.cpp VideoCommon: Add missing algorithm include for std::none_of 2021-11-02 13:50:21 +01:00
BoundingBox.h VideoCommon: Abstract bounding box 2021-10-04 15:51:24 -04:00
BPFunctions.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BPFunctions.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BPMemory.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BPMemory.h BPMemory: Refactor/consolidate TexUnit Addressing 2021-10-10 09:09:43 +13:00
BPStructs.cpp VideoCommon: Use the copy filter for EFB copies as well as XFB copies 2021-11-11 17:22:50 -08:00
BPStructs.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CMakeLists.txt Eliminate SamplerCommon 2021-11-17 20:04:34 -08:00
CommandProcessor.cpp VideoCommon: Fix a -Wclass-memaccess in gcc 11 2021-11-02 13:50:21 +01:00
CommandProcessor.h VideoCommon: Fix a -Wclass-memaccess in gcc 11 2021-11-02 13:50:21 +01:00
ConstantManager.h VideoCommon: Expose SamplerState to shaders 2021-11-17 20:04:34 -08:00
CPMemory.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CPMemory.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
DataReader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DriverDetails.cpp DriverDetails: Add broken dual source blending bug to MoltenVK on Intel GPUs 2021-09-20 19:14:41 -04:00
DriverDetails.h DriverDetails: Add broken dual source blending bug to MoltenVK on Intel GPUs 2021-09-20 19:14:41 -04:00
Fifo.cpp VI: Implement post-scanout XFB output 2021-08-03 23:37:50 -04:00
Fifo.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FPSCounter.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FPSCounter.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FramebufferManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FramebufferManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FramebufferShaderGen.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FramebufferShaderGen.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FrameDump.cpp Merge pull request #10169 from leoetlino/fmt-localtime 2021-11-07 00:08:14 -04:00
FrameDump.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
FreeLookCamera.cpp VideoCommon: update Free Look camera's 'FieldOfView' function to 'FieldOfViewMultiplier' to better reflect usage 2021-10-08 18:17:20 -05:00
FreeLookCamera.h VideoCommon: update Free Look camera's 'FieldOfView' function to 'FieldOfViewMultiplier' to better reflect usage 2021-10-08 18:17:20 -05:00
GeometryShaderGen.cpp GeometryShaderGen: Rename ApiType to api_type 2021-08-01 15:17:21 -07:00
GeometryShaderGen.h GeometryShaderGen: Rename ApiType to api_type 2021-08-01 15:17:21 -07:00
GeometryShaderManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GeometryShaderManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GXPipelineTypes.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
HiresTextures_DDSLoader.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
HiresTextures.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
HiresTextures.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
IndexGenerator.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
IndexGenerator.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
LightingShaderGen.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
LightingShaderGen.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
LookUpTables.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NativeVertexFormat.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayChatUI.cpp Externals: Update imgui to 1.85 2021-10-26 15:07:57 -07:00
NetPlayChatUI.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayGolfUI.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayGolfUI.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OnScreenDisplay.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OnScreenDisplay.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OpcodeDecoding.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OpcodeDecoding.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PerfQueryBase.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PerfQueryBase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PixelEngine.cpp VideoCommon: Abstract bounding box 2021-10-04 15:51:24 -04:00
PixelEngine.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PixelShaderGen.cpp VideoCommon: Handle custom texture sizes correctly 2021-11-17 21:28:36 -08:00
PixelShaderGen.h BPMemory: Make ZTexOp enum an enum class 2021-09-01 18:23:22 -04:00
PixelShaderManager.cpp VideoCommon: Expose SamplerState to shaders 2021-11-17 20:04:34 -08:00
PixelShaderManager.h VideoCommon: Expose SamplerState to shaders 2021-11-17 20:04:34 -08:00
PostProcessing.cpp PostProcessing: fix link error when switching shaders 2021-07-18 04:08:48 +01:00
PostProcessing.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
RenderBase.cpp Externals: Update imgui to 1.85 2021-10-26 15:07:57 -07:00
RenderBase.h VideoCommon: Abstract bounding box 2021-10-04 15:51:24 -04:00
RenderState.cpp VideoCommon: Expose SamplerState to shaders 2021-11-17 20:04:34 -08:00
RenderState.h VideoCommon: Expose SamplerState to shaders 2021-11-17 20:04:34 -08:00
sfont.inc treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ShaderCache.cpp Externals: Update imgui to 1.85 2021-10-26 15:07:57 -07:00
ShaderCache.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
ShaderGenCommon.cpp VideoCommon: Handle custom texture sizes correctly 2021-11-17 21:28:36 -08:00
ShaderGenCommon.h VideoCommon: Handle custom texture sizes correctly 2021-11-17 21:28:36 -08:00
Statistics.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Statistics.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureCacheBase.cpp VideoCommon: Expose SamplerState to shaders 2021-11-17 20:04:34 -08:00
TextureCacheBase.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
TextureConfig.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConfig.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConversionShader.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConversionShader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConverterShaderGen.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureConverterShaderGen.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder_Common.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder_Generic.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder_Util.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder_x64.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureInfo.cpp Eliminate SamplerCommon::AreBpTexMode0MipmapsEnabled 2021-11-17 20:04:34 -08:00
TextureInfo.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TMEM.cpp TMEM: Add some helpful comments 2021-10-12 15:51:24 +13:00
TMEM.h TMEM: Handle savestate and init 2021-10-12 15:51:24 +13:00
UberShaderCommon.cpp VideoCommon: Allow BitfieldExtract in specialized shaders 2021-11-17 20:04:33 -08:00
UberShaderCommon.h VideoCommon: Allow BitfieldExtract in specialized shaders 2021-11-17 20:04:33 -08:00
UberShaderPixel.cpp VideoCommon: Manually handle texture wrapping and sampling 2021-11-17 20:04:34 -08:00
UberShaderPixel.h UberShaderPixel: Rename ApiType to api_type 2021-08-01 15:09:20 -07:00
UberShaderVertex.cpp VideoCommon: Allow BitfieldExtract in specialized shaders 2021-11-17 20:04:33 -08:00
UberShaderVertex.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Color.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Color.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Normal.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Normal.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Position.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_Position.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_TextCoord.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader_TextCoord.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderARM64.cpp fix unused variable warning 2021-09-30 14:27:53 -04:00
VertexLoaderARM64.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderBase.cpp VideoCommon: fix generic build 2021-07-12 04:30:43 +02:00
VertexLoaderBase.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
VertexLoaderManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderUtils.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderX64.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexLoaderX64.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexManagerBase.cpp Eliminate SamplerCommon 2021-11-17 20:04:34 -08:00
VertexManagerBase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexShaderGen.cpp VideoCommon: Fix color channel logic when per-pixel lighting is in use 2021-10-13 20:43:32 -07:00
VertexShaderGen.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VertexShaderManager.cpp VideoCommon: update Free Look camera's 'FieldOfView' function to 'FieldOfViewMultiplier' to better reflect usage 2021-10-08 18:17:20 -05:00
VertexShaderManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VideoBackendBase.cpp TMEM: Handle savestate and init 2021-10-12 15:51:24 +13:00
VideoBackendBase.h VI: Implement post-scanout XFB output 2021-08-03 23:37:50 -04:00
VideoCommon.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VideoConfig.cpp VideoCommon: Add option to use old behavior (Fast Texture Sampling) 2021-11-17 21:27:32 -08:00
VideoConfig.h VideoCommon: Handle custom texture sizes correctly 2021-11-17 21:28:36 -08:00
VideoState.cpp TMEM: Handle savestate and init 2021-10-12 15:51:24 +13:00
VideoState.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
XFMemory.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
XFMemory.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
XFStructs.cpp VideoCommon: report games that set bits in XFMEM_CLIPDISABLE 2021-08-15 04:41:49 +01:00
XFStructs.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00