On 4 Dec 2015 03:01, "Aaron Watry" <awa...@gmail.com> wrote: > > Hi Dave (and others), > > I cloned your fdo r600g-tess-submit branch and gave it a spin on CEDAR (Radeon 5400, kernel 4.3.0) with Heaven, and ran into a few issues.
Just grab r600g-tess-staging -submit only worked on cayman, but i d posted it here so didn't want to change it during review. Dave. > > 1) Initially, I got an assertion in r600_add_atom stating that the atom ID was not less than the R600_NUM_ATOMS value (id = 51, R600_NUM_ATOMS=51). > I bumped R600_NUM_ATOMS to 52 for now, and that got rid of that issue... although I have no idea if that was a correct fix. > > 2) Next, I kept getting a segfault in evergreen_adjust_gprs at line 3931. Turns out that rctx->hw_shader_stages[2].shader was null (missing/miscompiled GS?). > > I naively changed the code to the following, and now Heaven actually runs with tessellation enabled (and it looks like it's working). > > /* gather required shader gprs */ > for (i = 0; i < EG_NUM_HW_STAGES; i++) { > if (!rctx->hw_shader_stages[i].shader) { > num_gprs[i] = def_gprs[i]; > continue; > } > num_gprs[i] = rctx->hw_shader_stages[i].shader->shader.bc.ngpr; > } > > Just figured that I'd let you know... > > If you don't have CEDAR hardware to test with, feel free to ping me to test any additional changes. Note that I didn't run the benchmark to completion (too slow, had to get other work done), but it didn't hang my GPU in the time that I did have it running. > > --Aaron > > > On Mon, Nov 30, 2015 at 12:20 AM, Dave Airlie <airl...@gmail.com> wrote: >> >> Hi, >> >> Patchbomb time, this set of patches is a first pass at add adding >> ARB_tessellation_shader support to the r600g driver. Only Evergreen >> and newer GPUs support tessellation. On any of the GPUs that support >> native FP64, this will enable OpenGL 4.1 on them. >> >> The first bunch of patches are a bit of a driver rework to get >> things in better shape for tessellation, they shouldn't cause >> any regressions. >> >> This runs heaven on cayman and should pass all the piglits >> unless I've done something wrong. >> >> Development hit two HW programming fun times, one with tess and >> dynamic GPR interaction requiring disabling dynamic GPRs, and >> one with programming of some SIMD registers to block TESS shaders >> on one unit. These fixed most of the hangs we saw during development. >> >> This doesn't contain SB support yet, Glenn has started working on it. >> >> Currently tested hw: >> working: CAYMAN, REDWOOD, BARTS, TURKS >> hangs on any tessellation: CAYMAN >> hangs differently at least with heaven: SUMO >> >> This patchset doesn't block it on any GPUs, but when merged it >> probably should. >> >> Also available at: >> http://cgit.freedesktop.org/~airlied/mesa/log/?h=r600g-tess-submit >> >> Thanks to Glenn Kennard for lots of discussion and testing. >> >> Dave. >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev