From 5463dc69d81c9a2ef1cd2691e361311dbca20b0e Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sun, 10 Nov 2024 22:16:51 +0100 Subject: [PATCH] [dxso] Don't emit FOrdNotEqual --- src/d3d9/d3d9_fixed_function.cpp | 2 +- src/dxso/dxso_compiler.cpp | 4 ++-- src/spirv/spirv_module.cpp | 4 ++-- src/spirv/spirv_module.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/d3d9/d3d9_fixed_function.cpp b/src/d3d9/d3d9_fixed_function.cpp index e8972e4b..46cdd4ec 100644 --- a/src/d3d9/d3d9_fixed_function.cpp +++ b/src/d3d9/d3d9_fixed_function.cpp @@ -302,7 +302,7 @@ namespace dxvk { case VK_COMPARE_OP_EQUAL: return spvModule.opFOrdEqual (boolType, alphaId, alphaRefId); case VK_COMPARE_OP_LESS_OR_EQUAL: return spvModule.opFOrdLessThanEqual (boolType, alphaId, alphaRefId); case VK_COMPARE_OP_GREATER: return spvModule.opFOrdGreaterThan (boolType, alphaId, alphaRefId); - case VK_COMPARE_OP_NOT_EQUAL: return spvModule.opFOrdNotEqual (boolType, alphaId, alphaRefId); + case VK_COMPARE_OP_NOT_EQUAL: return spvModule.opFUnordNotEqual (boolType, alphaId, alphaRefId); case VK_COMPARE_OP_GREATER_OR_EQUAL: return spvModule.opFOrdGreaterThanEqual(boolType, alphaId, alphaRefId); default: case VK_COMPARE_OP_ALWAYS: return spvModule.constBool(true); diff --git a/src/dxso/dxso_compiler.cpp b/src/dxso/dxso_compiler.cpp index 8e53cb39..10a7bceb 100644 --- a/src/dxso/dxso_compiler.cpp +++ b/src/dxso/dxso_compiler.cpp @@ -1286,11 +1286,11 @@ namespace dxvk { case DxsoComparison::Equal: return m_module.opFOrdEqual (typeId, a, b); break; case DxsoComparison::GreaterEqual: return m_module.opFOrdGreaterThanEqual(typeId, a, b); break; case DxsoComparison::LessThan: return m_module.opFOrdLessThan (typeId, a, b); break; - case DxsoComparison::NotEqual: return m_module.opFOrdNotEqual (typeId, a, b); break; + case DxsoComparison::NotEqual: return m_module.opFUnordNotEqual (typeId, a, b); break; case DxsoComparison::LessEqual: return m_module.opFOrdLessThanEqual (typeId, a, b); break; case DxsoComparison::Always: return m_module.constbReplicant(true, type.ccount); break; } -} + } DxsoRegisterValue DxsoCompiler::emitValueLoad( diff --git a/src/spirv/spirv_module.cpp b/src/spirv/spirv_module.cpp index d6573b04..288a7ac5 100644 --- a/src/spirv/spirv_module.cpp +++ b/src/spirv/spirv_module.cpp @@ -2494,13 +2494,13 @@ namespace dxvk { } - uint32_t SpirvModule::opFOrdNotEqual( + uint32_t SpirvModule::opFUnordNotEqual( uint32_t resultType, uint32_t vector1, uint32_t vector2) { uint32_t resultId = this->allocateId(); - m_code.putIns (spv::OpFOrdNotEqual, 5); + m_code.putIns (spv::OpFUnordNotEqual, 5); m_code.putWord(resultType); m_code.putWord(resultId); m_code.putWord(vector1); diff --git a/src/spirv/spirv_module.h b/src/spirv/spirv_module.h index 03a8f519..4bfbd11c 100644 --- a/src/spirv/spirv_module.h +++ b/src/spirv/spirv_module.h @@ -882,7 +882,7 @@ namespace dxvk { uint32_t vector1, uint32_t vector2); - uint32_t opFOrdNotEqual( + uint32_t opFUnordNotEqual( uint32_t resultType, uint32_t vector1, uint32_t vector2);