mirror of
https://github.com/Ryujinx/SDL.git
synced 2025-01-11 01:45:31 +00:00
40b571c91e
Mark Pizzolato On Windows with Visual Studio, when building SDL as a static library using the x86 (32bit) mode, several intrinsic operations are implemented in code in SDL_stdlib.c. One of these, _allshr() is not properly implemented and fails for some input. As a result, some operations on 64bit data elements (long long) don't always work. I classified this bug as a blocker since things absolutely don't work when the affected code is invoked. The affected code is only invoked when SDL is compiled in x86 mode on Visual Studio when building a SDL as a static library. This build environment isn't common, and hence the bug hasn't been noticed previously. I reopened #2537 and mentioned this problem and provided a fix. That fix is provided again here along with test code which could be added to some of the SDL test code. This test code verifies that the x86 intrinsic routines produce the same results as the native x64 instructions which these routines emulate under the Microsoft compiler. The point of the tests is to make sure that Visual Studio x86 code produces the same results as Visual Studio x64 code. Some of the arguments (or boundary conditions) may produce different results on other compiler environments, so the tests really shouldn't be run on all compilers. The test driver only actually exercised code when the compiler defines _MSC_VER, so the driver can generically be invoked without issue. |
||
---|---|---|
.. | ||
emscripten | ||
nacl | ||
shapes | ||
acinclude.m4 | ||
aclocal.m4 | ||
autogen.sh | ||
axis.bmp | ||
button.bmp | ||
checkkeys.c | ||
configure | ||
configure.in | ||
controllermap.bmp | ||
controllermap.c | ||
COPYING | ||
gcc-fat.sh | ||
icon.bmp | ||
loopwave.c | ||
loopwavequeue.c | ||
Makefile.in | ||
moose.dat | ||
picture.xbm | ||
README | ||
relative_mode.markdown | ||
sample.bmp | ||
sample.wav | ||
testatomic.c | ||
testaudiocapture.c | ||
testaudiohotplug.c | ||
testaudioinfo.c | ||
testautomation.c | ||
testautomation_audio.c | ||
testautomation_clipboard.c | ||
testautomation_events.c | ||
testautomation_hints.c | ||
testautomation_keyboard.c | ||
testautomation_main.c | ||
testautomation_mouse.c | ||
testautomation_pixels.c | ||
testautomation_platform.c | ||
testautomation_rect.c | ||
testautomation_render.c | ||
testautomation_rwops.c | ||
testautomation_sdltest.c | ||
testautomation_stdlib.c | ||
testautomation_suites.h | ||
testautomation_surface.c | ||
testautomation_syswm.c | ||
testautomation_timer.c | ||
testautomation_video.c | ||
testbounds.c | ||
testcustomcursor.c | ||
testdisplayinfo.c | ||
testdraw2.c | ||
testdrawchessboard.c | ||
testdropfile.c | ||
testerror.c | ||
testfile.c | ||
testfilesystem.c | ||
testgamecontroller.c | ||
testgesture.c | ||
testgl2.c | ||
testgles.c | ||
testgles2.c | ||
testhaptic.c | ||
testhittesting.c | ||
testhotplug.c | ||
testiconv.c | ||
testime.c | ||
testintersections.c | ||
testjoystick.c | ||
testkeys.c | ||
testloadso.c | ||
testlock.c | ||
testmessage.c | ||
testmultiaudio.c | ||
testnative.c | ||
testnative.h | ||
testnativecocoa.m | ||
testnativew32.c | ||
testnativex11.c | ||
testoverlay2.c | ||
testplatform.c | ||
testpower.c | ||
testqsort.c | ||
testrelative.c | ||
testrendercopyex.c | ||
testrendertarget.c | ||
testresample.c | ||
testrumble.c | ||
testscale.c | ||
testsem.c | ||
testshader.c | ||
testshape.c | ||
testsprite2.c | ||
testspriteminimal.c | ||
teststreaming.c | ||
testthread.c | ||
testtimer.c | ||
testver.c | ||
testviewport.c | ||
testwm2.c | ||
torturethread.c | ||
utf8.txt |
These are test programs for the SDL library: checkkeys Watch the key events to check the keyboard loopwave Audio test -- loop playing a WAV file loopwavequeue Audio test -- loop playing a WAV file with SDL_QueueAudio testaudioinfo Lists audio device capabilities testerror Tests multi-threaded error handling testfile Tests RWops layer testgl2 A very simple example of using OpenGL with SDL testiconv Tests international string conversion testjoystick List joysticks and watch joystick events testkeys List the available keyboard keys testloadso Tests the loadable library layer testlock Hacked up test of multi-threading and locking testmultiaudio Tests using several audio devices testoverlay2 Tests the overlay flickering/scaling during playback. testplatform Tests types, endianness and cpu capabilities testsem Tests SDL's semaphore implementation testshape Tests shaped windows testsprite2 Example of fast sprite movement on the screen testthread Hacked up test of multi-threading testtimer Test the timer facilities testver Check the version and dynamic loading and endianness testwm2 Test window manager -- title, icon, events torturethread Simple test for thread creation/destruction controllermap Useful to generate Game Controller API compatible maps This directory contains sample.wav, which is a sample from Will Provost's song, The Living Proof: From the album The Living Proof Publisher: 5 Guys Named Will Copyright 1996 Will Provost You can get a copy of the full song (and album!) from iTunes... https://itunes.apple.com/us/album/the-living-proof/id4153978 or Amazon... http://www.amazon.com/The-Living-Proof-Will-Provost/dp/B00004R8RH Thanks to Will for permitting us to distribute this sample with SDL!