[Mesa-dev] [PATCH] st/mesa: pass through 4th opcode argument in bitmap/pixel visitors
Brian Paul
brianp at vmware.com
Mon Aug 24 08:07:24 PDT 2015
On 08/20/2015 06:07 PM, Ilia Mirkin wrote:
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
> src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> index 76a77f0..eb47685 100644
> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> @@ -4404,12 +4404,12 @@ get_pixel_transfer_visitor(struct st_fragment_program *fp,
> * new visitor. */
> foreach_in_list(glsl_to_tgsi_instruction, inst, &original->instructions) {
> glsl_to_tgsi_instruction *newinst;
> - st_src_reg src_regs[3];
> + st_src_reg src_regs[4];
>
> if (inst->dst[0].file == PROGRAM_OUTPUT)
> prog->OutputsWritten |= BITFIELD64_BIT(inst->dst[0].index);
>
> - for (int i = 0; i < 3; i++) {
> + for (int i = 0; i < 4; i++) {
> src_regs[i] = inst->src[i];
> if (src_regs[i].file == PROGRAM_INPUT &&
> src_regs[i].index == VARYING_SLOT_COL0) {
> @@ -4420,7 +4420,7 @@ get_pixel_transfer_visitor(struct st_fragment_program *fp,
> prog->InputsRead |= BITFIELD64_BIT(src_regs[i].index);
> }
>
> - newinst = v->emit_asm(NULL, inst->op, inst->dst[0], src_regs[0], src_regs[1], src_regs[2]);
> + newinst = v->emit_asm(NULL, inst->op, inst->dst[0], src_regs[0], src_regs[1], src_regs[2], src_regs[3]);
> newinst->tex_target = inst->tex_target;
> newinst->sampler_array_size = inst->sampler_array_size;
> }
> @@ -4489,18 +4489,18 @@ get_bitmap_visitor(struct st_fragment_program *fp,
> * new visitor. */
> foreach_in_list(glsl_to_tgsi_instruction, inst, &original->instructions) {
> glsl_to_tgsi_instruction *newinst;
> - st_src_reg src_regs[3];
> + st_src_reg src_regs[4];
>
> if (inst->dst[0].file == PROGRAM_OUTPUT)
> prog->OutputsWritten |= BITFIELD64_BIT(inst->dst[0].index);
>
> - for (int i = 0; i < 3; i++) {
> + for (int i = 0; i < 4; i++) {
> src_regs[i] = inst->src[i];
> if (src_regs[i].file == PROGRAM_INPUT)
> prog->InputsRead |= BITFIELD64_BIT(src_regs[i].index);
> }
>
> - newinst = v->emit_asm(NULL, inst->op, inst->dst[0], src_regs[0], src_regs[1], src_regs[2]);
> + newinst = v->emit_asm(NULL, inst->op, inst->dst[0], src_regs[0], src_regs[1], src_regs[2], src_regs[3]);
> newinst->tex_target = inst->tex_target;
> newinst->sampler_array_size = inst->sampler_array_size;
> }
>
It might be nice if there were a TGSI_MAX_SRC_REGS constant instead of
using 4 everywhere.
-Brian
More information about the mesa-dev
mailing list