mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-20 04:29:13 +12:00
use sampler states
This commit is contained in:
parent
9527c2acdb
commit
b6c72e72e4
6 changed files with 50 additions and 14 deletions
|
@ -26,6 +26,7 @@ struct Texture {
|
|||
Interval<u32> range;
|
||||
|
||||
MTL::Texture* texture = nullptr;
|
||||
MTL::SamplerState* sampler = nullptr;
|
||||
|
||||
Texture() : valid(false) {}
|
||||
|
||||
|
|
|
@ -110,4 +110,20 @@ inline MTL::PrimitiveType toMTLPrimitiveType(PrimType primType) {
|
|||
}
|
||||
}
|
||||
|
||||
inline MTL::SamplerAddressMode toMTLSamplerAddressMode(u8 addrMode) {
|
||||
switch (addrMode) {
|
||||
case 0: return MTL::SamplerAddressModeClampToEdge;
|
||||
case 1: return MTL::SamplerAddressModeClampToBorderColor;
|
||||
case 2: return MTL::SamplerAddressModeRepeat;
|
||||
case 3: return MTL::SamplerAddressModeMirrorRepeat;
|
||||
case 4: return MTL::SamplerAddressModeClampToEdge;
|
||||
case 5: return MTL::SamplerAddressModeClampToBorderColor;
|
||||
case 6: return MTL::SamplerAddressModeRepeat;
|
||||
case 7: return MTL::SamplerAddressModeRepeat;
|
||||
default: panic("Unknown sampler address mode %u", addrMode);
|
||||
}
|
||||
|
||||
return MTL::SamplerAddressModeClampToEdge;
|
||||
}
|
||||
|
||||
} // namespace PICA
|
||||
|
|
|
@ -97,7 +97,7 @@ class RendererMTL final : public Renderer {
|
|||
|
||||
std::optional<Metal::ColorRenderTarget> getColorRenderTarget(u32 addr, PICA::ColorFmt format, u32 width, u32 height, bool createIfnotFound = true);
|
||||
Metal::DepthStencilRenderTarget& getDepthRenderTarget();
|
||||
MTL::Texture* getTexture(Metal::Texture& tex);
|
||||
Metal::Texture& getTexture(Metal::Texture& tex);
|
||||
void setupTextureEnvState(MTL::RenderCommandEncoder* encoder);
|
||||
void bindTexturesToSlots(MTL::RenderCommandEncoder* encoder);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue