Serialise device create info exactly as-is, without patching

* Previously we serialised after enabling a few features at capture-time.
This commit is contained in:
baldurk committed 2020-05-15 19:03:27 +01:00
1 parent 96e34db93d
commit 5b5bd49a43
3 files changed
+180 -210

No files matched your search

+10 -1
View File
@@ -34,6 +34,7 @@ enum class FeatureCheck
FragmentStores = 0x2,
NonMetalBackend = 0x4,
FormatlessWrite = 0x8,
SampleShading = 0x10,
};
BITMASK_OPERATORS(FeatureCheck);
@@ -84,7 +85,7 @@ static const BuiltinShaderConfig builtinShaders[] = {
{BuiltinShader::DepthMS2ArrayFS, EmbeddedResource(glsl_depthms2arr_frag),
rdcspv::ShaderStage::Fragment, FeatureCheck::NonMetalBackend, true},
{BuiltinShader::DepthArray2MSFS, EmbeddedResource(glsl_deptharr2ms_frag),
rdcspv::ShaderStage::Fragment, FeatureCheck::NonMetalBackend, true},
rdcspv::ShaderStage::Fragment, FeatureCheck::SampleShading | FeatureCheck::NonMetalBackend, true},
{BuiltinShader::TexRemapFloat, EmbeddedResource(glsl_texremap_frag),
rdcspv::ShaderStage::Fragment, FeatureCheck::NoCheck, true},
{BuiltinShader::TexRemapUInt, EmbeddedResource(glsl_texremap_frag),
@@ -183,6 +184,14 @@ VulkanShaderCache::VulkanShaderCache(WrappedVulkan *driver)
}
}
if(config.checks & FeatureCheck::SampleShading)
{
if(!features.sampleRateShading)
{
continue;
}
}
if(config.checks & FeatureCheck::FragmentStores)
{
if(!features.fragmentStoresAndAtomics)