Skip to content

Commit a2fdff6

Browse files
mmereckiigcbot
authored andcommitted
Fix sample_b with min lod and programable offsets.
Fix `minLod` parameter copy.
1 parent e31c8e9 commit a2fdff6

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

IGC/Compiler/TranslateToProgrammableOffsetsPass.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,10 @@ struct TranslateIntrinsicImpl<GenISAIntrinsic::GenISA_sampleBptr>
299299

300300
static llvm::CallInst* TranslateDetail(SampleIntrinsic* sampleIntr)
301301
{
302-
uint aiOffset = 4;
302+
// sampleB args: bias, u, v, r, ai, minLod, paired texture, texture, sampler, immOffU, immOffV, immOffR
303+
// samplePOB args: bias_offuvr, u, v, r, minLod, paired texture, texture, sampler, immOffU, immOffV, immOffR
304+
// SamplerPerfOptPass copies minLod into ai
305+
uint skipParamOffset = 5;
303306
uint biasOffset = 0;
304307

305308
llvm::Value* packedBiasOffsetUVR = PackBiasOffsetUVR(sampleIntr);
@@ -314,7 +317,7 @@ struct TranslateIntrinsicImpl<GenISAIntrinsic::GenISA_sampleBptr>
314317
continue;
315318
}
316319

317-
if (i == aiOffset)
320+
if (i == skipParamOffset)
318321
continue;
319322

320323
args.push_back(sampleIntr->getArgOperand(i));

0 commit comments

Comments
 (0)