mesa/src
Juan A. Suarez Romero 457dbb81f5 broadcom/compiler: apply constant folding on early GS lowering
This solves a case where a NIR geometry shader was storing the output in
a non-constant:

  vec4 32 ssa_1 = load_const (0xc0800000 /* -4.000000 */, 0xc1100000 /* -9.000000 */, 0x40400000 /* 3.000000 */, 0x40e00000 /* 7.000000 */)
  vec1 32 ssa_7 = load_const (0x00000000 /* 0.000000 */)
  vec1 32 ssa_8 = load_const (0x00000001 /* 0.000000 */)
  vec1 32 ssa_9 = iadd ssa_7, ssa_8
  vec1 32 ssa_19 = mov ssa_1.x
  intrinsic store_output (ssa_19, ssa_9) (1, 1, 0, 160, 288) /* base=1 */ /* wrmask=x */ /* component=0 */ /* src_type=float32 */ /* location=32 slots=2 gs_streams(x=0 y=0 z=0 w=0) */

When lowering the VPM output we check if the destination (ssa_9 in this
case) is a constant to add to the VPM offset. We run a constant folding
optimization in an earlier VS lowering, and we should do the same for
GS.

This fixes multiple dEQP-VK.pipeline.interface_matching.* failures.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13884>
2021-11-22 09:32:50 +00:00
..
amd radv: ignore the descriptor set layout when creating descriptor template 2021-11-19 13:52:36 +00:00
android_stub android_stub: update platform headers to include atrace 2021-10-09 00:42:32 +00:00
asahi asahi: Fix BIND_PIPELINE sizing and alignment 2021-11-18 23:35:25 +00:00
broadcom broadcom/compiler: apply constant folding on early GS lowering 2021-11-22 09:32:50 +00:00
compiler glsl/nir: Don't build soft float64 when it cannot be used 2021-11-17 12:23:29 -08:00
drm-shim drm-shim: Support kernels with >4k pages 2021-08-13 23:33:52 +00:00
egl c11/threads: Re-align return values for timed waits 2021-11-16 10:02:08 -06:00
etnaviv ci/etnaviv: no need to force nir anymore 2021-11-12 08:22:29 +00:00
freedreno freedreno/a5xx: Emit MSAA state for sysmem rendering, too. 2021-11-19 17:24:11 +00:00
gallium radeonsi: deduplicate min_esverts code in gfx10_ngg_calculate_subgroup_info 2021-11-20 00:03:45 +00:00
gbm gbm: add GBM_FORMAT_GR1616 and RG1616 2021-10-27 02:53:05 +00:00
getopt
glx glx/dri3: fix glXQueryContext does not return GLX_RENDER_TYPE value 2021-11-19 01:37:27 +00:00
gtest gtest: Fix output of array ASSERT/EXPECT macros 2021-11-11 09:53:09 -08:00
hgl
imgui
intel intel/fs: fix shader call lowering pass 2021-11-22 08:17:26 +00:00
loader gallium/dri: let the driver know if the imported image is DRI_PRIME buffer 2021-10-18 16:24:00 +02:00
mapi Use initial-exec TLS for glibc only, enable TLS elsewhere 2021-11-20 11:56:34 -05:00
mesa mesa: move around current texture object fetching 2021-11-19 20:45:35 -05:00
microsoft microsoft/compiler: Handle GLES external textures 2021-11-19 22:54:46 +00:00
nouveau
panfrost pan/bi: Add XML for LD_BUFFER 2021-11-18 23:16:20 +00:00
tool pps: add an intel config file 2021-10-28 13:16:56 +03:00
util Use initial-exec TLS for glibc only, enable TLS elsewhere 2021-11-20 11:56:34 -05:00
virtio virgl: obtain supported number of shader sampler views from host 2021-11-08 19:34:30 +00:00
vulkan vulkan: move common format helpers to vk_format 2021-11-19 12:23:19 +01:00
meson.build meson: build freedreno tools when other parts of freedreno not enabled 2021-10-26 00:33:31 +00:00