Page MenuHomeFreeBSD

New port: audio/GxSwitchlessWah-lv2: Analog wah emulation with switchless activation
ClosedPublic

Authored by yuri on Dec 5 2017, 10:23 PM.

Details

Summary

Analog wah emulation with switchless activation

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 13454
Build 13680: arc lint + arc unit

Event Timeline

yuri created this revision.Dec 5 2017, 10:23 PM

Could you fix

===>   Generating temporary packing list
gmake[1]: Entering directory '/wrkdirs/usr/ports/audio/GxSwitchlessWah-lv2/work/GxSwitchlessWah.lv2-7b08691'
cat: /proc/cpuinfo: No such file or directory

otherwise it looks good.

yuri updated this revision to Diff 36288.Dec 6 2017, 6:28 AM

Fixed cpuinfo

In D13384#279657, @yuri wrote:

Fixed cpuinfo

I think this is missing in the current state of the review :)

yuri updated this revision to Diff 36379.Dec 8 2017, 7:04 AM

Made SIMD support into flavors.

mat added a comment.Dec 8 2017, 11:03 AM
In D13384#280378, @yuri wrote:

Made SIMD support into flavors.

You will not get approval for this. Please remove. Add options, or keep it at the lowest setting for each architecture.

mat added a comment.Dec 8 2017, 11:07 AM

Also, @ are not allowed in package names.

mat added inline comments.Dec 9 2017, 7:04 PM
audio/GxSwitchlessWah-lv2/Makefile
23–30

Back to this, it does not make much sense.

All amd64 processors support SSE2 at the minimum. It makes no sense to select VFPV3 on any arch other than armv7...

Sorry about suggesting options, it was a wrong idea too. This should be architecture dependent.

SSE_FLAGS_i386="-msse -mfpmath=sse"
SSE_FLAGS_amd64="-msse2 -mfpmath=sse"
SSE_FLAGS_armv6="-march=armv7 -mfpu=vfpv3"

MAKE_ARGS=  SSE_FLAGS=${SSE_FLAGS_${ARCH}}
yuri marked an inline comment as done.Dec 9 2017, 7:19 PM
yuri added inline comments.
audio/GxSwitchlessWah-lv2/Makefile
23–30

There can be variability in SSE support. On Intel CPUs SSE1, SSE2, SSE3, SSE4.1, SSE4.2. Additionally, AMD has SSE4a.

Ideally, the port can have all these SSE-flavors. I was really expecting that the FLAVORS feature could solve this, but it really didn't.

Now, in this case, IMO options should be defined, but some should be limited by architecture.

yuri updated this revision to Diff 36418.Dec 9 2017, 10:58 PM
yuri marked an inline comment as done.

Fixed at SSE2 since port infrastructure can't really choose SIMD levels for packages appropriately.

yuri marked an inline comment as done.Dec 10 2017, 7:38 PM

@tcberner Can this be committed? :)

tcberner added inline comments.Dec 10 2017, 7:50 PM
audio/GxSwitchlessWah-lv2/Makefile
17

^portlint suggests sorting these

Also if you take a look at
https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/porting-order.html#porting-order-portname
it should appear before the dependency block

yuri updated this revision to Diff 36427.Dec 10 2017, 7:53 PM

sorted

mat added inline comments.Dec 11 2017, 1:55 PM
audio/GxSwitchlessWah-lv2/Makefile
23–30

What we have to support is oldest possible versions, so if SSE is required, SSE on i386, SSE2 on amd64, and the thing that was there for arm. I doubt using more recent versions will change many things.

26

What's wrong with supporting more i386 architectures, and arm like I showed you to?

yuri marked 3 inline comments as done.Dec 11 2017, 5:36 PM
yuri added inline comments.
audio/GxSwitchlessWah-lv2/Makefile
23–30

I doubt using more recent versions will change many things.

There are projects that heavily depend on SIMD. One such project is ray tracing app http://www.ospray.org. It runs 10 times faster when SSE4 is available. I will commit the port for it.

Another project is devel/libsimdpp. It makes it easy to use SIMD, and will automatically adjust to the current level of SIMD. On SIMD-heavy code you will see dramatic differences in runtimes.

FreeBSD as it is doesn't support SIMD well. Simple SSE option doesn't do. SIMD level is like an extension of ${ARCH}, adding a degree of freedom within an architecture. It's like an extra-flavor: One machine needs devel/my-package@simd4.2, and another - devel/my-package@simd2. Ideally, package manager should install the version that corresponds to the SIMD level.

I will adjust this port as you suggested.

yuri updated this revision to Diff 36469.Dec 11 2017, 5:51 PM
yuri marked an inline comment as done.

.

yuri marked an inline comment as done.Dec 11 2017, 5:52 PM
yuri added a comment.Dec 13 2017, 8:47 AM

@tcberner Can this be committed?

yuri added a comment.Dec 14 2017, 6:42 PM

@tcberner Can this be committed?

tcberner accepted this revision.Dec 14 2017, 7:23 PM

Yeah, sorry :)

This revision is now accepted and ready to land.Dec 14 2017, 7:23 PM
This revision was automatically updated to reflect the committed changes.