Просмотр исходного кода

glasm: Fix immediate texture coordinate

ReinUsesLisp 5 лет назад
Родитель
Сommit
eb8464cb3d
1 измененных файлов с 1 добавлено и 0 удалено
  1. 1 0
      src/shader_recompiler/backend/glasm/emit_glasm_image.cpp

+ 1 - 0
src/shader_recompiler/backend/glasm/emit_glasm_image.cpp

@@ -161,6 +161,7 @@ std::string GradOffset(const IR::Value& offset) {
 std::pair<std::string, ScopedRegister> Coord(EmitContext& ctx, const IR::Value& coord) {
 std::pair<std::string, ScopedRegister> Coord(EmitContext& ctx, const IR::Value& coord) {
     if (coord.IsImmediate()) {
     if (coord.IsImmediate()) {
         ScopedRegister scoped_reg(ctx.reg_alloc);
         ScopedRegister scoped_reg(ctx.reg_alloc);
+        ctx.Add("MOV.U {}.x,{};", scoped_reg.reg, ScalarU32{ctx.reg_alloc.Consume(coord)});
         return {fmt::to_string(scoped_reg.reg), std::move(scoped_reg)};
         return {fmt::to_string(scoped_reg.reg), std::move(scoped_reg)};
     }
     }
     std::string coord_vec{fmt::to_string(Register{ctx.reg_alloc.Consume(coord)})};
     std::string coord_vec{fmt::to_string(Register{ctx.reg_alloc.Consume(coord)})};