mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-23 12:21:51 +01:00
Calculate renderarea from attachment min size
This commit is contained in:
parent
4a3cd69257
commit
516ece6b04
@ -294,6 +294,16 @@ namespace skyline::gpu::interconnect::maxwell3d {
|
||||
{surfaceClip.horizontal.width, surfaceClip.vertical.height}
|
||||
};
|
||||
|
||||
auto colorAttachments{activeState.GetColorAttachments()};
|
||||
auto depthStencilAttachment{activeState.GetDepthAttachment()};
|
||||
auto depthStencilAttachmentSpan{depthStencilAttachment ? span<TextureView *>(depthStencilAttachment) : span<TextureView *>()};
|
||||
for (auto attachment : ranges::views::concat(colorAttachments, depthStencilAttachmentSpan)) {
|
||||
if (attachment) {
|
||||
scissor.extent.width = std::min(scissor.extent.width, static_cast<u32>(static_cast<i32>(attachment->texture->dimensions.width) - scissor.offset.x));
|
||||
scissor.extent.height = std::min(scissor.extent.height, static_cast<u32>(static_cast<i32>(attachment->texture->dimensions.height) - scissor.offset.y));
|
||||
}
|
||||
}
|
||||
|
||||
ctx.executor.AddSubpass([drawParams](vk::raii::CommandBuffer &commandBuffer, const std::shared_ptr<FenceCycle> &, GPU &gpu, vk::RenderPass, u32) {
|
||||
drawParams->stateUpdater.RecordAll(gpu, commandBuffer);
|
||||
|
||||
|
@ -204,11 +204,7 @@ namespace skyline::gpu::interconnect::maxwell3d {
|
||||
}
|
||||
|
||||
size_t PackedPipelineState::GetColorRenderTargetCount() const {
|
||||
for (size_t i{engine::ColorTargetCount}; i > 0 ; i--)
|
||||
if (IsColorRenderTargetEnabled(ctSelect[i - 1]))
|
||||
return i;
|
||||
|
||||
return 0;
|
||||
return ctSelect.count;
|
||||
}
|
||||
|
||||
texture::Format PackedPipelineState::GetDepthRenderTargetFormat() const {
|
||||
|
Loading…
Reference in New Issue
Block a user