mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-22 03:46:53 +02:00
BC7-RGBA32_UINT views (Vulkan validation)
Co-authored-by: Techx3 <56268269+Techx3@users.noreply.github.com> Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com> Co-authored-by: SueryRD <the.ai.tester2@gmail.com> Co-authored-by: BlackCAT <52720489+psnwd@users.noreply.github.com>
This commit is contained in:
@@ -48,12 +48,16 @@ namespace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] vk::ImageUsageFlags ImageUsageFlags(GraphicContext& graphics, const ImageInfo& info) {
|
[[nodiscard]] vk::ImageUsageFlags ImageUsageFlags(GraphicContext& graphics, const ImageInfo& info) {
|
||||||
|
auto usage = vk::ImageUsageFlagBits::eTransferSrc | vk::ImageUsageFlagBits::eTransferDst;
|
||||||
if (info.IsBlock()) {
|
if (info.IsBlock()) {
|
||||||
return vk::ImageUsageFlagBits::eTransferSrc | vk::ImageUsageFlagBits::eTransferDst |
|
usage |= vk::ImageUsageFlagBits::eSampled;
|
||||||
vk::ImageUsageFlagBits::eSampled;
|
if (graphics.supports_block_texel_view) {
|
||||||
|
// Uncompressed block views use storage access; ExtendedUsage permits their formats.
|
||||||
|
usage |= vk::ImageUsageFlagBits::eStorage;
|
||||||
|
}
|
||||||
|
return usage;
|
||||||
}
|
}
|
||||||
const auto properties = graphics.GetFormatProperties(info.pixel_format);
|
const auto properties = graphics.GetFormatProperties(info.pixel_format);
|
||||||
auto usage = vk::ImageUsageFlagBits::eTransferSrc | vk::ImageUsageFlagBits::eTransferDst;
|
|
||||||
if (HasFormatFeature(properties, vk::FormatFeatureFlagBits::eSampledImage)) {
|
if (HasFormatFeature(properties, vk::FormatFeatureFlagBits::eSampledImage)) {
|
||||||
usage |= vk::ImageUsageFlagBits::eSampled;
|
usage |= vk::ImageUsageFlagBits::eSampled;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10442,6 +10442,13 @@ public:
|
|||||||
(vk::AccessFlagBits2::eShaderRead |
|
(vk::AccessFlagBits2::eShaderRead |
|
||||||
vk::AccessFlagBits2::eShaderWrite),
|
vk::AccessFlagBits2::eShaderWrite),
|
||||||
"a later sampled alias dropped an earlier storage write access");
|
"a later sampled alias dropped an earlier storage write access");
|
||||||
|
// Bind the raw block view through the existing uint storage descriptor layout.
|
||||||
|
auto block_bindings = graphics_bindings.vertex[0];
|
||||||
|
block_bindings.images[0] = raw_blocks_again;
|
||||||
|
block_bindings.images[0].image_view = texture_cache.FindTexture(
|
||||||
|
raw_blocks_again.image_id, raw_blocks_again.desc);
|
||||||
|
descriptor_pipelines.push_back(RenderExecutorTestAccess::CommitBindings(
|
||||||
|
executor, scheduler.Current(), block_bindings));
|
||||||
RenderExecutorTestAccess::ResetBindings(executor);
|
RenderExecutorTestAccess::ResetBindings(executor);
|
||||||
|
|
||||||
ShaderRecompiler::IR::Program vertex_sampled_program{};
|
ShaderRecompiler::IR::Program vertex_sampled_program{};
|
||||||
|
|||||||
Reference in New Issue
Block a user