summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureCacheBase.h
diff options
context:
space:
mode:
authoriwubcode <iwubcode@users.noreply.github.com>2024-06-01 23:21:04 -0500
committeriwubcode <iwubcode@users.noreply.github.com>2024-06-01 23:21:04 -0500
commitc2bc2ccd23cfabc2a6d8ac0295fef7b669206e28 (patch)
tree4d083135411ba1e15ac96565a9e71c044a698312 /Source/Core/VideoCommon/TextureCacheBase.h
parent46a89936ae0724bf087a228133f4bd7bd682da3a (diff)
VideoCommon: pull texture sampler out of texture cache so that it can be used in other places in the future
Diffstat (limited to 'Source/Core/VideoCommon/TextureCacheBase.h')
-rw-r--r--Source/Core/VideoCommon/TextureCacheBase.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/TextureCacheBase.h b/Source/Core/VideoCommon/TextureCacheBase.h
index 998ff446d9..1a06fa671a 100644
--- a/Source/Core/VideoCommon/TextureCacheBase.h
+++ b/Source/Core/VideoCommon/TextureCacheBase.h
@@ -33,6 +33,7 @@
class AbstractFramebuffer;
class AbstractStagingTexture;
class PointerWrap;
+struct SamplerState;
struct VideoConfig;
namespace VideoCommon
@@ -282,7 +283,7 @@ public:
RcTcacheEntry GetXFBTexture(u32 address, u32 width, u32 height, u32 stride,
MathUtil::Rectangle<int>* display_rect);
- virtual void BindTextures(BitSet32 used_textures);
+ virtual void BindTextures(BitSet32 used_textures, const std::array<SamplerState, 8>& samplers);
void CopyRenderTargetToTexture(u32 dstAddr, EFBCopyFormat dstFormat, u32 width, u32 height,
u32 dstStride, bool is_depth_copy,
const MathUtil::Rectangle<int>& srcRect, bool isIntensity,
@@ -308,6 +309,10 @@ public:
static bool AllCopyFilterCoefsNeeded(const std::array<u32, 3>& coefficients);
static bool CopyFilterCanOverflow(const std::array<u32, 3>& coefficients);
+ // Get a new sampler state
+ static SamplerState GetSamplerState(u32 index, float custom_tex_scale, bool custom_tex,
+ bool has_arbitrary_mips);
+
protected:
// Decodes the specified data to the GPU texture specified by entry.
// Returns false if the configuration is not supported.