On 08/22/2016 08:38 AM, Marek Olšák wrote:
From: Marek Olšák <marek.ol...@amd.com>

Sampler view declarations have return types, but that doesn't work with
variable indexing (e.g. SAMP[-1+i]).

Adding the return type to the instruction is simpler.

All sampler view declaration flags might have to be removed since variable
indexing makes them inaccessible.

Do you want to get rid of sampler view declarations entirely?

There's other places where we build shaders but don't use the ureg code (such as tgsi_transform.[ch]) so I imagine that would need to be updated too.


---
  src/gallium/auxiliary/tgsi/tgsi_ureg.c            |  7 ++-
  src/gallium/auxiliary/tgsi/tgsi_ureg.h            | 21 ++++++---
  src/gallium/auxiliary/util/u_simple_shaders.c     | 32 +++++++-------
  src/gallium/auxiliary/vl/vl_bicubic_filter.c      |  3 +-
  src/gallium/auxiliary/vl/vl_compositor.c          | 16 ++++---
  src/gallium/auxiliary/vl/vl_deint_filter.c        | 39 +++++++++++------
  src/gallium/auxiliary/vl/vl_idct.c                |  6 ++-
  src/gallium/auxiliary/vl/vl_matrix_filter.c       |  3 +-
  src/gallium/auxiliary/vl/vl_mc.c                  |  3 +-
  src/gallium/auxiliary/vl/vl_median_filter.c       |  3 +-
  src/gallium/auxiliary/vl/vl_mpeg12_decoder.c      |  3 +-
  src/gallium/auxiliary/vl/vl_zscan.c               |  9 ++--
  src/gallium/drivers/freedreno/freedreno_program.c |  4 +-
  src/gallium/drivers/nouveau/nv50/nv50_surface.c   |  4 +-
  src/gallium/include/pipe/p_shader_tokens.h        |  3 +-
  src/gallium/state_trackers/nine/nine_ff.c         |  6 +--
  src/gallium/state_trackers/nine/nine_shader.c     | 53 +++++++++++++++--------
  src/gallium/state_trackers/xa/xa_tgsi.c           | 21 +++++----
  src/mesa/state_tracker/st_atifs_to_tgsi.c         |  1 +
  src/mesa/state_tracker/st_cb_drawpixels.c         |  6 ++-
  src/mesa/state_tracker/st_glsl_to_tgsi.cpp        | 35 +++++++++------
  src/mesa/state_tracker/st_mesa_to_tgsi.c          |  1 +
  src/mesa/state_tracker/st_pbo.c                   |  8 +++-
  23 files changed, 180 insertions(+), 107 deletions(-)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c 
b/src/gallium/auxiliary/tgsi/tgsi_ureg.c
index b67c383..b82a2ea 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_ureg.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.c
@@ -1207,32 +1207,33 @@ ureg_fixup_label(struct ureg_program *ureg,
  {
     union tgsi_any_token *out = retrieve_token( ureg, DOMAIN_INSN, label_token 
);

     out->insn_label.Label = instruction_number;
  }


  void
  ureg_emit_texture(struct ureg_program *ureg,
                    unsigned extended_token,
-                  unsigned target, unsigned num_offsets)
+                  unsigned target, unsigned num_offsets, unsigned return_type)

Shouldn't we use enum tgsi_return_type instead of unsigned everywhere? That's always nice for debugging.

-Brian

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to