workaround crash fix for AMD RX 6650

This commit is contained in:
Turanszki Janos
2023-09-20 08:10:54 +02:00
parent b41e2a1917
commit 5df148cb6c
2 changed files with 24 additions and 1 deletions
+23
View File
@@ -1892,6 +1892,29 @@ void LoadBuffers()
device->CreateTexture(&desc, nullptr, &textures[TEXTYPE_3D_WIND]);
device->SetName(&textures[TEXTYPE_3D_WIND], "textures[TEXTYPE_3D_WIND]");
}
{
// Note: Create dummy shadow map atlas to avoid issue with AMD RX 6650 GPU
// It seems like it incorectly handles dynamic branch on descriptor index
TextureDesc desc;
desc.width = 1;
desc.height = 1;
desc.format = format_depthbuffer_shadowmap;
desc.bind_flags = BindFlag::DEPTH_STENCIL | BindFlag::SHADER_RESOURCE;
desc.layout = ResourceState::SHADER_RESOURCE;
desc.misc_flags = ResourceMiscFlag::TEXTURE_COMPATIBLE_COMPRESSION;
device->CreateTexture(&desc, nullptr, &shadowMapAtlas);
device->SetName(&shadowMapAtlas, "shadowMapAtlas");
desc.format = format_rendertarget_shadowmap;
desc.bind_flags = BindFlag::RENDER_TARGET | BindFlag::SHADER_RESOURCE;
desc.layout = ResourceState::SHADER_RESOURCE;
desc.clear.color[0] = 1;
desc.clear.color[1] = 1;
desc.clear.color[2] = 1;
desc.clear.color[3] = 0;
device->CreateTexture(&desc, nullptr, &shadowMapAtlas_Transparent);
device->SetName(&shadowMapAtlas_Transparent, "shadowMapAtlas_Transparent");
}
}
void SetUpStates()
{
+1 -1
View File
@@ -9,7 +9,7 @@ namespace wi::version
// minor features, major updates, breaking compatibility changes
const int minor = 71;
// minor bug fixes, alterations, refactors, updates
const int revision = 290;
const int revision = 291;
const std::string version_string = std::to_string(major) + "." + std::to_string(minor) + "." + std::to_string(revision);