[Libva] [PATCH 5/9] shaders: fix out of tree builds

Xiang, Haihao haihao.xiang at intel.com
Tue Nov 4 22:50:41 PST 2014


Hi Emil,

Sorry for slowly responding.

My concern is the generated assembled objects for OOT builds aren't
used, e.g. I can build the driver after remove a '{' in 
{build_dir}/src/shaders/vme/inter_frame.g7b:

      1     0x00800001, 0x24000061, 0x00000000, 0x00000000 },
      2    { 0x00800001, 0x24400061, 0x00000000, 0x00000000 },
      3    { 0x00800001, 0x24600061, 0x00000000, 0x00000000 },

I am fine with your other fixes.

Thanks
Haihao

> Another weekly reminder.
> 
> Haihao, I understand that you're busy yet sparing a few minutes will be
> greatly appreciated.
> 
> Cheers,
> Emil
> 
> On 27/10/14 16:48, Emil Velikov wrote:
> > Humble ping ?
> > 
> > On 14/10/14 17:19, Emil Velikov wrote:
> >> Hmm I still do not see how your reply relates to any part of the patch.
> >> Can you try to be more specific about your concerns ?
> >>
> >> The missing include directives (added with this patch) are related to
> >> including the original sources assembler file(s) (g*a) in order to
> >> create the preprocessed (g*a.g*s) & final assembled objects (g*s.g*b*).
> >> They have nothing to do wrt how/which blobs (*.g*b*) are included in the
> >> source files (src/*.c)
> >>
> >> Cheers,
> >> Emil
> >>
> >> On 13/10/14 03:12, Xiang, Haihao wrote:
> >>>
> >>>> Can you be more specific as to which "some .c files" you have in mind. 
> >>>
> >>> src/gen6_mfc.c
> >>> src/gen6_vme.c
> >>> src/gen75_mfc.c
> >>> src/gen7_mfc.c
> >>> src/gen7_vme.c
> >>> src/gen8_mfc.c
> >>> src/gen8_vme.c
> >>> src/i965_render.c
> >>> src/i965_post_processing.c
> >>> src/gen8_post_processing.c
> >>> src/gen8_render.c
> >>> src/i965_avc_hw_scoreboard.c
> >>> src/i965_avc_ildb.c
> >>> src/i965_media_h264.c
> >>> src/i965_media_mpeg2.c
> >>>
> >>>
> >>>> IIRC there may be an extra patch needed to resolve all the issues for OOT builds (when GEN4ASM is available, GEN4ASM less builds are good), but this clears up most of the problems.
> >>>> IMHO one should remove the blobs from version control and just require GEN4ASM but I feel that this is a topic for another discussion :)
> >>>>
> >>>> -Emil
> >>>>
> >>>> On 10/10/14 07:30, Xiang, Haihao wrote:
> >>>>>
> >>>>> The outputs should be included by some .c files, otherwise it still use
> >>>>> pre-built output in the source tree even if a shaders is changed.
> >>>>>
> >>>>> Thanks
> >>>>> Haihao
> >>>>>
> >>>>>
> >>>>>> - correctly set include dir
> >>>>>>  - prefix the file 'list' - it's located in the source folder
> >>>>>>  - add missing prefix for gpp.py
> >>>>>>
> >>>>>> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> >>>>>> ---
> >>>>>>  src/shaders/h264/mc/Makefile.am   | 12 ++++++------
> >>>>>>  src/shaders/mpeg2/vld/Makefile.am |  2 +-
> >>>>>>  src/shaders/render/Makefile.am    |  8 ++++----
> >>>>>>  3 files changed, 11 insertions(+), 11 deletions(-)
> >>>>>>
> >>>>>> diff --git a/src/shaders/h264/mc/Makefile.am b/src/shaders/h264/mc/Makefile.am
> >>>>>> index ecc3b2e..13bef17 100644
> >>>>>> --- a/src/shaders/h264/mc/Makefile.am
> >>>>>> +++ b/src/shaders/h264/mc/Makefile.am
> >>>>>> @@ -185,17 +185,17 @@ if HAVE_GEN4ASM
> >>>>>>  	rm $*.g4m
> >>>>>>  
> >>>>>>  $(INTEL_MC_GEN5_ASM): $(INTEL_MC_ASM) $(INTEL_MC_INC) $(INTEL_ILDB_ASM)
> >>>>>> -	$(AM_V_GEN)cpp -DDEV_ILK -DBOOTSTRAP -I ../ildb/ AllAVC.asm > _mc0.$@	&& \
> >>>>>> -	../../gpp.py _mc0.$@ $@						&& \
> >>>>>> -	$(GEN4ASM) -l list -a -e tmp.$(INTEL_MC_EXPORT_GEN5) -g 5 $@	   \
> >>>>>> +	$(AM_V_GEN)cpp -DDEV_ILK -DBOOTSTRAP -I $(srcdir)/../ildb/ $(srcdir)/AllAVC.asm > _mc0.$@	&& \
> >>>>>> +	$(top_srcdir)/src/shaders/gpp.py _mc0.$@ $@			&& \
> >>>>>> +	$(GEN4ASM) -l $(srcdir)/list -a -e tmp.$(INTEL_MC_EXPORT_GEN5) -g 5 $@	   \
> >>>>>>  		-o /dev/null						&& \
> >>>>>>  	mv tmp.$(INTEL_MC_EXPORT_GEN5) $(INTEL_MC_EXPORT_GEN5)		&& \
> >>>>>> -	cpp -DDEV_ILK -I ../ildb/ AllAVC.asm > _mc1.$@			&& \
> >>>>>> -	../../gpp.py _mc1.$@ $@						&& \
> >>>>>> +	cpp -DDEV_ILK -I $(srcdir)/../ildb/ $(srcdir)/AllAVC.asm > _mc1.$@	&& \
> >>>>>> +	$(top_srcdir)/src/shaders/gpp.py _mc1.$@ $@			&& \
> >>>>>>  	rm _mc0.$@ _mc1.$@
> >>>>>>  
> >>>>>>  $(INTEL_MC_G4B_GEN5): $(INTEL_MC_GEN5_ASM)
> >>>>>> -	$(AM_V_GEN)$(GEN4ASM) -l list -a -e tmp.$(INTEL_MC_EXPORT_GEN5) -g 5 $<	   \
> >>>>>> +	$(AM_V_GEN)$(GEN4ASM) -l $(srcdir)/list -a -e tmp.$(INTEL_MC_EXPORT_GEN5) -g 5 $<	   \
> >>>>>>  		-o $@							&& \
> >>>>>>  	cat tmp.$(INTEL_MC_EXPORT_GEN5) | sed "s/_IP/_IP_GEN5/g"	   \
> >>>>>>  		> $(INTEL_MC_EXPORT_GEN5)				&& \
> >>>>>> diff --git a/src/shaders/mpeg2/vld/Makefile.am b/src/shaders/mpeg2/vld/Makefile.am
> >>>>>> index bf718e0..37955dc 100644
> >>>>>> --- a/src/shaders/mpeg2/vld/Makefile.am
> >>>>>> +++ b/src/shaders/mpeg2/vld/Makefile.am
> >>>>>> @@ -102,7 +102,7 @@ SUFFIXES = .g4a .g4s .g4b .g4b.gen5
> >>>>>>  if HAVE_GEN4ASM
> >>>>>>  $(INTEL_G4S): $(INTEL_G4A) $(INTEL_G4I)
> >>>>>>  .g4a.g4s:
> >>>>>> -	$(AM_V_GEN)m4 $< > $@
> >>>>>> +	$(AM_V_GEN)m4 -I$(srcdir) $< > $@
> >>>>>>  .g4s.g4b:
> >>>>>>  	$(AM_V_GEN)$(GEN4ASM) -o $@ $<
> >>>>>>  .g4s.g4b.gen5:
> >>>>>> diff --git a/src/shaders/render/Makefile.am b/src/shaders/render/Makefile.am
> >>>>>> index e7d5e76..9024351 100644
> >>>>>> --- a/src/shaders/render/Makefile.am
> >>>>>> +++ b/src/shaders/render/Makefile.am
> >>>>>> @@ -120,7 +120,7 @@ SUFFIXES = .g4a .g4s .g4b .g4b.gen5 .g6a .g6s .g6b .g7a .g7s .g7b .g7b.haswell .
> >>>>>>  if HAVE_GEN4ASM
> >>>>>>  $(INTEL_G4S): $(INTEL_G4A) $(INTEL_G4I)
> >>>>>>  .g4a.g4s:
> >>>>>> -	$(AM_V_GEN)m4 $< > $@
> >>>>>> +	$(AM_V_GEN)m4 -I$(srcdir) $< > $@
> >>>>>>  .g4s.g4b:
> >>>>>>  	$(AM_V_GEN)$(GEN4ASM) -o $@ $<
> >>>>>>  .g4s.g4b.gen5:
> >>>>>> @@ -128,13 +128,13 @@ $(INTEL_G4S): $(INTEL_G4A) $(INTEL_G4I)
> >>>>>>  
> >>>>>>  $(INTEL_G6S): $(INTEL_G6A) $(INTEL_G6I)
> >>>>>>  .g6a.g6s:
> >>>>>> -	$(AM_V_GEN)m4 $< > $@
> >>>>>> +	$(AM_V_GEN)m4 -I$(srcdir) $< > $@
> >>>>>>  .g6s.g6b:
> >>>>>>  	$(AM_V_GEN)$(GEN4ASM) -g 6 -o $@ $<
> >>>>>>  
> >>>>>>  $(INTEL_G7S): $(INTEL_G7A) $(INTEL_G7I)
> >>>>>>  .g7a.g7s:
> >>>>>> -	$(AM_V_GEN)m4 $< > $@
> >>>>>> +	$(AM_V_GEN)m4 -I$(srcdir) $< > $@
> >>>>>>  .g7s.g7b:
> >>>>>>  	$(AM_V_GEN)$(GEN4ASM) -g 7 -o $@ $<
> >>>>>>  .g7s.g7b.haswell:
> >>>>>> @@ -143,7 +143,7 @@ $(INTEL_G7S): $(INTEL_G7A) $(INTEL_G7I)
> >>>>>>  
> >>>>>>  $(INTEL_G8S): $(INTEL_G8A) $(INTEL_G8I)
> >>>>>>  .g8a.g8s:
> >>>>>> -	$(AM_V_GEN)m4 $< > $@
> >>>>>> +	$(AM_V_GEN)m4 -I$(srcdir) $< > $@
> >>>>>>  .g8s.g8b:
> >>>>>>  	$(AM_V_GEN)$(GEN4ASM) -g 8 -o $@ $<
> >>>>>>  
> >>>>>
> >>>>>
> >>>>
> >>>
> >>>
> >>
> > 
> 




More information about the Libva mailing list