diff options
Diffstat (limited to 'src/shader_recompiler/backend/glsl')
| -rw-r--r-- | src/shader_recompiler/backend/glsl/emit_glsl_image.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_image.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_image.cpp index 6cf0300ab..f022c5f30 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_image.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_image.cpp | |||
| @@ -343,11 +343,13 @@ void EmitImageGather([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Ins | |||
| 343 | if (offset.IsEmpty()) { | 343 | if (offset.IsEmpty()) { |
| 344 | ctx.AddU1("{}=sparseTexelsResidentARB(sparseTextureGatherARB({},{},{},int({})));", | 344 | ctx.AddU1("{}=sparseTexelsResidentARB(sparseTextureGatherARB({},{},{},int({})));", |
| 345 | *sparse_inst, texture, coords, texel, info.gather_component); | 345 | *sparse_inst, texture, coords, texel, info.gather_component); |
| 346 | return; | ||
| 346 | } | 347 | } |
| 347 | if (offset2.IsEmpty()) { | 348 | if (offset2.IsEmpty()) { |
| 348 | ctx.AddU1("{}=sparseTexelsResidentARB(sparseTextureGatherOffsetARB({},{},{},{},int({})));", | 349 | ctx.AddU1("{}=sparseTexelsResidentARB(sparseTextureGatherOffsetARB({},{},{},{},int({})));", |
| 349 | *sparse_inst, texture, CastToIntVec(coords, info), GetOffsetVec(ctx, offset), | 350 | *sparse_inst, texture, CastToIntVec(coords, info), GetOffsetVec(ctx, offset), |
| 350 | texel, info.gather_component); | 351 | texel, info.gather_component); |
| 352 | return; | ||
| 351 | } | 353 | } |
| 352 | // PTP | 354 | // PTP |
| 353 | const auto offsets{PtpOffsets(offset, offset2)}; | 355 | const auto offsets{PtpOffsets(offset, offset2)}; |
| @@ -385,11 +387,13 @@ void EmitImageGatherDref([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR: | |||
| 385 | if (offset.IsEmpty()) { | 387 | if (offset.IsEmpty()) { |
| 386 | ctx.AddU1("{}=sparseTexelsResidentARB(sparseTextureGatherARB({},{},{},{}));", *sparse_inst, | 388 | ctx.AddU1("{}=sparseTexelsResidentARB(sparseTextureGatherARB({},{},{},{}));", *sparse_inst, |
| 387 | texture, coords, dref, texel); | 389 | texture, coords, dref, texel); |
| 390 | return; | ||
| 388 | } | 391 | } |
| 389 | if (offset2.IsEmpty()) { | 392 | if (offset2.IsEmpty()) { |
| 390 | ctx.AddU1("{}=sparseTexelsResidentARB(sparseTextureGatherOffsetARB({},{},{},,{},{}));", | 393 | ctx.AddU1("{}=sparseTexelsResidentARB(sparseTextureGatherOffsetARB({},{},{},,{},{}));", |
| 391 | *sparse_inst, texture, CastToIntVec(coords, info), dref, | 394 | *sparse_inst, texture, CastToIntVec(coords, info), dref, |
| 392 | GetOffsetVec(ctx, offset), texel); | 395 | GetOffsetVec(ctx, offset), texel); |
| 396 | return; | ||
| 393 | } | 397 | } |
| 394 | // PTP | 398 | // PTP |
| 395 | const auto offsets{PtpOffsets(offset, offset2)}; | 399 | const auto offsets{PtpOffsets(offset, offset2)}; |