[Mesa-dev] [PATCH v2 2/3] etnaviv: gallium driver for Vivante GPUs

Christian Gmeiner christian.gmeiner at gmail.com
Thu Jan 12 08:48:17 UTC 2017


Hi Emil,

thanks for your review!


2017-01-09 21:00 GMT+01:00 Emil Velikov <emil.l.velikov at gmail.com>:
> Hi Christian,
>
> There's a few nitpicks. Note that neither is a blocker so feel free to
> send patches in the week(s) to come.
>
> On 23 December 2016 at 22:04, Christian Gmeiner
> <christian.gmeiner at gmail.com> wrote:
>
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -76,6 +76,7 @@ LIBDRM_NVVIEUX_REQUIRED=2.4.66
>>  LIBDRM_NOUVEAU_REQUIRED=2.4.66
>>  LIBDRM_FREEDRENO_REQUIRED=2.4.74
>>  LIBDRM_VC4_REQUIRED=2.4.69
>> +LIBDRM_ETNAVIV_REQUIRED=2.4.74
>>  DRI2PROTO_REQUIRED=2.6
>>  DRI3PROTO_REQUIRED=1.0
>>  PRESENTPROTO_REQUIRED=1.0
>> @@ -2506,6 +2507,11 @@ if test -n "$with_gallium_drivers"; then
>>              PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED])
>>              require_libdrm "freedreno"
>>              ;;
>> +        xetnaviv)
>> +            HAVE_GALLIUM_ETNAVIV=yes
>> +            PKG_CHECK_MODULES([ETNAVIV], [libdrm_etnaviv >= $LIBDRM_ETNAVIV_REQUIRED])
>> +            require_libdrm "etnaviv"
>> +            ;;
> - There's a comment/documentation missing why we want/need
> etnaviv_dri.so anywhere.
> Please add something - be that in configure or a readme file in
> {drivers,winsys}/etnaviv.
>
> Pretty much anything will do ;-)
>
> - This and 3/3 will need to update the "AC_ARG_WITH([gallium-drivers]"
> help string.
> Again - perfectly fine to address with separate commit.
>

Added something :)

>
>> --- /dev/null
>> +++ b/src/gallium/drivers/etnaviv/Makefile.am
>
>> +
>> +libetnaviv_la_SOURCES = $(C_SOURCES) $(CPP_SOURCES)
>> +
> CPP_SOURCES is empty. Please remove it (with later commit ?)
>

Fixed in separate patch which gets squashed before pushing.

>> +noinst_PROGRAMS = etnaviv_compiler
>> +
>> +etnaviv_compiler_SOURCES = \
>> +       etnaviv_compiler_cmdline.c
>> +
>> +etnaviv_compiler_LDADD = \
>> +       libetnaviv.la \
>> +       ../../auxiliary/libgallium.la \
> Don't use relative paths, use the below instead.
>
> $(top_builddir)/src/gallium/auxiliary/libgallium.la
>

Fixed in separate patch which gets squashed before pushing.

>
>> --- /dev/null
>> +++ b/src/gallium/drivers/etnaviv/Makefile.sources
>> @@ -0,0 +1,26 @@
>> +C_SOURCES :=  \
>> +       etnaviv_asm.c \
>> +       etnaviv_blend.c \
>> +       etnaviv_clear_blit.c \
>> +       etnaviv_compiler.c \
>> +       etnaviv_context.c \
>> +       etnaviv_disasm.c \
>> +       etnaviv_emit.c \
>> +       etnaviv_fence.c \
>> +       etnaviv_format.c \
>> +       etnaviv_query.c \
>> +       etnaviv_query_sw.c \
>> +       etnaviv_rasterizer.c \
>> +       etnaviv_resource.c \
>> +       etnaviv_rs.c \
>> +       etnaviv_screen.c \
>> +       etnaviv_shader.c \
>> +       etnaviv_state.c \
>> +       etnaviv_surface.c \
>> +       etnaviv_tiling.c \
>> +       etnaviv_texture.c \
>> +       etnaviv_transfer.c \
>> +       etnaviv_uniforms.c \
>> +       etnaviv_zsa.c
>> +
> Iirc earlier commits had all the files (headers including) listed here.
> Can we have those back please ?
>

Fixed in separate patch which gets squashed before pushing.

>
>> --- /dev/null
>> +++ b/src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c
>
>> +static struct pipe_screen *
>> +screen_create(struct renderonly *ro)
>> +{
>> +   struct etna_device *dev;
>> +   struct etna_gpu *gpu;
>> +   uint64_t val;
>> +   int i;
>> +
>> +   dev = etna_device_new_dup(ro->gpu_fd);
>> +   if (!dev) {
>> +      fprintf(stderr, "Error creating device\n");
>> +      return NULL;
>> +   }
>> +
>> +   for (i = 0;; i++) {
>> +      gpu = etna_gpu_new(dev, i);
>> +      if (!gpu) {
>> +         fprintf(stderr, "Error creating gpu\n");
>> +         return NULL;
>> +      }
>> +
>> +      /* Look for a 3D capable GPU */
>> +      if (etna_gpu_get_param(gpu, ETNA_GPU_FEATURES_0, &val) == 0 &&
>> +            val & (1 << 2))
> We cannot used the VIV_FEATURE macro yet, but can we replace "1 << 2"
> with the corresponding define ?
>

Fixed in separate patch which gets squashed before pushing.

greets
--
Christian Gmeiner, MSc

https://www.youtube.com/user/AloryOFFICIAL
https://soundcloud.com/christian-gmeiner


More information about the mesa-dev mailing list