fix(templates/amd64-386, tests): fix global stereo sends and add regression test for future

the send asm code is quite ugly atm (pushf & popf to save stereo flag), but the new regression test should ensure we don't break it again if we eventually refactor it
This commit is contained in:
vsariola
2021-02-15 14:48:16 +02:00
parent c60f6e0f0e
commit 5f7eed4194
4 changed files with 44 additions and 8 deletions

View File

@ -6,7 +6,7 @@ function(regression_test testname)
else()
set(source ${ARGV3}.yml)
endif()
set(asmfile ${testname}.asm)
set (headerfile ${CMAKE_CURRENT_BINARY_DIR}/${testname}.h)
@ -66,7 +66,8 @@ regression_test(test_invgain LOADVAL INVGAIN)
regression_test(test_invgain_stereo INVGAIN)
regression_test(test_send LOADVAL SEND)
regression_test(test_send_stereo SEND)
regression_test(test_send_global SEND)
regression_test(test_send_global SEND SEND_GLOBAL)
regression_test(test_send_global_stereo SEND_GLOBAL)
regression_test(test_receive SEND RECEIVE)
regression_test(test_receive_stereo RECEIVE)
regression_test(test_in LOADVAL IN)

Binary file not shown.

View File

@ -0,0 +1,33 @@
bpm: 100
rowsperpattern: 16
rowsperbeat: 4
tracks:
- numvoices: 1
sequence: [0]
patterns: [[64, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]]
patch:
instruments:
- numvoices: 1
units:
- type: loadval
parameters: {stereo: 0, value: 64}
- type: loadval
parameters: {stereo: 0, value: 96}
- type: send
parameters: {amount: 128, port: 0, sendpop: 1, stereo: 1, unit: 3, voice: 2}
- type: receive
parameters: {stereo: 1}
- type: out
parameters: {gain: 128, stereo: 1}
- numvoices: 1
units:
- type: loadval
parameters: {stereo: 0, value: 0}
- type: loadval
parameters: {stereo: 0, value: 64}
- type: send
parameters: {amount: 96, port: 0, sendpop: 1, stereo: 1, unit: 3, voice: 1}
- type: receive
parameters: {stereo: 1}
- type: out
parameters: {gain: 128, stereo: 1}