diff options
author | Neil Roberts <nroberts@igalia.com> | 2020-06-22 09:52:25 +0200 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2020-07-06 21:59:16 +0000 |
commit | 207da33a86d1a2b45995a7fd123afb761b1d841f (patch) | |
tree | 75d11d8858731e7fa7e648652eb08ea7ca8857f7 /src/gallium/drivers/v3d/v3d_uniforms.c | |
parent | 121b82f6387c267731a18f3cb9762cedf99ebb6d (diff) |
v3d: Handle the line width intrinsics
Adds new QUNIFORMs to store the line widths.
v2: Also handle the aa_line_width intrinsic
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5624>
Diffstat (limited to 'src/gallium/drivers/v3d/v3d_uniforms.c')
-rw-r--r-- | src/gallium/drivers/v3d/v3d_uniforms.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/v3d/v3d_uniforms.c b/src/gallium/drivers/v3d/v3d_uniforms.c index ab57880f06f..64fde274a99 100644 --- a/src/gallium/drivers/v3d/v3d_uniforms.c +++ b/src/gallium/drivers/v3d/v3d_uniforms.c @@ -312,6 +312,12 @@ v3d_write_uniforms(struct v3d_context *v3d, struct v3d_job *job, v3d->zsa->base.alpha.ref_value); break; + case QUNIFORM_LINE_WIDTH: + case QUNIFORM_AA_LINE_WIDTH: + cl_aligned_f(&uniforms, + v3d->rasterizer->base.line_width); + break; + case QUNIFORM_UBO_ADDR: { uint32_t unit = v3d_unit_data_get_unit(data); /* Constant buffer 0 may be a system memory pointer, @@ -464,6 +470,11 @@ v3d_set_shader_uniform_dirty_flags(struct v3d_compiled_shader *shader) dirty |= VC5_DIRTY_ZSA; break; + case QUNIFORM_LINE_WIDTH: + case QUNIFORM_AA_LINE_WIDTH: + dirty |= VC5_DIRTY_RASTERIZER; + break; + case QUNIFORM_NUM_WORK_GROUPS: case QUNIFORM_SHARED_OFFSET: /* Compute always recalculates uniforms. */ |