[Bug 85579] [bisected] piglit test crashes in spec/glsl-1.50/execution/geometry/max-input-components

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Comment # 9 on bug 85579 from
I think there are 2 ways to fix this and we should do both:

1) Fix VGPR register spilling caused by indirect addressing into lots of
registers. LLVM crashes when it attempts to do that. Those registers are just
copies of shader inputs and outputs.

2)
Step A) Implement indirect addressing for VS outputs before GS and GS inputs.
This means that we cannot store outputs at the end of shaders (using
emit_epilogue), but we must store them when they occur as a destination
register (using emit_store).

(BTW my tessellation branch contains modifications to emit_store that make it
easier to re-implement it for shaders that use store instructions for outputs)

Step B) glsl_to_tgsi and/or some passes of the GLSL compiler may need to be
modified not to move ins/outs into temporaries. I think the only pass that does
that is the varying packing. The pass should be disabled or rewritten, because
its current implementation isn't gonna fly with our hardware and is often the
cause of unnecessary register spilling.


You are receiving this mail because:
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux