OS/2, eCS & ArcaOS - Technical > Programming

Building Qt5

<< < (12/13) > >>

Silvan Scherrer:

--- Quote from: Roderick Klein on November 23, 2022, 12:00:07 am ---
--- Quote from: Igor on November 22, 2022, 03:57:00 pm ---Dear builders Qt5 please turn off the AVX (and AVX2) code. Due to its presence, the browser does not display the pages. And it is impossible to use libraries. I don’t understand why this code is included if it does not work on OS/2 correctly?

--- End quote ---

Please open a ticket for this at Github for this issue on the BWW page.

And on which websites does happen so it can be reproduced ?

Thanks,

Roderick Klein
OS/2 VOICE

--- End quote ---
no need to open a ticket, as we build with -mno-avx since about 15 month. so nothing which is newer should face the issue.

Dave Yeo:

--- Quote from: Lars on November 24, 2022, 02:56:36 pm ---
I hand coded the SIMD code in assembly, using the NASM assembler which also allowed me to force alignment where necessary. But my code only checks if SSE/SSE2/SSE3/SSSE3 is supported by the CPU but it does not check for CR4.OSFXSR flag that indicates that the OS supports SSE context save/restore as I know that OS/2 supports that (for SSE).
Does other SIMD code explicitely check not only for CPU support but also OS support ? And since reading CR4 into a register is only available in Ring 0, so how would application SW (executing in Ring 3) be able to check for that flag ?

Lars

--- End quote ---

Used to see some software that checked for OS SSE support, looking I can't find much besides things like this from flac's changelog, (1.2.0)

--- Code: ---* flac:
    * Added runtime detection of SSE OS support for most operating systems.

--- End code ---
Googling, I found this, https://github.com/0xdaryl/omr/commit/83d57d1d09bf13cc71f3f085d56e05cb476bc31f.
Remember that most versions of OS/2 did not support SSE so if someone installs your USBWAVE.DLL on Warp v4 or older, I assume it will crash.

Lars:

--- Quote from: Dave Yeo on November 25, 2022, 04:00:47 am ---
Used to see some software that checked for OS SSE support, looking I can't find much besides things like this from flac's changelog, (1.2.0)

--- Code: ---* flac:
    * Added runtime detection of SSE OS support for most operating systems.

--- End code ---
Googling, I found this, https://github.com/0xdaryl/omr/commit/83d57d1d09bf13cc71f3f085d56e05cb476bc31f.
Remember that most versions of OS/2 did not support SSE so if someone installs your USBWAVE.DLL on Warp v4 or older, I assume it will crash.

--- End quote ---

Possible. My hope would be that the most recent W4 kernels (10.104a and the AN kernel versions) will also support save/restore SSE state. After all, we're in 2022. But now that you are mentioning it, I have a partition that I can start with the W4 kernel. Let's see what happens.

Thanks for the link. They are taking a trick to check for OS support (checking for and catching (if necessary) an exception). Very instructive.

Dave Yeo:
The recent W4 kernels support SSE, what doesn't is the stock kernel installed with Warp V4 I believe. No idea which fixpak would need to be installed for SSE support.
Win95 never supported SSE either which was why programs needed to test. At this point most everything supports it. At that various OS's and even FF 53+ require a Pentium M or newer due to SSE2 requirements.

OS4User:

--- Quote from: Lars on November 24, 2022, 02:56:36 pm ---
Does other SIMD code explicitely check not only for CPU support but also OS support ? And since reading CR4 into a register is only available in Ring 0, so how would application SW (executing in Ring 3) be able to check for that flag ?


--- End quote ---

As I understand it, the R3 application should not check the support of SIMD by processor, but should check the support of  SAVE/RESTORE by OS.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version