[Mesa-dev] [PATCH 51/53] intel/fs: Remove support push constants in repclear shaders
Matt Turner
mattst88 at gmail.com
Thu May 31 17:43:54 UTC 2018
On Thu, May 24, 2018 at 2:56 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> ---
> src/intel/compiler/brw_fs.cpp | 25 ++++++-------------------
> 1 file changed, 6 insertions(+), 19 deletions(-)
>
> diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp
> index 1f87f06..7e532af 100644
> --- a/src/intel/compiler/brw_fs.cpp
> +++ b/src/intel/compiler/brw_fs.cpp
> @@ -3220,21 +3220,14 @@ fs_visitor::emit_repclear_shader()
> brw_wm_prog_key *key = (brw_wm_prog_key*) this->key;
> int base_mrf = 0;
> int color_mrf = base_mrf + 2;
> - fs_inst *mov;
>
> - if (uniforms > 0) {
> - mov = bld.exec_all().group(4, 0)
> - .MOV(brw_message_reg(color_mrf),
> - fs_reg(UNIFORM, 0, BRW_REGISTER_TYPE_F));
> - } else {
> - struct brw_reg reg =
> - brw_reg(BRW_GENERAL_REGISTER_FILE, 2, 3, 0, 0, BRW_REGISTER_TYPE_F,
> - BRW_VERTICAL_STRIDE_8, BRW_WIDTH_2, BRW_HORIZONTAL_STRIDE_4,
> - BRW_SWIZZLE_XYZW, WRITEMASK_XYZW);
> + const struct brw_reg color_in_reg =
> + brw_reg(BRW_GENERAL_REGISTER_FILE, 2, 3, 0, 0, BRW_REGISTER_TYPE_F,
> + BRW_VERTICAL_STRIDE_8, BRW_WIDTH_2, BRW_HORIZONTAL_STRIDE_4,
> + BRW_SWIZZLE_XYZW, WRITEMASK_XYZW);
>
> - mov = bld.exec_all().group(4, 0)
> - .MOV(vec4(brw_message_reg(color_mrf)), fs_reg(reg));
> - }
> + bld.exec_all().group(4, 0)
> + .MOV(vec4(brw_message_reg(color_mrf)), fs_reg(color_in_reg));
>
> fs_inst *write = NULL;
> if (key->nr_color_regions == 1) {
> @@ -3273,12 +3266,6 @@ fs_visitor::emit_repclear_shader()
>
> assign_constant_locations();
> assign_curb_setup();
> -
> - /* Now that we have the uniform assigned, go ahead and force it to a vec4. */
> - if (uniforms > 0) {
> - assert(mov->src[0].file == FIXED_GRF);
> - mov->src[0] = brw_vec4_grf(mov->src[0].nr, 0);
> - }
> }
>
> /**
> --
Some explanation required: why are we making this change, how is it
safe (i.e., did something earlier in the series make this possible?).
More information about the mesa-dev
mailing list