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.
This commit is contained in:
parent
6870111051
commit
acecee4c2d
|
@ -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:
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue