<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 31, 2017 at 3:14 PM, Jan Vesely <span dir="ltr"><<a href="mailto:jan.vesely@rutgers.edu" target="_blank">jan.vesely@rutgers.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, 2017-05-31 at 18:32 +0100, Emil Velikov wrote:<br>
> On 31 May 2017 at 18:18, Jan Vesely <<a href="mailto:jan.vesely@rutgers.edu">jan.vesely@rutgers.edu</a>> wrote:<br>
> > On Wed, 2017-05-31 at 17:48 +0100, Emil Velikov wrote:<br>
> > > On 31 May 2017 at 16:32, Marek Olšák <<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>> wrote:<br>
> > > > On Wed, May 31, 2017 at 4:17 PM, Jan Vesely <<a href="mailto:jan.vesely@rutgers.edu">jan.vesely@rutgers.edu</a>> wrote:<br>
> > > > > On Wed, 2017-05-31 at 13:33 +0100, Emil Velikov wrote:<br>
> > > > > > On 29 May 2017 at 16:33, Marek Olšák <<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>> wrote:<br>
> > > > > > > The "ac" functions could also be forked and put into r600 if people<br>
> > > > > > > want to preserve the OpenCL support. That would remove the dependency<br>
> > > > > > > on "ac".<br>
> > > > > > ><br>
> > > > ><br>
> > > > > I thought amdgpu.a was supposed to be shared by both, is there a way to<br>
> > > > >  split off the GCN parts and still have reuse shared code?<br>
> > > > > I won't hide it, my intention is to rely on shared code as much as<br>
> > > > > possible and force others to care (same strategy with LLVM, but mesa<br>
> > > > > does not have a nice regression test suite).<br>
> > > ><br>
> > > > This shared code doesn't change. You won't gain anything by sharing<br>
> > > > it.<br>
> > ><br>
> > > This one here. Jan/others can you look into Marek's suggestion, as you<br>
> > > have time?<br>
> > ><br>
> > > > And with ROCm OpenCL being out there, the fate of RadeonSI OpenCL<br>
> > > > is also uncertain and it's definitely unmaintained.<br></div></div></blockquote><div><br></div><div>I'd say that as long as ROCm only supports PCIe Gen 3+ and later-generation discrete GCN chips (and APUs), there's still a future that clover can carve out for itself.<br><br></div><div>For reference, the systems I'm doing testing/dev of libclc on, in my limited spare time, are:<br></div><div>Phenom II x6 w/ Radeon 6850 (BARTS)<br></div><div>Ryzen R7 1700 w/ Radeon 7850 (PITCAIRN)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
> > > ><br>
> > > > ><br>
> > > > > > Any objections if we defer this to the person working on r600+OpenCL,<br>
> > > > > > or is that a must for the series?<br>
> > > > > > I'm slightly worried that a "fix the build" is going into "refactor<br>
> > > > > > driver X" :-\<br>
> > > > ><br>
> > > > > what's wrong with adding an r600g+opencl on radeonsi dependency? if<br>
> > > > > it's "not used" enough to be removed, then it should be "not used"<br>
> > > > > enough to have non-standard dependency.<br>
> > > ><br>
> > > > Yeah we can add that dependency.<br>
> > > ><br>
> > > > There is technically no production quality OpenCL Mesa driver, so the<br>
> > > > importance of building OpenCL successfully is kinda moot. Maybe we can<br>
> > > > just let it be in the current state with all its build bugs.<br>
> > > ><br>
> > ><br>
> > > If I understood you correctly -> selecting r600+opencl would also<br>
> > > build radeonsi?<br>
> > > This sounds like a very nasty hack/workaround :-(<br>
> > ><br>
> > > Marek, what's your final call?<br>
> > > Fwiw I'm still behind "drop this code and let anyone interested do a r600 copy".<br>
> ><br>
> > I don't understand the delete fervor. The code is rarely touched (this<br>
> > is the case for most old drivers), because most of the work needed is<br>
> > on the LLVM side. Since there is no full time dev interested, it's a<br>
> > very slow process.<br>
> ><br>
><br>
> If things did not fail to build I would not come near, let alone<br>
> remove any code.<br>
><br>
> I have zero knowledge of the code in question and HW/time to make it<br>
> work I correctly. Since nobody else have come forward with tackling<br>
> this properly, I opted for this route.<br>
> Yes it's far from perfect, but it's what we currently have :-\<br>
<br>
</div></div>can you describe the problem a bit? I'll try to find few cycles if it's<br>
as simple as copying parts of shared code to a new file.<br></blockquote><div><br></div><div>I believe the issue is that r600g will currently not build WITHOUT also building radeonsi with enabled (which pulls in the AC dependency, which r600 uses for clover's llvm code).<br><br></div><div>In v2 of patch 2, it seems pretty clear that the ac_binary.h include, invocation of radeon_shader_binary_clean, and the "struct ac_shader_binary binary;" member of r600_pipe_compute are missing<br></div><div>guards of #ifdef HAVE_OPENCL.<br><br></div><div>There are probably some other fix-ups required to the build system as well in patches 3-5, but I haven't gotten to those yet.<br><br></div><div>I'd say that the state I'd like to end up in: Allow r600g to depend on the amd/common code IF --enable-opencl is present. This would require us to also have r600 properly depend on the amd/common library instead of just hoping that radeonsi is being built as well. Smells like something in the dependency tree is missing/wrong.<br></div><div><br></div><div>--Aaron<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I can't replicate the build failure. My setup:<br>
<br>
$ git clean -fxd<br>
$ ./autogen.sh<br>
$ PKG_CONFIG_PATH=~/.local/lib/<wbr>pkgconfig/ ./configure --<br>
prefix=/home/vesely/.local/ --enable-texture-float --enable-opencl --<br>
enable-opencl_icd --enable-gles2 --enable-xvmc --enable-vdpau --enable-<br>
egl --enable-debug --enable-gbm --enable-llvm --enable-dri3 --enable-va<br>
--with-gallium-drivers=r600 --with-dri-drivers=i965 --with-egl-<br>
platforms=x11,drm --enable-llvm-shared-libs --with-llvm-<br>
prefix=/home/vesely/.local/ CFLAGS="-O3 -Wall -Wextra -march=native<br>
-Wno-unused-parameter -Wno-missing-field-<wbr>initializers" CXXFLAGS="-O3<br>
-Wall -Wextra -march=native -Wno-unused-parameter"<br>
$ make -j8<br>
<br>
builds successfully<br>
Jan<br>
<br>
<br>
><br>
> -Emil<br>
<br>______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
<br></blockquote></div><br></div></div>