Hi Haihao,
That is true. The current series it will not pick the files from the
builddir, but that is because intel-gen4asm is optional, thus the files
will not always be present.
I believe that fixing it is an orthogonal issue - I'm trying to get
"make distcheck" working in any shape or form. Fixing everything else is
part of another series.
And to clarify what I mean with everything else:
- Do not use of m4 to pre-process the headers.
- Add android rules to build/assemble the shaders.
- Mandate the presence of intel-gen4asm at build-time.
- Drop all the in-tree pre-processed and assembled shaders.
- (Parallel to the last point) Make sure that the shaders in the build
folder are used.
The Android stuff is obviously going to be a pain, yet everything else
is dead trivial.
Does it make sense or do you prefer that I send a patch that does
multiple (seemingly unrelated imho) things at the same time ?
Cheers,
Emil
P.S. Is it normal to have to different files produce the exact same
shader - something like PL3_AVS_Buf_2.g8a PL3_AVS_Buf_3.g8a
producing the same binary ? Don't remember the exact files so these are
just an example.
On 05/11/14 06:50, Xiang, Haihao wrote:
>
> 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 <[email protected]>
>>>>>>>> ---
>>>>>>>> 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 $@ $<
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>
>
_______________________________________________
Libva mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libva