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

Reply via email to