mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 17:10:11 +01:00
ac/nir: fix txf_ms with an offset
Seems to fix some hair artifacts in Max Payne 3:
https://github.com/daniel-schuermann/mesa/issues/76
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: f4e499ec79 ('radv: add initial non-conformant radv vulkan driver')
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
parent
a69ab1b7d2
commit
a9f58af454
1 changed files with 2 additions and 2 deletions
|
|
@ -3793,7 +3793,7 @@ static void visit_tex(struct ac_nir_context *ctx, nir_tex_instr *instr)
|
|||
goto write_result;
|
||||
}
|
||||
|
||||
if (args.offset && instr->op != nir_texop_txf) {
|
||||
if (args.offset && instr->op != nir_texop_txf && instr->op != nir_texop_txf_ms) {
|
||||
LLVMValueRef offset[3], pack;
|
||||
for (unsigned chan = 0; chan < 3; ++chan)
|
||||
offset[chan] = ctx->ac.i32_0;
|
||||
|
|
@ -3932,7 +3932,7 @@ static void visit_tex(struct ac_nir_context *ctx, nir_tex_instr *instr)
|
|||
args.coords[sample_chan], fmask_ptr);
|
||||
}
|
||||
|
||||
if (args.offset && instr->op == nir_texop_txf) {
|
||||
if (args.offset && (instr->op == nir_texop_txf || instr->op == nir_texop_txf_ms)) {
|
||||
int num_offsets = instr->src[offset_src].src.ssa->num_components;
|
||||
num_offsets = MIN2(num_offsets, instr->coord_components);
|
||||
for (unsigned i = 0; i < num_offsets; ++i) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue