mirror of
https://github.com/Ryujinx/SDL.git
synced 2025-10-26 12:37:18 +00:00
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!