From: Eric Anholt Date: Mon, 3 Dec 2018 16:51:29 +0000 (-0800) Subject: v3d: Return the right gl_SampleMaskIn[] value. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=acecee4c2db48fb36bce1170d8747c7345ba3541;p=mesa.git v3d: Return the right gl_SampleMaskIn[] value. It's supposed to be the dispatched sample mask for this pixel, not the GL state's sample mask. --- diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index 13109d4f88f..446ac53e95f 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -1579,8 +1579,7 @@ ntq_emit_intrinsic(struct v3d_compile *c, nir_intrinsic_instr *instr) break; case nir_intrinsic_load_sample_mask_in: - ntq_store_dest(c, &instr->dest, 0, - vir_uniform(c, QUNIFORM_SAMPLE_MASK, 0)); + ntq_store_dest(c, &instr->dest, 0, vir_MSF(c)); break; case nir_intrinsic_load_front_face: diff --git a/src/broadcom/compiler/v3d_compiler.h b/src/broadcom/compiler/v3d_compiler.h index 219b7d56377..7423edc85c7 100644 --- a/src/broadcom/compiler/v3d_compiler.h +++ b/src/broadcom/compiler/v3d_compiler.h @@ -246,7 +246,6 @@ enum quniform_contents { QUNIFORM_TEXTURE_BORDER_COLOR, QUNIFORM_ALPHA_REF, - QUNIFORM_SAMPLE_MASK, /** * Returns the the offset of the scratch buffer for register spilling. diff --git a/src/gallium/drivers/v3d/v3d_uniforms.c b/src/gallium/drivers/v3d/v3d_uniforms.c index d2e3e710237..ebf65b60993 100644 --- a/src/gallium/drivers/v3d/v3d_uniforms.c +++ b/src/gallium/drivers/v3d/v3d_uniforms.c @@ -354,10 +354,6 @@ v3d_write_uniforms(struct v3d_context *v3d, struct v3d_compiled_shader *shader, v3d->zsa->base.alpha.ref_value); break; - case QUNIFORM_SAMPLE_MASK: - cl_aligned_u32(&uniforms, v3d->sample_mask); - break; - case QUNIFORM_UBO_ADDR: if (uinfo->data[i] == 0) { cl_aligned_reloc(&job->indirect, &uniforms, @@ -466,10 +462,6 @@ v3d_set_shader_uniform_dirty_flags(struct v3d_compiled_shader *shader) dirty |= VC5_DIRTY_ZSA; break; - case QUNIFORM_SAMPLE_MASK: - dirty |= VC5_DIRTY_SAMPLE_STATE; - break; - default: assert(quniform_contents_is_texture_p0(shader->prog_data.base->uniforms.contents[i])); dirty |= VC5_DIRTY_FRAGTEX | VC5_DIRTY_VERTTEX;