Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/doitsujin/dxvk.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Lehmann <dadschoorse@gmail.com>2021-10-20 15:02:39 +0300
committerJoshua Ashton <joshua@froggi.es>2021-10-22 02:38:16 +0300
commit3175b62a32a40e91c963cf07ed70666ab8c3d935 (patch)
tree839291a4d4e45ab842f221af7fa52326f7b86211
parent34f828522fff903ef41eab7d106be09e11fd54df (diff)
[dxso] Respect SM2+ sampler source swizzle.dxvk-native-1.9.2a
-rw-r--r--src/dxso/dxso_compiler.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dxso/dxso_compiler.cpp b/src/dxso/dxso_compiler.cpp
index f7bd312b..1656c517 100644
--- a/src/dxso/dxso_compiler.cpp
+++ b/src/dxso/dxso_compiler.cpp
@@ -2843,7 +2843,10 @@ void DxsoCompiler::emitControlFlowGenericLoop(
}
// Apply operand swizzle to the operand value
- result = emitRegisterSwizzle(result, IdentitySwizzle, ctx.dst.mask);
+ if (m_programInfo.majorVersion() >= 2) // SM 2.0+
+ result = emitRegisterSwizzle(result, ctx.src[1].swizzle, ctx.dst.mask);
+ else
+ result = emitRegisterSwizzle(result, IdentitySwizzle, ctx.dst.mask);
if (opcode == DxsoOpcode::TexBemL) {
uint32_t float_t = m_module.defFloatType(32);