mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-09-03 11:13:54 +00:00
[texture_cache] Added typeless storage form
This commit is contained in:
@@ -2244,7 +2244,12 @@ VkImageView ImageView::StorageView(Shader::TextureType texture_type,
|
|||||||
Shader::ImageFormat image_format) {
|
Shader::ImageFormat image_format) {
|
||||||
if (image_handle) {
|
if (image_handle) {
|
||||||
if (image_format == Shader::ImageFormat::Typeless) {
|
if (image_format == Shader::ImageFormat::Typeless) {
|
||||||
return Handle(texture_type);
|
if (!typeless_storage_view) {
|
||||||
|
const auto& info =
|
||||||
|
MaxwellToVK::SurfaceFormat(*device, FormatType::Optimal, true, format);
|
||||||
|
typeless_storage_view = MakeView(info.format, VK_IMAGE_ASPECT_COLOR_BIT);
|
||||||
|
}
|
||||||
|
return *typeless_storage_view;
|
||||||
}
|
}
|
||||||
const bool is_signed = image_format == Shader::ImageFormat::R8_SINT
|
const bool is_signed = image_format == Shader::ImageFormat::R8_SINT
|
||||||
|| image_format == Shader::ImageFormat::R16_SINT;
|
|| image_format == Shader::ImageFormat::R16_SINT;
|
||||||
|
|||||||
@@ -377,6 +377,7 @@ private:
|
|||||||
|
|
||||||
std::array<vk::ImageView, Shader::NUM_TEXTURE_TYPES> image_views;
|
std::array<vk::ImageView, Shader::NUM_TEXTURE_TYPES> image_views;
|
||||||
std::optional<StorageViews> storage_views;
|
std::optional<StorageViews> storage_views;
|
||||||
|
vk::ImageView typeless_storage_view;
|
||||||
vk::ImageView depth_view;
|
vk::ImageView depth_view;
|
||||||
vk::ImageView stencil_view;
|
vk::ImageView stencil_view;
|
||||||
vk::ImageView color_view;
|
vk::ImageView color_view;
|
||||||
|
|||||||
Reference in New Issue
Block a user