1#include "ResolveResourceTask.h"
3#include "Rendering/IGraphicsDevice.h"
4#include "Rendering/IContext.h"
5#include "Rendering/ITextures.h"
7#include "Renderer/RenderTexture.h"
8#include "Platform/Instrumentation.h"
10void Cogs::Core::ResolveResourceTask::apply(RenderTaskContext * renderContext)
12 RenderInstrumentationScope(renderContext->device->getImmediateContext(), SCOPE_RENDERING,
"ResolveResourceTask::apply");
14 auto inputTexture = input.get(RenderResourceType::RenderTexture)->renderTexure;
15 auto outputTexture = output.get(RenderResourceType::RenderTexture)->renderTexure;
17 auto device = renderContext->device;
18 auto deviceContext = device->getImmediateContext();
22 if (inputTexture->description.samples == 1) {
23 deviceContext->copyResource(outputTexture->textureHandle, inputTexture->textureHandle);
25 deviceContext->resolveResource(inputTexture->textureHandle, outputTexture->textureHandle);
bool HandleIsValid(const ResourceHandle_t< T > &handle)
Check if the given resource is valid, that is not equal to NoHandle or InvalidHandle.