OS/2, eCS & ArcaOS - Technical > Programming

Qt6 Development

<< < (147/178) > >>

Paul Smedley:
The commit at https://github.com/psmedley/qt6-webengine-os2/commit/55f25c9d40d0f5299839679481892fe3f07469db works around a TRP on OS/2 - in some cases, cache_handler is NULL (no idea why yet). For now, if this is try, we don't try and run the caching code.

After fixing this, I found a TRP in the audio code, which is fixed in https://github.com/psmedley/qt6-webengine-os2/commit/c08132e97ddd6445abb071d0d2ece0bb704aa336

The trp is because on one machine, kaiOpen fails, but then the code further on uses values which are only available if the kaiOpen call succeeds - so we get a SIGFPE.

With the latest commits, I'm able to watch some video in simplebrowser, albeit with no sound on the VM I was using to test.

Paul Smedley:
Hey all... I cobbled together a local build of dav1d and am able to generate a DLL that will play AV1 video for me :)

There are some nasm warnings during compilation:

--- Code: ---../src/x86/msac.asm:29: warning: OBJ format does not support alignment of 64: rounding up to 256 [-w+other]
U:/DEV/dav1d-1.2.0/src/ext/x86/x86inc.asm:93: ... from macro `SECTION_RODATA' defined here [-w+other]
../src/x86/msac.asm:69: warning: segment attributes specified on redeclaration of segment: ignoring [-w+other]
../src/x86/msac.asm:73: warning: segment attributes specified on redeclaration of segment: ignoring [-w+other]
U:/DEV/dav1d-1.2.0/src/ext/x86/x86inc.asm:102: ... from macro `SECTION_TEXT' defined here [-w+other]

--- End code ---

x86inc.asm:93 is the obj code from:

--- Code: ---%macro SECTION_RODATA 0-1 16
    %ifidn __OUTPUT_FORMAT__,win32
        SECTION .rdata align=%1
    %elif WIN64
        SECTION .rdata align=%1
    %elifidn __OUTPUT_FORMAT__,obj
        SEGMENT TEXT32 CLASS=CODE USE32 ALIGN=%1
    %else
        SECTION .rodata align=%1
    %endif
%endmacro

--- End code ---
x86inc.asm:102 is the obj code from:

--- Code: ---%macro SECTION_TEXT 0
    %ifidn __OUTPUT_FORMAT__,obj
        SEGMENT TEXT32 CLASS=CODE USE32
    %else
        SECTION .text
    %endif
%endmacro

--- End code ---

Any ideas?

Dave Yeo:
Wonder about building it in aout mode, -f aout? Nice and simple, x86inc.asm should have the macros and should only take minor patching following whatever Mach does. Should work fine if only LDFLAGS has -Zomf for a standalone DLL.
Which source did you use, I might try

Paul Smedley:
Hey Dave,

I used meson 0.49.2 and the dav1d 1.2.0 source

the dav1d meson.build knows nothing about OS/2 - so defaults to elf32 and funky ld parameters that our ancient ld doesn't understand, so I manually hacked some bits of ninja.build

I'll try a.out....

Paul Smedley:
with aout:

--- Code: ---FAILED: src/25a6634@@dav1d@sha/msac.obj
C:/USR/BIN/nasm.exe -f aout -I U:/DEV/dav1d-1.2.0/src/ -I U:/DEV/dav1d-1.2.0/build/ -MQ src/25a6634@@dav1d@sha/msac.obj -MF src/25a6634@@dav1d@sha/msac.obj.ndep ../src/x86/msac.asm -o src/25a6634@@dav1d@sha/msac.obj
../src/x86/msac.asm:29: error: segment name `.rodata align=64' not recognized
U:/DEV/dav1d-1.2.0/src/ext/x86/x86inc.asm:95: ... from macro `SECTION_RODATA' defined here
../src/x86/msac.asm:69: error: segment name `.rodata align=64' not recognized

--- End code ---

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version