glsl/glasm: Pass and use scaling parameters in shaders

This commit is contained in:
ReinUsesLisp 2021-07-31 03:04:08 -03:00 committed by Fernando Sahmkow
parent 4a512d6827
commit cfeb161c7e
9 changed files with 51 additions and 28 deletions

View file

@ -612,8 +612,9 @@ void EmitIsTextureScaled(EmitContext& ctx, IR::Inst& inst, const IR::Value& inde
if (!index.IsImmediate()) {
throw NotImplementedException("Non-constant texture rescaling");
}
UNIMPLEMENTED();
ctx.Add("MOV.S {}.x,-1;", inst);
ctx.Add("AND.U RC.x,scaling[0].x,{};"
"SNE.S {},RC.x,0;",
1u << index.U32(), ctx.reg_alloc.Define(inst));
}
void EmitImageAtomicIAdd32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coord,