mirror of
https://gitlab.freedesktop.org/mesa/vulkan-wsi-layer.git
synced 2026-05-20 14:08:13 +02:00
Merge 'Preserve compression control rate flags' into 'main'
See merge request mesa/vulkan-wsi-layer!236
This commit is contained in:
commit
a6e964002a
2 changed files with 16 additions and 9 deletions
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2024-2025 Arm Limited.
|
||||
* Copyright (c) 2024-2026 Arm Limited.
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
|
@ -38,11 +38,15 @@ namespace wsi
|
|||
{
|
||||
image_create_compression_control::image_create_compression_control(const VkImageCompressionControlEXT &extension)
|
||||
: m_compression_control{ VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT, nullptr, extension.flags,
|
||||
extension.compressionControlPlaneCount, m_array_fixed_rate_flags }
|
||||
extension.compressionControlPlaneCount, nullptr }
|
||||
{
|
||||
for (uint32_t i = 0; i < extension.compressionControlPlaneCount; i++)
|
||||
if ((extension.flags & VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT) != 0)
|
||||
{
|
||||
m_compression_control.pFixedRateFlags[i] = extension.pFixedRateFlags[i];
|
||||
m_compression_control.pFixedRateFlags = m_array_fixed_rate_flags;
|
||||
for (uint32_t i = 0; i < extension.compressionControlPlaneCount; i++)
|
||||
{
|
||||
m_compression_control.pFixedRateFlags[i] = extension.pFixedRateFlags[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Arm Limited.
|
||||
* Copyright (c) 2025-2026 Arm Limited.
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
|
@ -32,7 +32,6 @@
|
|||
#pragma once
|
||||
|
||||
#include <optional>
|
||||
#include <utility>
|
||||
|
||||
#include <util/custom_allocator.hpp>
|
||||
#include <util/macros.hpp>
|
||||
|
|
@ -71,10 +70,14 @@ public:
|
|||
}
|
||||
|
||||
auto compression_control = image_create_compression_control(extension);
|
||||
std::swap(m_compression_control, compression_control.m_compression_control);
|
||||
for (uint32_t i = 0; i < compression_control.m_compression_control.compressionControlPlaneCount; i++)
|
||||
m_compression_control = compression_control.m_compression_control;
|
||||
if (compression_control.m_compression_control.pFixedRateFlags != nullptr)
|
||||
{
|
||||
m_compression_control.pFixedRateFlags[i] = compression_control.m_compression_control.pFixedRateFlags[i];
|
||||
m_compression_control.pFixedRateFlags = m_array_fixed_rate_flags;
|
||||
for (uint32_t i = 0; i < compression_control.m_compression_control.compressionControlPlaneCount; i++)
|
||||
{
|
||||
m_compression_control.pFixedRateFlags[i] = compression_control.m_compression_control.pFixedRateFlags[i];
|
||||
}
|
||||
}
|
||||
|
||||
return *this;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue