On 4 September 2018 at 12:49, Juan A. Suarez Romero <jasua...@igalia.com> wrote:

>>
>> Simply put, one could see .gitlab-ci.xml as a form of dockerfile,
>> since the gitlab-ci uses Docker.
>> Former is capable of storing artefacts, although I'd imagine the extra
>> docker/rocker here is used solely to share and reuse the artefacts and
>> dependencies.
>>
>
> It is like a form of Dockerfile, but it is not, because you can't build the
> image, unless GitLab manages to implement some specific feature to allow it.
>
> I'll explain better. What happens is that the .gitlab-ci.xml content is 
> executed
> inside a container; that is, like executing `docker run <container> /bin/bash`
> and then execute each of the commands in the YAML.
>
> But that's all; it just execute the commands in a container, but it doesn't
> generate any image, which is what we want. That's why we use docker/rocker
> build.
>
> Docker allows to 'commit' a container as a new image. It would be really 
> useful
> if GitLab provides a way to tell "save the result of running the job as an
> image"; in that case we could use .gitlab-ci.xml instead of the Dockerfile. 
> But
> at this moment, we can't.
>
So it seems the answer is "yes, we create docker images to share and
reuse the artefacts" ;-)


>> > > > +USER local
>> > > > +
>> > >
>> > > A user with name "local" sounds a bit strange. Is that the 
>> > > recommendation?
>> >
>> > We just picked "local" as username, but we're fine to use a different name 
>> > (like
>> > "mesa" or "user").
>> >
>>
>> Personally I would use base-builder/llvm-builder/mesa-builder for the
>> respective files.
>> It tends to make things a bit more obvious ... but that's just me ;-)
>>
>
> The thing is that in the final image, you would end up with 3 users, as the
> users are inherited by the images. I think it would confuse people that uses 
> the
> final image.
>
> I think using one user is better; and probably "builder" is a better name :)
>
Get confused? Perhaps.
IMHO anything more meaningful than "local" will do.

>>
>> It seems to me that the following happens:
>>
>> if .BUILD gallium
>>  dri-drivers = empty list
>>  gallium-drivers = some list
>>  vulkan-drivers = some list
>> else
>>  dri-drivers = some list
>>  gallium-drivers = some list
>>  vulkan-drivers = some list
>>
>> AKA both gallium and vulkan drivers are built twice ... to some extend.
>
> As I said, for the GALLIUM we could to set the vulkan drivers list to empty, 
> so
> they are not built twice. But if the Vulkan drivers depend on the LLVM version
> like the GALLIUM drivers (I'm thinking here in the Radeon driver), then maybe 
> it
> would be good to include them.
>
Any more fuzzing than mentioned (below) suggested is a waste of CPU.
Who depends on what is a large complex maze but upon unwrapping you'll
see what I mean.

>> The current code assumes that LLVM_REQUIRED_GALLIUM - implies some
>> gallium drivers.
>> That's wrong - none of the ones listed need LLVM. If we want LLVM 3.3
>> testing we could stick with something short like Travis.
>
> Can you build the GALLIUM drivers without LLVM? According to configure.ac, you
> need at LLVM 3.3 to build GALLIUM drivers.
>
Look closer - LLVM is optional for most drivers. Ones that require it
are r300 (perf. reasons), radeonsi and swr/llvmpipe.

>>
>> I'd suggest:
>> if .BUILD gallium - aka LLVM version fuzz; from no LLVM to latest
>>  dri-drivers = empty list
>>  gallium-drivers = some list -> details vary on LLVM version available
>>  vulkan-drivers = empty list
>> else - with a LLVM version for radv
>>  dri-drivers = full list
>>  gallium-drivers = empty list
>>  vulkan-drivers = full list
>>



>> > > > +RUN meson  _build                       \
>> > >
>> > > Worth adding the gallium/vulkan/dri drivers list here?
>> > >
>> >
>> > Didn't add the list because this depends on the LLVM version we are using. 
>> > So we
>> > trust meson correctly picks all the drivers.
>> >
>> > If we want to be explicit, maybe we can reuse the list of
>> > DRI_/VULKAN_/GALLIUM_DRIVERS here.
>> >
>>
>> Agreed. The same reasoning as f9d0e7d3bcd831d52af6a6c46aac4ed4590a8615
>> applies here.
>> If you agree feel free to keep that as a follow-up patch.
>>
>
> This makes me think that we should use the same driver names in meson and
> autotools. For instance, in Vulkan right now we have "radeon" when using
> autotools and "amd" when using meson.
>
Perhaps we should. But as mentioned earlier - feel free to land this
as-is and polish at a later stage.

Thanks again
Emil
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to