Add more iOS Checks

This commit is contained in:
Stossy11 2024-11-26 09:10:09 +11:00
parent d3031752be
commit 45e2785e93
3 changed files with 20 additions and 10 deletions

View File

@ -580,12 +580,14 @@ namespace Ryujinx.Graphics.Vulkan
{ {
texture.Sampler = _dummySampler.GetSampler().Get(cbs).Value; texture.Sampler = _dummySampler.GetSampler().Get(cbs).Value;
} }
if (OperatingSystem.IsIOS()) {
Span<DescriptorImageInfo> singleTexture = textures.Slice(i, 1); Span<DescriptorImageInfo> singleTexture = textures.Slice(i, 1);
dsc.UpdateImages(0, binding + i, singleTexture, DescriptorType.CombinedImageSampler); dsc.UpdateImages(0, binding + i, singleTexture, DescriptorType.CombinedImageSampler);
}
}
if (!OperatingSystem.IsIOS()) {
dsc.UpdateImages(0, binding, textures[..count], DescriptorType.CombinedImageSampler);
} }
// dsc.UpdateImages(0, binding, textures[..count], DescriptorType.CombinedImageSampler);
} }
else else
{ {
@ -608,11 +610,15 @@ namespace Ryujinx.Graphics.Vulkan
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
images[i].ImageView = _imageRefs[binding + i]?.Get(cbs).Value ?? default; images[i].ImageView = _imageRefs[binding + i]?.Get(cbs).Value ?? default;
Span<DescriptorImageInfo> singleImage = images.Slice(i, 1); if (OperatingSystem.IsIOS()) {
dsc.UpdateImages(0, binding + i, singleImage, DescriptorType.StorageImage); Span<DescriptorImageInfo> singleImage = images.Slice(i, 1);
dsc.UpdateImages(0, binding + i, singleImage, DescriptorType.StorageImage);
}
} }
// dsc.UpdateImages(0, binding, images[..count], DescriptorType.StorageImage); if (!OperatingSystem.IsIOS()) {
dsc.UpdateImages(0, binding, images[..count], DescriptorType.StorageImage);
}
} }
else else
{ {

View File

@ -103,10 +103,14 @@ namespace Ryujinx.Graphics.Vulkan
SupportsShaderStencilExport = supportsShaderStencilExport; SupportsShaderStencilExport = supportsShaderStencilExport;
SupportsShaderStorageImageMultisample = supportsShaderStorageImageMultisample; SupportsShaderStorageImageMultisample = supportsShaderStorageImageMultisample;
SupportsConditionalRendering = supportsConditionalRendering; SupportsConditionalRendering = supportsConditionalRendering;
SupportsExtendedDynamicState = supportsExtendedDynamicState; if (OperatingSystem.IsIOS()) {
SupportsExtendedDynamicState = (OperatingSystem.IsOSPlatformVersionAtLeast("iOS", 17) ? supportsExtendedDynamicState : false);
} else {
SupportsExtendedDynamicState = supportsExtendedDynamicState;
}
SupportsMultiView = supportsMultiView; SupportsMultiView = supportsMultiView;
SupportsNullDescriptors = (OperatingSystem.IsIOS() ? false : supportsNullDescriptors); SupportsNullDescriptors = (OperatingSystem.IsIOS() ? false : supportsNullDescriptors);
SupportsPushDescriptors = (OperatingSystem.IsIOS() ? false : supportsPushDescriptors); SupportsPushDescriptors = supportsPushDescriptors;
SupportsPrimitiveTopologyListRestart = supportsPrimitiveTopologyListRestart; SupportsPrimitiveTopologyListRestart = supportsPrimitiveTopologyListRestart;
SupportsPrimitiveTopologyPatchListRestart = supportsPrimitiveTopologyPatchListRestart; SupportsPrimitiveTopologyPatchListRestart = supportsPrimitiveTopologyPatchListRestart;
SupportsTransformFeedback = supportsTransformFeedback; SupportsTransformFeedback = supportsTransformFeedback;