1
0
mirror of https://github.com/EduApps-CDG/OpenDX synced 2024-12-30 09:45:37 +01:00

[d3d9] Fix view formats for conversion formats

This commit is contained in:
Joshua Ashton 2020-02-24 06:38:26 +00:00
parent 1e426cdb08
commit b67f4974be
2 changed files with 7 additions and 4 deletions

View File

@ -193,8 +193,8 @@ namespace dxvk {
Rc<DxvkImage> D3D9CommonTexture::CreatePrimaryImage(D3DRESOURCETYPE ResourceType, bool TryOffscreenRT) const { Rc<DxvkImage> D3D9CommonTexture::CreatePrimaryImage(D3DRESOURCETYPE ResourceType, bool TryOffscreenRT) const {
DxvkImageCreateInfo imageInfo; DxvkImageCreateInfo imageInfo;
imageInfo.type = GetImageTypeFromResourceType(ResourceType); imageInfo.type = GetImageTypeFromResourceType(ResourceType);
imageInfo.format = m_mapping.ConversionFormatInfo.VulkanFormat != VK_FORMAT_UNDEFINED imageInfo.format = m_mapping.ConversionFormatInfo.FormatColor != VK_FORMAT_UNDEFINED
? m_mapping.ConversionFormatInfo.VulkanFormat ? m_mapping.ConversionFormatInfo.FormatColor
: m_mapping.FormatColor; : m_mapping.FormatColor;
imageInfo.flags = 0; imageInfo.flags = 0;
imageInfo.sampleCount = VK_SAMPLE_COUNT_1_BIT; imageInfo.sampleCount = VK_SAMPLE_COUNT_1_BIT;
@ -427,7 +427,9 @@ namespace dxvk {
VkImageUsageFlags UsageFlags, VkImageUsageFlags UsageFlags,
bool Srgb) { bool Srgb) {
DxvkImageViewCreateInfo viewInfo; DxvkImageViewCreateInfo viewInfo;
viewInfo.format = PickSRGB(m_mapping.FormatColor, m_mapping.FormatSrgb, Srgb); viewInfo.format = m_mapping.ConversionFormatInfo.FormatColor != VK_FORMAT_UNDEFINED
? PickSRGB(m_mapping.ConversionFormatInfo.FormatColor, m_mapping.ConversionFormatInfo.FormatSrgb, Srgb)
: PickSRGB(m_mapping.FormatColor, m_mapping.FormatSrgb, Srgb);
viewInfo.aspect = imageFormatInfo(viewInfo.format)->aspectMask; viewInfo.aspect = imageFormatInfo(viewInfo.format)->aspectMask;
viewInfo.swizzle = m_mapping.Swizzle; viewInfo.swizzle = m_mapping.Swizzle;
viewInfo.usage = UsageFlags; viewInfo.usage = UsageFlags;

View File

@ -137,7 +137,8 @@ namespace dxvk {
struct D3D9_CONVERSION_FORMAT_INFO { struct D3D9_CONVERSION_FORMAT_INFO {
D3D9ConversionFormat FormatType = D3D9ConversionFormat_None; D3D9ConversionFormat FormatType = D3D9ConversionFormat_None;
VkExtent2D MacroPixelSize = { 1u, 1u }; VkExtent2D MacroPixelSize = { 1u, 1u };
VkFormat VulkanFormat = VK_FORMAT_UNDEFINED; VkFormat FormatColor = VK_FORMAT_UNDEFINED;
VkFormat FormatSrgb = VK_FORMAT_UNDEFINED;
}; };
/** /**