diff options
author | Eric Anholt <[email protected]> | 2018-12-03 08:51:29 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-12-07 16:48:23 -0800 |
commit | acecee4c2db48fb36bce1170d8747c7345ba3541 (patch) | |
tree | d1342db5c21461690d928e1fa3e07780ac13e904 /src | |
parent | 68701110517eb67ee794f2eef10c34e46ce83394 (diff) |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/broadcom/compiler/nir_to_vir.c | 3 | ||||
-rw-r--r-- | src/broadcom/compiler/v3d_compiler.h | 1 | ||||
-rw-r--r-- | src/gallium/drivers/v3d/v3d_uniforms.c | 8 |
3 files changed, 1 insertions, 11 deletions
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; |