nixpkgs/pkgs/misc/dxvk/darwin-dxvk-compat.patch
2022-03-07 15:15:19 -05:00

36 lines
1.7 KiB
Diff

Source: https://github.com/marzent/dxvk/commit/65247afe2de5dd6b555b8fdd46dddcdc6325e1d6
---
src/d3d11/d3d11_device.cpp | 12 +-
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp
index 21f0d1b4a..5b1d05335 100644
--- a/src/d3d11/d3d11_device.cpp
+++ b/src/d3d11/d3d11_device.cpp
@@ -799,8 +799,12 @@ namespace dxvk {
InitReturnPtr(ppGeometryShader);
D3D11CommonShader module;
- if (!m_dxvkDevice->features().extTransformFeedback.transformFeedback)
- return DXGI_ERROR_INVALID_CALL;
+ if (!m_dxvkDevice->features().extTransformFeedback.transformFeedback) {
+ Logger::err(
+ "D3D11: CreateGeometryShaderWithStreamOutput:"
+ "\n Transform feedback not supported by device");
+ return S_OK;
+ }
// Zero-init some counterss so that we can increment
// them while walking over the stream output entries
@@ -1973,8 +1977,8 @@ namespace dxvk {
enabled.core.features.logicOp = supported.core.features.logicOp;
enabled.core.features.shaderImageGatherExtended = VK_TRUE;
enabled.core.features.variableMultisampleRate = supported.core.features.variableMultisampleRate;
- enabled.extTransformFeedback.transformFeedback = VK_TRUE;
- enabled.extTransformFeedback.geometryStreams = VK_TRUE;
+ enabled.extTransformFeedback.transformFeedback = supported.extTransformFeedback.transformFeedback;
+ enabled.extTransformFeedback.geometryStreams = supported.extTransformFeedback.geometryStreams;
}
if (featureLevel >= D3D_FEATURE_LEVEL_10_1) {