add: render target caches

This commit is contained in:
Samuliak 2024-07-02 16:06:20 +02:00
parent 67e3a1d8eb
commit 53c9611ac2
4 changed files with 85 additions and 1 deletions

View file

@ -18,6 +18,8 @@ RendererMTL::RendererMTL(GPU& gpu, const std::array<u32, regNum>& internalRegs,
RendererMTL::~RendererMTL() {}
void RendererMTL::reset() {
colorRenderTargetCache.reset();
depthStencilRenderTargetCache.reset();
textureCache.reset();
// TODO: implement
@ -233,6 +235,8 @@ void RendererMTL::screenshot(const std::string& name) {
}
void RendererMTL::deinitGraphicsContext() {
colorRenderTargetCache.reset();
depthStencilRenderTargetCache.reset();
textureCache.reset();
// TODO: implement

View file

@ -12,7 +12,7 @@ void Texture::allocate() {
descriptor->setPixelFormat(MTL::PixelFormatRGBA8Unorm);
descriptor->setWidth(size.u());
descriptor->setHeight(size.v());
descriptor->setUsage(MTL::TextureUsageShaderRead | MTL::TextureUsageShaderWrite);
descriptor->setUsage(MTL::TextureUsageShaderRead);
descriptor->setStorageMode(MTL::StorageModeShared); // TODO: use private + staging buffers?
texture = device->newTexture(descriptor);