Compatible Android
This commit is contained in:
parent
7cb6af1390
commit
8ec8327e5e
StartGamedev-160604-osx
README.txtgame.apkgame.loveicon.pngmake-apk.commandopen-editor.commandstart-game.command
tools/android-osx
build-tools/19.1.0
NOTICE.txtaaptaidlbcc_compatdexdumpdxsource.propertieszipalign
lib
libbcc.dyliblibbcinfo.dylibrenderscript
clang-include
CMakeLists.txtLICENSE.TXTaltivec.hammintrin.havx2intrin.havxintrin.hbmi2intrin.hbmiintrin.hcpuid.hemmintrin.hf16cintrin.hfloat.hfma4intrin.hfmaintrin.himmintrin.hiso646.hlimits.hlzcntintrin.hmm3dnow.hmm_malloc.hmmintrin.hmodule.mapnmmintrin.hpmmintrin.hpopcntintrin.hprfchwintrin.hrdseedintrin.hrtmintrin.hsmmintrin.hstdalign.hstdarg.hstdbool.hstddef.hstdint.hstdnoreturn.htgmath.htmmintrin.hunwind.hvarargs.hwmmintrin.hx86intrin.hxmmintrin.hxopintrin.h
include
rs_allocation.rshrs_atomic.rshrs_cl.rshrs_core.rshrs_debug.rshrs_element.rshrs_graphics.rshrs_math.rshrs_matrix.rshrs_mesh.rshrs_object.rshrs_program.rshrs_quaternion.rshrs_sampler.rshrs_time.rshrs_types.rsh
lib
platform-tools
28
StartGamedev-160604-osx/README.txt
Normal file
28
StartGamedev-160604-osx/README.txt
Normal file
@ -0,0 +1,28 @@
|
||||
http://qubodup.itch.io/startgamedev
|
||||
Start Gamedev is a collection of tools to make it easy to start game development and port your LÖVE game to Android.
|
||||
|
||||
Android steps:
|
||||
1. Create zip with your game, rename to "game.love" in this folder
|
||||
2. Start the make-apk script - this will create "game.apk"
|
||||
3. Copy "game.apk" to your Android device and open it in the file browser to install
|
||||
|
||||
Linux users will need to install jdk, ant and android-sdk with platform tools and build tools v19
|
||||
|
||||
That is it.
|
||||
|
||||
OPTIONAL Steps:
|
||||
4. Replace icon.png (144x144px png) and run the make-apk script again.
|
||||
5. Edit the make-apk script to change the app id and name.
|
||||
|
||||
For more, for now, check love-android-sdl2 wiki for more info.
|
||||
|
||||
Background info:
|
||||
tools\ant is from https://ant.apache.org/bindownload.cgi ; removed documentation, maybe more
|
||||
tools\jdk is from http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html JDK, NOT JRE, NOT JAVA PLATFORM , openjdk didn't work; removed as much as I could without breaking ant debug
|
||||
tools\android is downloaded with Android SDK Manager https://developer.android.com/sdk/index.html SDK TOOLS ONLY, NOT ANDROID STUDIO; removed as much as possible without breaking ant debug
|
||||
tools\love-android-sdl2 from https://bitbucket.org/MartinFelis/love-android-sdl2 , self-compiled early 2015
|
||||
|
||||
CREDITS
|
||||
Collected by Iwan Gabovitch http://qubodup.net
|
||||
Check subdirectories for licenses and credits
|
||||
StartGamedev-160604
|
BIN
StartGamedev-160604-osx/game.apk
Normal file
BIN
StartGamedev-160604-osx/game.apk
Normal file
Binary file not shown.
BIN
StartGamedev-160604-osx/game.love
Normal file
BIN
StartGamedev-160604-osx/game.love
Normal file
Binary file not shown.
BIN
StartGamedev-160604-osx/icon.png
Normal file
BIN
StartGamedev-160604-osx/icon.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 9.9 KiB |
39
StartGamedev-160604-osx/make-apk.command
Executable file
39
StartGamedev-160604-osx/make-apk.command
Executable file
@ -0,0 +1,39 @@
|
||||
CWD=$(cd "$(dirname "$0")"; pwd)
|
||||
CWD="`dirname \"$0\"`"
|
||||
echo $CWD
|
||||
export JAVA_HOME="$CWD/tools/jdk-osx"
|
||||
export ANT_HOME="$CWD/tools/ant"
|
||||
export ANDROID_HOME="$CWD/tools/android-osx"
|
||||
export PATH="$PATH:$ANT_HOME/bin:$JAVA_HOME"
|
||||
|
||||
cd "$CWD"
|
||||
|
||||
|
||||
## make android ID and name unique so we can have multiple installs
|
||||
# restore original manifest and src subdir
|
||||
cp tools/love-android-sdl2/original/AndroidManifest.xml tools/love-android-sdl2/
|
||||
rm -r tools/love-android-sdl2/src/love
|
||||
cp -r tools/love-android-sdl2/original/love tools/love-android-sdl2/src/
|
||||
|
||||
# get date and hope no participants compile at the same second
|
||||
datevar=`date +"%m%d%H%M%S"`
|
||||
|
||||
# replace id, name and src subdir
|
||||
sed -i "" "s/loveToAndroid Game/Game $datevar/g" tools/love-android-sdl2/AndroidManifest.xml
|
||||
sed -i "" "s/love.to.android/love\.to\.android$datevar/g" tools/love-android-sdl2/AndroidManifest.xml
|
||||
sed -i "" "s/love.to.android/love\.to\.android$datevar/g" tools/love-android-sdl2/src/love/to/android/LtaActivity.java
|
||||
mv tools/love-android-sdl2/src/love/to/android tools/love-android-sdl2/src/love/to/android$datevar
|
||||
|
||||
rm game.apk
|
||||
pwd
|
||||
cd "$CWD/tools/love-android-sdl2"
|
||||
pwd
|
||||
rm -r gen bin
|
||||
|
||||
cp ../../game.love assets/
|
||||
cp ../../icon.png res/drawable-xxhdpi/ic_launcher.png
|
||||
|
||||
ant debug
|
||||
|
||||
cp bin/love_android_sdl2-debug.apk ../../game.apk
|
||||
|
2
StartGamedev-160604-osx/open-editor.command
Executable file
2
StartGamedev-160604-osx/open-editor.command
Executable file
@ -0,0 +1,2 @@
|
||||
CWD="`dirname \"$0\"`"
|
||||
open -a "$CWD/tools/zbstudio.app" --args "$CWD/Game/" "$CWD/Game/main.lua" &
|
2
StartGamedev-160604-osx/start-game.command
Executable file
2
StartGamedev-160604-osx/start-game.command
Executable file
@ -0,0 +1,2 @@
|
||||
CWD="`dirname \"$0\"`"
|
||||
open -a "$CWD/tools/love.app" --args "$CWD/Game/" &
|
195
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/NOTICE.txt
Executable file
195
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/NOTICE.txt
Executable file
@ -0,0 +1,195 @@
|
||||
Notice for all the files in this folder.
|
||||
------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
Copyright (c) 2005-2008, The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
|
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/aapt
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/aapt
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/aidl
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/aidl
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/bcc_compat
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/bcc_compat
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/dexdump
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/dexdump
Executable file
Binary file not shown.
89
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/dx
Executable file
89
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/dx
Executable file
@ -0,0 +1,89 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2007 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Set up prog to be the path of this script, including following symlinks,
|
||||
# and set up progdir to be the fully-qualified pathname of its directory.
|
||||
prog="$0"
|
||||
while [ -h "${prog}" ]; do
|
||||
newProg=`/bin/ls -ld "${prog}"`
|
||||
newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
|
||||
if expr "x${newProg}" : 'x/' >/dev/null; then
|
||||
prog="${newProg}"
|
||||
else
|
||||
progdir=`dirname "${prog}"`
|
||||
prog="${progdir}/${newProg}"
|
||||
fi
|
||||
done
|
||||
oldwd=`pwd`
|
||||
progdir=`dirname "${prog}"`
|
||||
cd "${progdir}"
|
||||
progdir=`pwd`
|
||||
prog="${progdir}"/`basename "${prog}"`
|
||||
cd "${oldwd}"
|
||||
|
||||
jarfile=dx.jar
|
||||
libdir="$progdir"
|
||||
|
||||
if [ ! -r "$libdir/$jarfile" ]; then
|
||||
# set dx.jar location for the SDK case
|
||||
libdir="$libdir/lib"
|
||||
fi
|
||||
|
||||
|
||||
if [ ! -r "$libdir/$jarfile" ]; then
|
||||
# set dx.jar location for the Android tree case
|
||||
libdir=`dirname "$progdir"`/framework
|
||||
fi
|
||||
|
||||
if [ ! -r "$libdir/$jarfile" ]; then
|
||||
echo `basename "$prog"`": can't find $jarfile"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# By default, give dx a max heap size of 1 gig. This can be overridden
|
||||
# by using a "-J" option (see below).
|
||||
defaultMx="-Xmx1024M"
|
||||
|
||||
# The following will extract any initial parameters of the form
|
||||
# "-J<stuff>" from the command line and pass them to the Java
|
||||
# invocation (instead of to dx). This makes it possible for you to add
|
||||
# a command-line parameter such as "-JXmx256M" in your scripts, for
|
||||
# example. "java" (with no args) and "java -X" give a summary of
|
||||
# available options.
|
||||
|
||||
javaOpts=""
|
||||
|
||||
while expr "x$1" : 'x-J' >/dev/null; do
|
||||
opt=`expr "x$1" : 'x-J\(.*\)'`
|
||||
javaOpts="${javaOpts} -${opt}"
|
||||
if expr "x${opt}" : "xXmx[0-9]" >/dev/null; then
|
||||
defaultMx="no"
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "${defaultMx}" != "no" ]; then
|
||||
javaOpts="${javaOpts} ${defaultMx}"
|
||||
fi
|
||||
|
||||
if [ "$OSTYPE" = "cygwin" ]; then
|
||||
# For Cygwin, convert the jarfile path into native Windows style.
|
||||
jarpath=`cygpath -w "$libdir/$jarfile"`
|
||||
else
|
||||
jarpath="$libdir/$jarfile"
|
||||
fi
|
||||
|
||||
exec java $javaOpts -jar "$jarpath" "$@"
|
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/lib/dx.jar
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/lib/dx.jar
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/libbcc.dylib
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/libbcc.dylib
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/libbcinfo.dylib
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/libbcinfo.dylib
Executable file
Binary file not shown.
108
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/CMakeLists.txt
Executable file
108
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/CMakeLists.txt
Executable file
@ -0,0 +1,108 @@
|
||||
set(files
|
||||
altivec.h
|
||||
ammintrin.h
|
||||
avxintrin.h
|
||||
avx2intrin.h
|
||||
bmiintrin.h
|
||||
bmi2intrin.h
|
||||
emmintrin.h
|
||||
f16cintrin.h
|
||||
float.h
|
||||
fma4intrin.h
|
||||
fmaintrin.h
|
||||
immintrin.h
|
||||
iso646.h
|
||||
limits.h
|
||||
lzcntintrin.h
|
||||
mm3dnow.h
|
||||
mmintrin.h
|
||||
mm_malloc.h
|
||||
nmmintrin.h
|
||||
pmmintrin.h
|
||||
popcntintrin.h
|
||||
prfchwintrin.h
|
||||
rdseedintrin.h
|
||||
rtmintrin.h
|
||||
smmintrin.h
|
||||
stdalign.h
|
||||
stdarg.h
|
||||
stdbool.h
|
||||
stddef.h
|
||||
stdint.h
|
||||
stdnoreturn.h
|
||||
tgmath.h
|
||||
tmmintrin.h
|
||||
varargs.h
|
||||
wmmintrin.h
|
||||
__wmmintrin_aes.h
|
||||
__wmmintrin_pclmul.h
|
||||
x86intrin.h
|
||||
xmmintrin.h
|
||||
xopintrin.h
|
||||
cpuid.h
|
||||
unwind.h
|
||||
module.map
|
||||
)
|
||||
|
||||
set(output_dir ${LLVM_BINARY_DIR}/lib/clang/${CLANG_VERSION}/include)
|
||||
|
||||
# If we are in an IDE that has a configuration directory, we need to
|
||||
# create a second copy of the headers so that 'clang' can find them if
|
||||
# it's run from the build directory.
|
||||
if(MSVC_IDE OR XCODE)
|
||||
set(other_output_dir ${LLVM_BINARY_DIR}/bin/lib/clang/${CLANG_VERSION}/include)
|
||||
endif()
|
||||
|
||||
# Generate arm_neon.h
|
||||
clang_tablegen(arm_neon.h.inc -gen-arm-neon
|
||||
SOURCE ${CLANG_SOURCE_DIR}/include/clang/Basic/arm_neon.td)
|
||||
|
||||
set(out_files)
|
||||
foreach( f ${files} )
|
||||
set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} )
|
||||
set( dst ${output_dir}/${f} )
|
||||
add_custom_command(OUTPUT ${dst}
|
||||
DEPENDS ${src}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
|
||||
COMMENT "Copying clang's ${f}...")
|
||||
list(APPEND out_files ${dst})
|
||||
|
||||
if(other_output_dir)
|
||||
set(other_dst ${other_output_dir}/${f})
|
||||
add_custom_command(OUTPUT ${other_dst}
|
||||
DEPENDS ${src}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${other_dst}
|
||||
COMMENT "Copying clang's ${f}...")
|
||||
list(APPEND out_files ${other_dst})
|
||||
endif()
|
||||
endforeach( f )
|
||||
|
||||
add_custom_command(OUTPUT ${output_dir}/arm_neon.h
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h.inc
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h.inc ${output_dir}/arm_neon.h
|
||||
COMMENT "Copying clang's arm_neon.h...")
|
||||
list(APPEND out_files ${output_dir}/arm_neon.h)
|
||||
|
||||
if (other_output_dir)
|
||||
set(other_dst ${other_output_dir}/arm_neon.h)
|
||||
add_custom_command(OUTPUT ${other_dst}
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h.inc
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h.inc ${other_dst}
|
||||
COMMENT "Copying clang's arm_neon.h...")
|
||||
list(APPEND out_files ${other_dst})
|
||||
endif ()
|
||||
|
||||
add_custom_target(clang-headers ALL DEPENDS ${out_files})
|
||||
set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
|
||||
|
||||
if (other_output_dir)
|
||||
if(UNIX)
|
||||
add_custom_command(TARGET clang-headers POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "${LLVM_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}"
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink "${LLVM_BINARY_DIR}/bin/lib/clang" "${LLVM_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/clang")
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
install(FILES ${files} ${output_dir}/arm_neon.h
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||
DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
|
63
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/LICENSE.TXT
Executable file
63
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/LICENSE.TXT
Executable file
@ -0,0 +1,63 @@
|
||||
==============================================================================
|
||||
LLVM Release License
|
||||
==============================================================================
|
||||
University of Illinois/NCSA
|
||||
Open Source License
|
||||
|
||||
Copyright (c) 2007-2013 University of Illinois at Urbana-Champaign.
|
||||
All rights reserved.
|
||||
|
||||
Developed by:
|
||||
|
||||
LLVM Team
|
||||
|
||||
University of Illinois at Urbana-Champaign
|
||||
|
||||
http://llvm.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal with
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimers.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimers in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the names of the LLVM Team, University of Illinois at
|
||||
Urbana-Champaign, nor the names of its contributors may be used to
|
||||
endorse or promote products derived from this Software without specific
|
||||
prior written permission.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
|
||||
SOFTWARE.
|
||||
|
||||
==============================================================================
|
||||
The LLVM software contains code written by third parties. Such software will
|
||||
have its own individual LICENSE.TXT file in the directory in which it appears.
|
||||
This file will describe the copyrights, license, and restrictions which apply
|
||||
to that code.
|
||||
|
||||
The disclaimer of warranty in the University of Illinois Open Source License
|
||||
applies to all code in the LLVM Distribution, and nothing in any of the
|
||||
other licenses gives permission to use the names of the LLVM Team or the
|
||||
University of Illinois to endorse or promote products derived from this
|
||||
Software.
|
||||
|
||||
The following pieces of software have additional or alternate copyrights,
|
||||
licenses, and/or restrictions:
|
||||
|
||||
Program Directory
|
||||
------- ---------
|
||||
<none yet>
|
||||
|
11856
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/altivec.h
Executable file
11856
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/altivec.h
Executable file
File diff suppressed because it is too large
Load Diff
68
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/ammintrin.h
Executable file
68
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/ammintrin.h
Executable file
@ -0,0 +1,68 @@
|
||||
/*===---- ammintrin.h - SSE4a intrinsics -----------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __AMMINTRIN_H
|
||||
#define __AMMINTRIN_H
|
||||
|
||||
#ifndef __SSE4A__
|
||||
#error "SSE4A instruction set not enabled"
|
||||
#else
|
||||
|
||||
#include <pmmintrin.h>
|
||||
|
||||
#define _mm_extracti_si64(x, len, idx) \
|
||||
((__m128i)__builtin_ia32_extrqi((__v2di)(__m128i)(x), \
|
||||
(char)(len), (char)(idx)))
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_extract_si64(__m128i __x, __m128i __y)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_extrq((__v2di)__x, (__v16qi)__y);
|
||||
}
|
||||
|
||||
#define _mm_inserti_si64(x, y, len, idx) \
|
||||
((__m128i)__builtin_ia32_insertqi((__v2di)(__m128i)(x), \
|
||||
(__v2di)(__m128i)(y), \
|
||||
(char)(len), (char)(idx)))
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_insert_si64(__m128i __x, __m128i __y)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_insertq((__v2di)__x, (__v2di)__y);
|
||||
}
|
||||
|
||||
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_stream_sd(double *__p, __m128d __a)
|
||||
{
|
||||
__builtin_ia32_movntsd(__p, (__v2df)__a);
|
||||
}
|
||||
|
||||
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_stream_ss(float *__p, __m128 __a)
|
||||
{
|
||||
__builtin_ia32_movntss(__p, (__v4sf)__a);
|
||||
}
|
||||
|
||||
#endif /* __SSE4A__ */
|
||||
|
||||
#endif /* __AMMINTRIN_H */
|
1206
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/avx2intrin.h
Executable file
1206
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/avx2intrin.h
Executable file
File diff suppressed because it is too large
Load Diff
1224
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/avxintrin.h
Executable file
1224
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/avxintrin.h
Executable file
File diff suppressed because it is too large
Load Diff
94
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/bmi2intrin.h
Executable file
94
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/bmi2intrin.h
Executable file
@ -0,0 +1,94 @@
|
||||
/*===---- bmi2intrin.h - BMI2 intrinsics -----------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
|
||||
#error "Never use <bmi2intrin.h> directly; include <x86intrin.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __BMI2__
|
||||
# error "BMI2 instruction set not enabled"
|
||||
#endif /* __BMI2__ */
|
||||
|
||||
#ifndef __BMI2INTRIN_H
|
||||
#define __BMI2INTRIN_H
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
_bzhi_u32(unsigned int __X, unsigned int __Y)
|
||||
{
|
||||
return __builtin_ia32_bzhi_si(__X, __Y);
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
_pdep_u32(unsigned int __X, unsigned int __Y)
|
||||
{
|
||||
return __builtin_ia32_pdep_si(__X, __Y);
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
_pext_u32(unsigned int __X, unsigned int __Y)
|
||||
{
|
||||
return __builtin_ia32_pext_si(__X, __Y);
|
||||
}
|
||||
|
||||
#ifdef __x86_64__
|
||||
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
_bzhi_u64(unsigned long long __X, unsigned long long __Y)
|
||||
{
|
||||
return __builtin_ia32_bzhi_di(__X, __Y);
|
||||
}
|
||||
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
_pdep_u64(unsigned long long __X, unsigned long long __Y)
|
||||
{
|
||||
return __builtin_ia32_pdep_di(__X, __Y);
|
||||
}
|
||||
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
_pext_u64(unsigned long long __X, unsigned long long __Y)
|
||||
{
|
||||
return __builtin_ia32_pext_di(__X, __Y);
|
||||
}
|
||||
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
_mulx_u64 (unsigned long long __X, unsigned long long __Y,
|
||||
unsigned long long *__P)
|
||||
{
|
||||
unsigned __int128 __res = (unsigned __int128) __X * __Y;
|
||||
*__P = (unsigned long long) (__res >> 64);
|
||||
return (unsigned long long) __res;
|
||||
}
|
||||
|
||||
#else /* !__x86_64__ */
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
_mulx_u32 (unsigned int __X, unsigned int __Y, unsigned int *__P)
|
||||
{
|
||||
unsigned long long __res = (unsigned long long) __X * __Y;
|
||||
*__P = (unsigned int) (__res >> 32);
|
||||
return (unsigned int) __res;
|
||||
}
|
||||
|
||||
#endif /* !__x86_64__ */
|
||||
|
||||
#endif /* __BMI2INTRIN_H */
|
115
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/bmiintrin.h
Executable file
115
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/bmiintrin.h
Executable file
@ -0,0 +1,115 @@
|
||||
/*===---- bmiintrin.h - BMI intrinsics -------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
|
||||
#error "Never use <bmiintrin.h> directly; include <x86intrin.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __BMI__
|
||||
# error "BMI instruction set not enabled"
|
||||
#endif /* __BMI__ */
|
||||
|
||||
#ifndef __BMIINTRIN_H
|
||||
#define __BMIINTRIN_H
|
||||
|
||||
static __inline__ unsigned short __attribute__((__always_inline__, __nodebug__))
|
||||
__tzcnt_u16(unsigned short __X)
|
||||
{
|
||||
return __builtin_ctzs(__X);
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
__andn_u32(unsigned int __X, unsigned int __Y)
|
||||
{
|
||||
return ~__X & __Y;
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
__bextr_u32(unsigned int __X, unsigned int __Y)
|
||||
{
|
||||
return __builtin_ia32_bextr_u32(__X, __Y);
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
__blsi_u32(unsigned int __X)
|
||||
{
|
||||
return __X & -__X;
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
__blsmsk_u32(unsigned int __X)
|
||||
{
|
||||
return __X ^ (__X - 1);
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
__blsr_u32(unsigned int __X)
|
||||
{
|
||||
return __X & (__X - 1);
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
__tzcnt_u32(unsigned int __X)
|
||||
{
|
||||
return __builtin_ctz(__X);
|
||||
}
|
||||
|
||||
#ifdef __x86_64__
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
__andn_u64 (unsigned long long __X, unsigned long long __Y)
|
||||
{
|
||||
return ~__X & __Y;
|
||||
}
|
||||
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
__bextr_u64(unsigned long long __X, unsigned long long __Y)
|
||||
{
|
||||
return __builtin_ia32_bextr_u64(__X, __Y);
|
||||
}
|
||||
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
__blsi_u64(unsigned long long __X)
|
||||
{
|
||||
return __X & -__X;
|
||||
}
|
||||
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
__blsmsk_u64(unsigned long long __X)
|
||||
{
|
||||
return __X ^ (__X - 1);
|
||||
}
|
||||
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
__blsr_u64(unsigned long long __X)
|
||||
{
|
||||
return __X & (__X - 1);
|
||||
}
|
||||
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
__tzcnt_u64(unsigned long long __X)
|
||||
{
|
||||
return __builtin_ctzll(__X);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __BMIINTRIN_H */
|
156
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/cpuid.h
Executable file
156
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/cpuid.h
Executable file
@ -0,0 +1,156 @@
|
||||
/*===---- cpuid.h - X86 cpu model detection --------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#if !(__x86_64__ || __i386__)
|
||||
#error this header is for x86 only
|
||||
#endif
|
||||
|
||||
/* Features in %ecx for level 1 */
|
||||
#define bit_SSE3 0x00000001
|
||||
#define bit_PCLMULQDQ 0x00000002
|
||||
#define bit_DTES64 0x00000004
|
||||
#define bit_MONITOR 0x00000008
|
||||
#define bit_DSCPL 0x00000010
|
||||
#define bit_VMX 0x00000020
|
||||
#define bit_SMX 0x00000040
|
||||
#define bit_EIST 0x00000080
|
||||
#define bit_TM2 0x00000100
|
||||
#define bit_SSSE3 0x00000200
|
||||
#define bit_CNXTID 0x00000400
|
||||
#define bit_FMA 0x00001000
|
||||
#define bit_CMPXCHG16B 0x00002000
|
||||
#define bit_xTPR 0x00004000
|
||||
#define bit_PDCM 0x00008000
|
||||
#define bit_PCID 0x00020000
|
||||
#define bit_DCA 0x00040000
|
||||
#define bit_SSE41 0x00080000
|
||||
#define bit_SSE42 0x00100000
|
||||
#define bit_x2APIC 0x00200000
|
||||
#define bit_MOVBE 0x00400000
|
||||
#define bit_POPCNT 0x00800000
|
||||
#define bit_TSCDeadline 0x01000000
|
||||
#define bit_AESNI 0x02000000
|
||||
#define bit_XSAVE 0x04000000
|
||||
#define bit_OSXSAVE 0x08000000
|
||||
#define bit_AVX 0x10000000
|
||||
#define bit_RDRAND 0x40000000
|
||||
|
||||
/* Features in %edx for level 1 */
|
||||
#define bit_FPU 0x00000001
|
||||
#define bit_VME 0x00000002
|
||||
#define bit_DE 0x00000004
|
||||
#define bit_PSE 0x00000008
|
||||
#define bit_TSC 0x00000010
|
||||
#define bit_MSR 0x00000020
|
||||
#define bit_PAE 0x00000040
|
||||
#define bit_MCE 0x00000080
|
||||
#define bit_CX8 0x00000100
|
||||
#define bit_APIC 0x00000200
|
||||
#define bit_SEP 0x00000800
|
||||
#define bit_MTRR 0x00001000
|
||||
#define bit_PGE 0x00002000
|
||||
#define bit_MCA 0x00004000
|
||||
#define bit_CMOV 0x00008000
|
||||
#define bit_PAT 0x00010000
|
||||
#define bit_PSE36 0x00020000
|
||||
#define bit_PSN 0x00040000
|
||||
#define bit_CLFSH 0x00080000
|
||||
#define bit_DS 0x00200000
|
||||
#define bit_ACPI 0x00400000
|
||||
#define bit_MMX 0x00800000
|
||||
#define bit_FXSR 0x01000000
|
||||
#define bit_SSE 0x02000000
|
||||
#define bit_SSE2 0x04000000
|
||||
#define bit_SS 0x08000000
|
||||
#define bit_HTT 0x10000000
|
||||
#define bit_TM 0x20000000
|
||||
#define bit_PBE 0x80000000
|
||||
|
||||
/* Features in %ebx for level 7 sub-leaf 0 */
|
||||
#define bit_FSGSBASE 0x00000001
|
||||
#define bit_SMEP 0x00000080
|
||||
#define bit_ENH_MOVSB 0x00000200
|
||||
|
||||
/* PIC on i386 uses %ebx, so preserve it. */
|
||||
#if __i386__
|
||||
#define __cpuid(__level, __eax, __ebx, __ecx, __edx) \
|
||||
__asm(" pushl %%ebx\n" \
|
||||
" cpuid\n" \
|
||||
" mov %%ebx,%1\n" \
|
||||
" popl %%ebx" \
|
||||
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx) \
|
||||
: "0"(__level))
|
||||
|
||||
#define __cpuid_count(__level, __count, __eax, __ebx, __ecx, __edx) \
|
||||
__asm(" pushl %%ebx\n" \
|
||||
" cpuid\n" \
|
||||
" mov %%ebx,%1\n" \
|
||||
" popl %%ebx" \
|
||||
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx) \
|
||||
: "0"(__level), "2"(__count))
|
||||
#else
|
||||
#define __cpuid(__level, __eax, __ebx, __ecx, __edx) \
|
||||
__asm("cpuid" : "=a"(__eax), "=b" (__ebx), "=c"(__ecx), "=d"(__edx) \
|
||||
: "0"(__level))
|
||||
|
||||
#define __cpuid_count(__level, __count, __eax, __ebx, __ecx, __edx) \
|
||||
__asm("cpuid" : "=a"(__eax), "=b" (__ebx), "=c"(__ecx), "=d"(__edx) \
|
||||
: "0"(__level), "2"(__count))
|
||||
#endif
|
||||
|
||||
static __inline int __get_cpuid (unsigned int __level, unsigned int *__eax,
|
||||
unsigned int *__ebx, unsigned int *__ecx,
|
||||
unsigned int *__edx) {
|
||||
__cpuid(__level, *__eax, *__ebx, *__ecx, *__edx);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static __inline int __get_cpuid_max (unsigned int __level, unsigned int *__sig)
|
||||
{
|
||||
unsigned int __eax, __ebx, __ecx, __edx;
|
||||
#if __i386__
|
||||
int __cpuid_supported;
|
||||
|
||||
__asm(" pushfl\n"
|
||||
" popl %%eax\n"
|
||||
" movl %%eax,%%ecx\n"
|
||||
" xorl $0x00200000,%%eax\n"
|
||||
" pushl %%eax\n"
|
||||
" popfl\n"
|
||||
" pushfl\n"
|
||||
" popl %%eax\n"
|
||||
" movl $0,%0\n"
|
||||
" cmpl %%eax,%%ecx\n"
|
||||
" je 1f\n"
|
||||
" movl $1,%0\n"
|
||||
"1:"
|
||||
: "=r" (__cpuid_supported) : : "eax", "ecx");
|
||||
if (!__cpuid_supported)
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
__cpuid(__level, __eax, __ebx, __ecx, __edx);
|
||||
if (__sig)
|
||||
*__sig = __ebx;
|
||||
return __eax;
|
||||
}
|
1431
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/emmintrin.h
Executable file
1431
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/emmintrin.h
Executable file
File diff suppressed because it is too large
Load Diff
58
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/f16cintrin.h
Executable file
58
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/f16cintrin.h
Executable file
@ -0,0 +1,58 @@
|
||||
/*===---- f16cintrin.h - F16C intrinsics ---------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining __a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
|
||||
#error "Never use <f16cintrin.h> directly; include <x86intrin.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __F16C__
|
||||
# error "F16C instruction is not enabled"
|
||||
#endif /* __F16C__ */
|
||||
|
||||
#ifndef __F16CINTRIN_H
|
||||
#define __F16CINTRIN_H
|
||||
|
||||
typedef float __v8sf __attribute__ ((__vector_size__ (32)));
|
||||
typedef float __m256 __attribute__ ((__vector_size__ (32)));
|
||||
|
||||
#define _mm_cvtps_ph(a, imm) __extension__ ({ \
|
||||
__m128 __a = (a); \
|
||||
(__m128i)__builtin_ia32_vcvtps2ph((__v4sf)__a, (imm)); })
|
||||
|
||||
#define _mm256_cvtps_ph(a, imm) __extension__ ({ \
|
||||
__m256 __a = (a); \
|
||||
(__m128i)__builtin_ia32_vcvtps2ph256((__v8sf)__a, (imm)); })
|
||||
|
||||
static __inline __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtph_ps(__m128i __a)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vcvtph2ps((__v8hi)__a);
|
||||
}
|
||||
|
||||
static __inline __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_cvtph_ps(__m128i __a)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vcvtph2ps256((__v8hi)__a);
|
||||
}
|
||||
|
||||
#endif /* __F16CINTRIN_H */
|
124
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/float.h
Executable file
124
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/float.h
Executable file
@ -0,0 +1,124 @@
|
||||
/*===---- float.h - Characteristics of floating point types ----------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __FLOAT_H
|
||||
#define __FLOAT_H
|
||||
|
||||
/* If we're on MinGW, fall back to the system's float.h, which might have
|
||||
* additional definitions provided for Windows.
|
||||
* For more details see http://msdn.microsoft.com/en-us/library/y0ybw9fy.aspx
|
||||
*/
|
||||
#if (defined(__MINGW32__) || defined(_MSC_VER)) && \
|
||||
defined(__has_include_next) && __has_include_next(<float.h>)
|
||||
# include_next <float.h>
|
||||
|
||||
/* Undefine anything that we'll be redefining below. */
|
||||
# undef FLT_EVAL_METHOD
|
||||
# undef FLT_ROUNDS
|
||||
# undef FLT_RADIX
|
||||
# undef FLT_MANT_DIG
|
||||
# undef DBL_MANT_DIG
|
||||
# undef LDBL_MANT_DIG
|
||||
# undef DECIMAL_DIG
|
||||
# undef FLT_DIG
|
||||
# undef DBL_DIG
|
||||
# undef LDBL_DIG
|
||||
# undef FLT_MIN_EXP
|
||||
# undef DBL_MIN_EXP
|
||||
# undef LDBL_MIN_EXP
|
||||
# undef FLT_MIN_10_EXP
|
||||
# undef DBL_MIN_10_EXP
|
||||
# undef LDBL_MIN_10_EXP
|
||||
# undef FLT_MAX_EXP
|
||||
# undef DBL_MAX_EXP
|
||||
# undef LDBL_MAX_EXP
|
||||
# undef FLT_MAX_10_EXP
|
||||
# undef DBL_MAX_10_EXP
|
||||
# undef LDBL_MAX_10_EXP
|
||||
# undef FLT_MAX
|
||||
# undef DBL_MAX
|
||||
# undef LDBL_MAX
|
||||
# undef FLT_EPSILON
|
||||
# undef DBL_EPSILON
|
||||
# undef LDBL_EPSILON
|
||||
# undef FLT_MIN
|
||||
# undef DBL_MIN
|
||||
# undef LDBL_MIN
|
||||
# if __STDC_VERSION__ >= 201112L || !defined(__STRICT_ANSI__)
|
||||
# undef FLT_TRUE_MIN
|
||||
# undef DBL_TRUE_MIN
|
||||
# undef LDBL_TRUE_MIN
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Characteristics of floating point types, C99 5.2.4.2.2 */
|
||||
|
||||
#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
|
||||
#define FLT_ROUNDS (__builtin_flt_rounds())
|
||||
#define FLT_RADIX __FLT_RADIX__
|
||||
|
||||
#define FLT_MANT_DIG __FLT_MANT_DIG__
|
||||
#define DBL_MANT_DIG __DBL_MANT_DIG__
|
||||
#define LDBL_MANT_DIG __LDBL_MANT_DIG__
|
||||
|
||||
#define DECIMAL_DIG __DECIMAL_DIG__
|
||||
|
||||
#define FLT_DIG __FLT_DIG__
|
||||
#define DBL_DIG __DBL_DIG__
|
||||
#define LDBL_DIG __LDBL_DIG__
|
||||
|
||||
#define FLT_MIN_EXP __FLT_MIN_EXP__
|
||||
#define DBL_MIN_EXP __DBL_MIN_EXP__
|
||||
#define LDBL_MIN_EXP __LDBL_MIN_EXP__
|
||||
|
||||
#define FLT_MIN_10_EXP __FLT_MIN_10_EXP__
|
||||
#define DBL_MIN_10_EXP __DBL_MIN_10_EXP__
|
||||
#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
|
||||
|
||||
#define FLT_MAX_EXP __FLT_MAX_EXP__
|
||||
#define DBL_MAX_EXP __DBL_MAX_EXP__
|
||||
#define LDBL_MAX_EXP __LDBL_MAX_EXP__
|
||||
|
||||
#define FLT_MAX_10_EXP __FLT_MAX_10_EXP__
|
||||
#define DBL_MAX_10_EXP __DBL_MAX_10_EXP__
|
||||
#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
|
||||
|
||||
#define FLT_MAX __FLT_MAX__
|
||||
#define DBL_MAX __DBL_MAX__
|
||||
#define LDBL_MAX __LDBL_MAX__
|
||||
|
||||
#define FLT_EPSILON __FLT_EPSILON__
|
||||
#define DBL_EPSILON __DBL_EPSILON__
|
||||
#define LDBL_EPSILON __LDBL_EPSILON__
|
||||
|
||||
#define FLT_MIN __FLT_MIN__
|
||||
#define DBL_MIN __DBL_MIN__
|
||||
#define LDBL_MIN __LDBL_MIN__
|
||||
|
||||
#if __STDC_VERSION__ >= 201112L || !defined(__STRICT_ANSI__)
|
||||
# define FLT_TRUE_MIN __FLT_DENORM_MIN__
|
||||
# define DBL_TRUE_MIN __DBL_DENORM_MIN__
|
||||
# define LDBL_TRUE_MIN __LDBL_DENORM_MIN__
|
||||
#endif
|
||||
|
||||
#endif /* __FLOAT_H */
|
231
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/fma4intrin.h
Executable file
231
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/fma4intrin.h
Executable file
@ -0,0 +1,231 @@
|
||||
/*===---- fma4intrin.h - FMA4 intrinsics -----------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __X86INTRIN_H
|
||||
#error "Never use <fma4intrin.h> directly; include <x86intrin.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __FMA4INTRIN_H
|
||||
#define __FMA4INTRIN_H
|
||||
|
||||
#ifndef __FMA4__
|
||||
# error "FMA4 instruction set is not enabled"
|
||||
#else
|
||||
|
||||
#include <pmmintrin.h>
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_macc_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmaddps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_macc_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmaddpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_macc_ss(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmaddss(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_macc_sd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmaddsd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_msub_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmsubps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_msub_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmsubpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_msub_ss(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmsubss(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_msub_sd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmsubsd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_nmacc_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfnmaddps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_nmacc_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfnmaddpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_nmacc_ss(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfnmaddss(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_nmacc_sd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfnmaddsd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_nmsub_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfnmsubps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_nmsub_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfnmsubpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_nmsub_ss(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfnmsubss(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_nmsub_sd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfnmsubsd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maddsub_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmaddsubps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maddsub_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmaddsubpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_msubadd_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmsubaddps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_msubadd_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmsubaddpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_macc_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfmaddps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_macc_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfmaddpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_msub_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfmsubps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_msub_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfmsubpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_nmacc_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfnmaddps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_nmacc_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfnmaddpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_nmsub_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfnmsubps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_nmsub_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfnmsubpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_maddsub_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfmaddsubps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_maddsub_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfmaddsubpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_msubadd_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfmsubaddps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_msubadd_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfmsubaddpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
#endif /* __FMA4__ */
|
||||
|
||||
#endif /* __FMA4INTRIN_H */
|
229
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/fmaintrin.h
Executable file
229
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/fmaintrin.h
Executable file
@ -0,0 +1,229 @@
|
||||
/*===---- fma4intrin.h - FMA4 intrinsics -----------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __IMMINTRIN_H
|
||||
#error "Never use <fmaintrin.h> directly; include <immintrin.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __FMAINTRIN_H
|
||||
#define __FMAINTRIN_H
|
||||
|
||||
#ifndef __FMA__
|
||||
# error "FMA instruction set is not enabled"
|
||||
#else
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmadd_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmaddps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmadd_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmaddpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmadd_ss(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmaddss(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmadd_sd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmaddsd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmsub_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmsubps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmsub_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmsubpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmsub_ss(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmsubss(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmsub_sd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmsubsd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfnmaddps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfnmaddpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fnmadd_ss(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfnmaddss(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fnmadd_sd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfnmaddsd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfnmsubps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfnmsubpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fnmsub_ss(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfnmsubss(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fnmsub_sd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfnmsubsd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmaddsub_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmaddsubps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmaddsub_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmaddsubpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmsubadd_ps(__m128 __A, __m128 __B, __m128 __C)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfmsubaddps(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfmsubaddpd(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fmadd_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfmaddps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fmadd_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfmaddpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fmsub_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfmsubps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fmsub_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfmsubpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfnmaddps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfnmaddpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfnmsubps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfnmsubpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fmaddsub_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfmaddsubps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fmaddsub_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfmaddsubpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fmsubadd_ps(__m256 __A, __m256 __B, __m256 __C)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfmsubaddps256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfmsubaddpd256(__A, __B, __C);
|
||||
}
|
||||
|
||||
#endif /* __FMA__ */
|
||||
|
||||
#endif /* __FMAINTRIN_H */
|
114
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/immintrin.h
Executable file
114
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/immintrin.h
Executable file
@ -0,0 +1,114 @@
|
||||
/*===---- immintrin.h - Intel intrinsics -----------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __IMMINTRIN_H
|
||||
#define __IMMINTRIN_H
|
||||
|
||||
#ifdef __MMX__
|
||||
#include <mmintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __SSE__
|
||||
#include <xmmintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __SSE2__
|
||||
#include <emmintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __SSE3__
|
||||
#include <pmmintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __SSSE3__
|
||||
#include <tmmintrin.h>
|
||||
#endif
|
||||
|
||||
#if defined (__SSE4_2__) || defined (__SSE4_1__)
|
||||
#include <smmintrin.h>
|
||||
#endif
|
||||
|
||||
#if defined (__AES__)
|
||||
#include <wmmintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __AVX__
|
||||
#include <avxintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __AVX2__
|
||||
#include <avx2intrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __BMI__
|
||||
#include <bmiintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __BMI2__
|
||||
#include <bmi2intrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __LZCNT__
|
||||
#include <lzcntintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __FMA__
|
||||
#include <fmaintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __RDRND__
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_rdrand16_step(unsigned short *__p)
|
||||
{
|
||||
return __builtin_ia32_rdrand16_step(__p);
|
||||
}
|
||||
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_rdrand32_step(unsigned int *__p)
|
||||
{
|
||||
return __builtin_ia32_rdrand32_step(__p);
|
||||
}
|
||||
|
||||
#ifdef __x86_64__
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_rdrand64_step(unsigned long long *__p)
|
||||
{
|
||||
return __builtin_ia32_rdrand64_step(__p);
|
||||
}
|
||||
#endif
|
||||
#endif /* __RDRND__ */
|
||||
|
||||
#ifdef __RTM__
|
||||
#include <rtmintrin.h>
|
||||
#endif
|
||||
|
||||
/* FIXME: check __HLE__ as well when HLE is supported. */
|
||||
#if defined (__RTM__)
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_xtest(void)
|
||||
{
|
||||
return __builtin_ia32_xtest();
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __IMMINTRIN_H */
|
43
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/iso646.h
Executable file
43
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/iso646.h
Executable file
@ -0,0 +1,43 @@
|
||||
/*===---- iso646.h - Standard header for alternate spellings of operators---===
|
||||
*
|
||||
* Copyright (c) 2008 Eli Friedman
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __ISO646_H
|
||||
#define __ISO646_H
|
||||
|
||||
#ifndef __cplusplus
|
||||
#define and &&
|
||||
#define and_eq &=
|
||||
#define bitand &
|
||||
#define bitor |
|
||||
#define compl ~
|
||||
#define not !
|
||||
#define not_eq !=
|
||||
#define or ||
|
||||
#define or_eq |=
|
||||
#define xor ^
|
||||
#define xor_eq ^=
|
||||
#endif
|
||||
|
||||
#endif /* __ISO646_H */
|
117
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/limits.h
Executable file
117
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/limits.h
Executable file
@ -0,0 +1,117 @@
|
||||
/*===---- limits.h - Standard header for integer sizes --------------------===*\
|
||||
*
|
||||
* Copyright (c) 2009 Chris Lattner
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
\*===----------------------------------------------------------------------===*/
|
||||
|
||||
#ifndef __CLANG_LIMITS_H
|
||||
#define __CLANG_LIMITS_H
|
||||
|
||||
/* The system's limits.h may, in turn, try to #include_next GCC's limits.h.
|
||||
Avert this #include_next madness. */
|
||||
#if defined __GNUC__ && !defined _GCC_LIMITS_H_
|
||||
#define _GCC_LIMITS_H_
|
||||
#endif
|
||||
|
||||
/* System headers include a number of constants from POSIX in <limits.h>.
|
||||
Include it if we're hosted. */
|
||||
#if __STDC_HOSTED__ && \
|
||||
defined(__has_include_next) && __has_include_next(<limits.h>)
|
||||
#include_next <limits.h>
|
||||
#endif
|
||||
|
||||
/* Many system headers try to "help us out" by defining these. No really, we
|
||||
know how big each datatype is. */
|
||||
#undef SCHAR_MIN
|
||||
#undef SCHAR_MAX
|
||||
#undef UCHAR_MAX
|
||||
#undef SHRT_MIN
|
||||
#undef SHRT_MAX
|
||||
#undef USHRT_MAX
|
||||
#undef INT_MIN
|
||||
#undef INT_MAX
|
||||
#undef UINT_MAX
|
||||
#undef LONG_MIN
|
||||
#undef LONG_MAX
|
||||
#undef ULONG_MAX
|
||||
|
||||
#undef CHAR_BIT
|
||||
#undef CHAR_MIN
|
||||
#undef CHAR_MAX
|
||||
|
||||
/* C90/99 5.2.4.2.1 */
|
||||
#define SCHAR_MAX __SCHAR_MAX__
|
||||
#define SHRT_MAX __SHRT_MAX__
|
||||
#define INT_MAX __INT_MAX__
|
||||
#define LONG_MAX __LONG_MAX__
|
||||
|
||||
#define SCHAR_MIN (-__SCHAR_MAX__-1)
|
||||
#define SHRT_MIN (-__SHRT_MAX__ -1)
|
||||
#define INT_MIN (-__INT_MAX__ -1)
|
||||
#define LONG_MIN (-__LONG_MAX__ -1L)
|
||||
|
||||
#define UCHAR_MAX (__SCHAR_MAX__*2 +1)
|
||||
#define USHRT_MAX (__SHRT_MAX__ *2 +1)
|
||||
#define UINT_MAX (__INT_MAX__ *2U +1U)
|
||||
#define ULONG_MAX (__LONG_MAX__ *2UL+1UL)
|
||||
|
||||
#ifndef MB_LEN_MAX
|
||||
#define MB_LEN_MAX 1
|
||||
#endif
|
||||
|
||||
#define CHAR_BIT __CHAR_BIT__
|
||||
|
||||
#ifdef __CHAR_UNSIGNED__ /* -funsigned-char */
|
||||
#define CHAR_MIN 0
|
||||
#define CHAR_MAX UCHAR_MAX
|
||||
#else
|
||||
#define CHAR_MIN SCHAR_MIN
|
||||
#define CHAR_MAX __SCHAR_MAX__
|
||||
#endif
|
||||
|
||||
/* C99 5.2.4.2.1: Added long long. */
|
||||
#if __STDC_VERSION__ >= 199901
|
||||
|
||||
#undef LLONG_MIN
|
||||
#undef LLONG_MAX
|
||||
#undef ULLONG_MAX
|
||||
|
||||
#define LLONG_MAX __LONG_LONG_MAX__
|
||||
#define LLONG_MIN (-__LONG_LONG_MAX__-1LL)
|
||||
#define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
|
||||
#endif
|
||||
|
||||
/* LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. It's too bad
|
||||
that we don't have something like #pragma poison that could be used to
|
||||
deprecate a macro - the code should just use LLONG_MAX and friends.
|
||||
*/
|
||||
#if defined(__GNU_LIBRARY__) ? defined(__USE_GNU) : !defined(__STRICT_ANSI__)
|
||||
|
||||
#undef LONG_LONG_MIN
|
||||
#undef LONG_LONG_MAX
|
||||
#undef ULONG_LONG_MAX
|
||||
|
||||
#define LONG_LONG_MAX __LONG_LONG_MAX__
|
||||
#define LONG_LONG_MIN (-__LONG_LONG_MAX__-1LL)
|
||||
#define ULONG_LONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
|
||||
#endif
|
||||
|
||||
#endif /* __CLANG_LIMITS_H */
|
55
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/lzcntintrin.h
Executable file
55
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/lzcntintrin.h
Executable file
@ -0,0 +1,55 @@
|
||||
/*===---- lzcntintrin.h - LZCNT intrinsics ---------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
|
||||
#error "Never use <lzcntintrin.h> directly; include <x86intrin.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __LZCNT__
|
||||
# error "LZCNT instruction is not enabled"
|
||||
#endif /* __LZCNT__ */
|
||||
|
||||
#ifndef __LZCNTINTRIN_H
|
||||
#define __LZCNTINTRIN_H
|
||||
|
||||
static __inline__ unsigned short __attribute__((__always_inline__, __nodebug__))
|
||||
__lzcnt16(unsigned short __X)
|
||||
{
|
||||
return __builtin_clzs(__X);
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
__lzcnt32(unsigned int __X)
|
||||
{
|
||||
return __builtin_clz(__X);
|
||||
}
|
||||
|
||||
#ifdef __x86_64__
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
__lzcnt64(unsigned long long __X)
|
||||
{
|
||||
return __builtin_clzll(__X);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __LZCNTINTRIN_H */
|
162
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/mm3dnow.h
Executable file
162
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/mm3dnow.h
Executable file
@ -0,0 +1,162 @@
|
||||
/*===---- mm3dnow.h - 3DNow! intrinsics ------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef _MM3DNOW_H_INCLUDED
|
||||
#define _MM3DNOW_H_INCLUDED
|
||||
|
||||
#include <mmintrin.h>
|
||||
#include <prfchwintrin.h>
|
||||
|
||||
typedef float __v2sf __attribute__((__vector_size__(8)));
|
||||
|
||||
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
||||
_m_femms() {
|
||||
__builtin_ia32_femms();
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pavgusb(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pavgusb((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pf2id(__m64 __m) {
|
||||
return (__m64)__builtin_ia32_pf2id((__v2sf)__m);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfacc(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfacc((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfadd(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfadd((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfcmpeq(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfcmpeq((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfcmpge(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfcmpge((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfcmpgt(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfcmpgt((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfmax(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfmax((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfmin(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfmin((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfmul(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfmul((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfrcp(__m64 __m) {
|
||||
return (__m64)__builtin_ia32_pfrcp((__v2sf)__m);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfrcpit1(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfrcpit1((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfrcpit2(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfrcpit2((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfrsqrt(__m64 __m) {
|
||||
return (__m64)__builtin_ia32_pfrsqrt((__v2sf)__m);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfrsqrtit1(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfrsqit1((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfsub(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfsub((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfsubr(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfsubr((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pi2fd(__m64 __m) {
|
||||
return (__m64)__builtin_ia32_pi2fd((__v2si)__m);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pmulhrw(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pmulhrw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pf2iw(__m64 __m) {
|
||||
return (__m64)__builtin_ia32_pf2iw((__v2sf)__m);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfnacc(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfnacc((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pfpnacc(__m64 __m1, __m64 __m2) {
|
||||
return (__m64)__builtin_ia32_pfpnacc((__v2sf)__m1, (__v2sf)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pi2fw(__m64 __m) {
|
||||
return (__m64)__builtin_ia32_pi2fw((__v2si)__m);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pswapdsf(__m64 __m) {
|
||||
return (__m64)__builtin_ia32_pswapdsf((__v2sf)__m);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_m_pswapdsi(__m64 __m) {
|
||||
return (__m64)__builtin_ia32_pswapdsi((__v2si)__m);
|
||||
}
|
||||
|
||||
#endif
|
75
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/mm_malloc.h
Executable file
75
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/mm_malloc.h
Executable file
@ -0,0 +1,75 @@
|
||||
/*===---- mm_malloc.h - Allocating and Freeing Aligned Memory Blocks -------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __MM_MALLOC_H
|
||||
#define __MM_MALLOC_H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <malloc.h>
|
||||
#else
|
||||
#ifndef __cplusplus
|
||||
extern int posix_memalign(void **__memptr, size_t __alignment, size_t __size);
|
||||
#else
|
||||
// Some systems (e.g. those with GNU libc) declare posix_memalign with an
|
||||
// exception specifier. Via an "egregious workaround" in
|
||||
// Sema::CheckEquivalentExceptionSpec, Clang accepts the following as a valid
|
||||
// redeclaration of glibc's declaration.
|
||||
extern "C" int posix_memalign(void **__memptr, size_t __alignment, size_t __size);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if !(defined(_WIN32) && defined(_mm_malloc))
|
||||
static __inline__ void *__attribute__((__always_inline__, __nodebug__,
|
||||
__malloc__))
|
||||
_mm_malloc(size_t __size, size_t __align)
|
||||
{
|
||||
if (__align == 1) {
|
||||
return malloc(__size);
|
||||
}
|
||||
|
||||
if (!(__align & (__align - 1)) && __align < sizeof(void *))
|
||||
__align = sizeof(void *);
|
||||
|
||||
void *__mallocedMemory;
|
||||
#if defined(__MINGW32__)
|
||||
__mallocedMemory = __mingw_aligned_malloc(__size, __align);
|
||||
#elif defined(_WIN32)
|
||||
__mallocedMemory = _aligned_malloc(__size, __align);
|
||||
#else
|
||||
if (posix_memalign(&__mallocedMemory, __align, __size))
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
return __mallocedMemory;
|
||||
}
|
||||
|
||||
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_free(void *__p)
|
||||
{
|
||||
free(__p);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MM_MALLOC_H */
|
503
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/mmintrin.h
Executable file
503
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/mmintrin.h
Executable file
@ -0,0 +1,503 @@
|
||||
/*===---- mmintrin.h - MMX intrinsics --------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __MMINTRIN_H
|
||||
#define __MMINTRIN_H
|
||||
|
||||
#ifndef __MMX__
|
||||
#error "MMX instruction set not enabled"
|
||||
#else
|
||||
|
||||
typedef long long __m64 __attribute__((__vector_size__(8)));
|
||||
|
||||
typedef int __v2si __attribute__((__vector_size__(8)));
|
||||
typedef short __v4hi __attribute__((__vector_size__(8)));
|
||||
typedef char __v8qi __attribute__((__vector_size__(8)));
|
||||
|
||||
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_empty(void)
|
||||
{
|
||||
__builtin_ia32_emms();
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtsi32_si64(int __i)
|
||||
{
|
||||
return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
|
||||
}
|
||||
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtsi64_si32(__m64 __m)
|
||||
{
|
||||
return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtsi64_m64(long long __i)
|
||||
{
|
||||
return (__m64)__i;
|
||||
}
|
||||
|
||||
static __inline__ long long __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtm64_si64(__m64 __m)
|
||||
{
|
||||
return (long long)__m;
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_packs_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_packs_pi32(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_packs_pu16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_unpackhi_pi8(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_unpackhi_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_unpackhi_pi32(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_unpacklo_pi8(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_unpacklo_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_unpacklo_pi32(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_add_pi8(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_add_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_add_pi32(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_adds_pi8(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_paddsb((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_adds_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_paddsw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_adds_pu8(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_paddusb((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_adds_pu16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_paddusw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sub_pi8(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psubb((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sub_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psubw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sub_pi32(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psubd((__v2si)__m1, (__v2si)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_subs_pi8(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psubsb((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_subs_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psubsw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_subs_pu8(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psubusb((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_subs_pu16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psubusw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_madd_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pmaddwd((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_mulhi_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pmulhw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_mullo_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pmullw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sll_pi16(__m64 __m, __m64 __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psllw((__v4hi)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_slli_pi16(__m64 __m, int __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psllwi((__v4hi)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sll_pi32(__m64 __m, __m64 __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pslld((__v2si)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_slli_pi32(__m64 __m, int __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pslldi((__v2si)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sll_si64(__m64 __m, __m64 __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psllq(__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_slli_si64(__m64 __m, int __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psllqi(__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sra_pi16(__m64 __m, __m64 __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psraw((__v4hi)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_srai_pi16(__m64 __m, int __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psrawi((__v4hi)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sra_pi32(__m64 __m, __m64 __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psrad((__v2si)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_srai_pi32(__m64 __m, int __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psradi((__v2si)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_srl_pi16(__m64 __m, __m64 __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psrlw((__v4hi)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_srli_pi16(__m64 __m, int __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psrlwi((__v4hi)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_srl_pi32(__m64 __m, __m64 __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psrld((__v2si)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_srli_pi32(__m64 __m, int __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psrldi((__v2si)__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_srl_si64(__m64 __m, __m64 __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psrlq(__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_srli_si64(__m64 __m, int __count)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psrlqi(__m, __count);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_and_si64(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return __builtin_ia32_pand(__m1, __m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_andnot_si64(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return __builtin_ia32_pandn(__m1, __m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_or_si64(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return __builtin_ia32_por(__m1, __m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_xor_si64(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return __builtin_ia32_pxor(__m1, __m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cmpeq_pi8(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pcmpeqb((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cmpeq_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pcmpeqw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cmpeq_pi32(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pcmpeqd((__v2si)__m1, (__v2si)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cmpgt_pi8(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pcmpgtb((__v8qi)__m1, (__v8qi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cmpgt_pi16(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pcmpgtw((__v4hi)__m1, (__v4hi)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cmpgt_pi32(__m64 __m1, __m64 __m2)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pcmpgtd((__v2si)__m1, (__v2si)__m2);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_setzero_si64(void)
|
||||
{
|
||||
return (__m64){ 0LL };
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_set_pi32(int __i1, int __i0)
|
||||
{
|
||||
return (__m64)__builtin_ia32_vec_init_v2si(__i0, __i1);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_set_pi16(short __s3, short __s2, short __s1, short __s0)
|
||||
{
|
||||
return (__m64)__builtin_ia32_vec_init_v4hi(__s0, __s1, __s2, __s3);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_set_pi8(char __b7, char __b6, char __b5, char __b4, char __b3, char __b2,
|
||||
char __b1, char __b0)
|
||||
{
|
||||
return (__m64)__builtin_ia32_vec_init_v8qi(__b0, __b1, __b2, __b3,
|
||||
__b4, __b5, __b6, __b7);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_set1_pi32(int __i)
|
||||
{
|
||||
return _mm_set_pi32(__i, __i);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_set1_pi16(short __w)
|
||||
{
|
||||
return _mm_set_pi16(__w, __w, __w, __w);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_set1_pi8(char __b)
|
||||
{
|
||||
return _mm_set_pi8(__b, __b, __b, __b, __b, __b, __b, __b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_setr_pi32(int __i0, int __i1)
|
||||
{
|
||||
return _mm_set_pi32(__i1, __i0);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_setr_pi16(short __w0, short __w1, short __w2, short __w3)
|
||||
{
|
||||
return _mm_set_pi16(__w3, __w2, __w1, __w0);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_setr_pi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5,
|
||||
char __b6, char __b7)
|
||||
{
|
||||
return _mm_set_pi8(__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0);
|
||||
}
|
||||
|
||||
|
||||
/* Aliases for compatibility. */
|
||||
#define _m_empty _mm_empty
|
||||
#define _m_from_int _mm_cvtsi32_si64
|
||||
#define _m_to_int _mm_cvtsi64_si32
|
||||
#define _m_packsswb _mm_packs_pi16
|
||||
#define _m_packssdw _mm_packs_pi32
|
||||
#define _m_packuswb _mm_packs_pu16
|
||||
#define _m_punpckhbw _mm_unpackhi_pi8
|
||||
#define _m_punpckhwd _mm_unpackhi_pi16
|
||||
#define _m_punpckhdq _mm_unpackhi_pi32
|
||||
#define _m_punpcklbw _mm_unpacklo_pi8
|
||||
#define _m_punpcklwd _mm_unpacklo_pi16
|
||||
#define _m_punpckldq _mm_unpacklo_pi32
|
||||
#define _m_paddb _mm_add_pi8
|
||||
#define _m_paddw _mm_add_pi16
|
||||
#define _m_paddd _mm_add_pi32
|
||||
#define _m_paddsb _mm_adds_pi8
|
||||
#define _m_paddsw _mm_adds_pi16
|
||||
#define _m_paddusb _mm_adds_pu8
|
||||
#define _m_paddusw _mm_adds_pu16
|
||||
#define _m_psubb _mm_sub_pi8
|
||||
#define _m_psubw _mm_sub_pi16
|
||||
#define _m_psubd _mm_sub_pi32
|
||||
#define _m_psubsb _mm_subs_pi8
|
||||
#define _m_psubsw _mm_subs_pi16
|
||||
#define _m_psubusb _mm_subs_pu8
|
||||
#define _m_psubusw _mm_subs_pu16
|
||||
#define _m_pmaddwd _mm_madd_pi16
|
||||
#define _m_pmulhw _mm_mulhi_pi16
|
||||
#define _m_pmullw _mm_mullo_pi16
|
||||
#define _m_psllw _mm_sll_pi16
|
||||
#define _m_psllwi _mm_slli_pi16
|
||||
#define _m_pslld _mm_sll_pi32
|
||||
#define _m_pslldi _mm_slli_pi32
|
||||
#define _m_psllq _mm_sll_si64
|
||||
#define _m_psllqi _mm_slli_si64
|
||||
#define _m_psraw _mm_sra_pi16
|
||||
#define _m_psrawi _mm_srai_pi16
|
||||
#define _m_psrad _mm_sra_pi32
|
||||
#define _m_psradi _mm_srai_pi32
|
||||
#define _m_psrlw _mm_srl_pi16
|
||||
#define _m_psrlwi _mm_srli_pi16
|
||||
#define _m_psrld _mm_srl_pi32
|
||||
#define _m_psrldi _mm_srli_pi32
|
||||
#define _m_psrlq _mm_srl_si64
|
||||
#define _m_psrlqi _mm_srli_si64
|
||||
#define _m_pand _mm_and_si64
|
||||
#define _m_pandn _mm_andnot_si64
|
||||
#define _m_por _mm_or_si64
|
||||
#define _m_pxor _mm_xor_si64
|
||||
#define _m_pcmpeqb _mm_cmpeq_pi8
|
||||
#define _m_pcmpeqw _mm_cmpeq_pi16
|
||||
#define _m_pcmpeqd _mm_cmpeq_pi32
|
||||
#define _m_pcmpgtb _mm_cmpgt_pi8
|
||||
#define _m_pcmpgtw _mm_cmpgt_pi16
|
||||
#define _m_pcmpgtd _mm_cmpgt_pi32
|
||||
|
||||
#endif /* __MMX__ */
|
||||
|
||||
#endif /* __MMINTRIN_H */
|
||||
|
156
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/module.map
Executable file
156
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/module.map
Executable file
@ -0,0 +1,156 @@
|
||||
module _Builtin_intrinsics [system] {
|
||||
explicit module altivec {
|
||||
requires altivec
|
||||
header "altivec.h"
|
||||
}
|
||||
|
||||
explicit module arm {
|
||||
requires arm
|
||||
|
||||
explicit module neon {
|
||||
requires neon
|
||||
header "arm_neon.h"
|
||||
export *
|
||||
}
|
||||
}
|
||||
|
||||
explicit module intel {
|
||||
requires x86
|
||||
export *
|
||||
|
||||
header "immintrin.h"
|
||||
header "x86intrin.h"
|
||||
|
||||
explicit module mm_malloc {
|
||||
header "mm_malloc.h"
|
||||
export * // note: for <stdlib.h> dependency
|
||||
}
|
||||
|
||||
explicit module cpuid {
|
||||
requires x86
|
||||
header "cpuid.h"
|
||||
}
|
||||
|
||||
explicit module mmx {
|
||||
requires mmx
|
||||
header "mmintrin.h"
|
||||
}
|
||||
|
||||
explicit module f16c {
|
||||
requires f16c
|
||||
header "f16cintrin.h"
|
||||
}
|
||||
|
||||
explicit module sse {
|
||||
requires sse
|
||||
export mmx
|
||||
export * // note: for hackish <emmintrin.h> dependency
|
||||
header "xmmintrin.h"
|
||||
}
|
||||
|
||||
explicit module sse2 {
|
||||
requires sse2
|
||||
export sse
|
||||
header "emmintrin.h"
|
||||
}
|
||||
|
||||
explicit module sse3 {
|
||||
requires sse3
|
||||
export sse2
|
||||
header "pmmintrin.h"
|
||||
}
|
||||
|
||||
explicit module ssse3 {
|
||||
requires ssse3
|
||||
export sse3
|
||||
header "tmmintrin.h"
|
||||
}
|
||||
|
||||
explicit module sse4_1 {
|
||||
requires sse41
|
||||
export ssse3
|
||||
header "smmintrin.h"
|
||||
}
|
||||
|
||||
explicit module sse4_2 {
|
||||
requires sse42
|
||||
export sse4_1
|
||||
header "nmmintrin.h"
|
||||
}
|
||||
|
||||
explicit module sse4a {
|
||||
requires sse4a
|
||||
export sse3
|
||||
header "ammintrin.h"
|
||||
}
|
||||
|
||||
explicit module avx {
|
||||
requires avx
|
||||
export sse4_2
|
||||
header "avxintrin.h"
|
||||
}
|
||||
|
||||
explicit module avx2 {
|
||||
requires avx2
|
||||
export avx
|
||||
header "avx2intrin.h"
|
||||
}
|
||||
|
||||
explicit module bmi {
|
||||
requires bmi
|
||||
header "bmiintrin.h"
|
||||
}
|
||||
|
||||
explicit module bmi2 {
|
||||
requires bmi2
|
||||
header "bmi2intrin.h"
|
||||
}
|
||||
|
||||
explicit module fma {
|
||||
requires fma
|
||||
header "fmaintrin.h"
|
||||
}
|
||||
|
||||
explicit module fma4 {
|
||||
requires fma4
|
||||
export sse3
|
||||
header "fma4intrin.h"
|
||||
}
|
||||
|
||||
explicit module lzcnt {
|
||||
requires lzcnt
|
||||
header "lzcntintrin.h"
|
||||
}
|
||||
|
||||
explicit module popcnt {
|
||||
requires popcnt
|
||||
header "popcntintrin.h"
|
||||
}
|
||||
|
||||
explicit module mm3dnow {
|
||||
requires mm3dnow
|
||||
header "mm3dnow.h"
|
||||
}
|
||||
|
||||
explicit module xop {
|
||||
requires xop
|
||||
export fma4
|
||||
header "xopintrin.h"
|
||||
}
|
||||
|
||||
explicit module aes_pclmul {
|
||||
requires aes, pclmul
|
||||
header "wmmintrin.h"
|
||||
}
|
||||
|
||||
explicit module aes {
|
||||
requires aes
|
||||
header "__wmmintrin_aes.h"
|
||||
}
|
||||
|
||||
explicit module pclmul {
|
||||
requires pclmul
|
||||
header "__wmmintrin_pclmul.h"
|
||||
}
|
||||
}
|
||||
}
|
35
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/nmmintrin.h
Executable file
35
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/nmmintrin.h
Executable file
@ -0,0 +1,35 @@
|
||||
/*===---- nmmintrin.h - SSE4 intrinsics ------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef _NMMINTRIN_H
|
||||
#define _NMMINTRIN_H
|
||||
|
||||
#ifndef __SSE4_2__
|
||||
#error "SSE4.2 instruction set not enabled"
|
||||
#else
|
||||
|
||||
/* To match expectations of gcc we put the sse4.2 definitions into smmintrin.h,
|
||||
just include it now then. */
|
||||
#include <smmintrin.h>
|
||||
#endif /* __SSE4_2__ */
|
||||
#endif /* _NMMINTRIN_H */
|
117
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/pmmintrin.h
Executable file
117
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/pmmintrin.h
Executable file
@ -0,0 +1,117 @@
|
||||
/*===---- pmmintrin.h - SSE3 intrinsics ------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __PMMINTRIN_H
|
||||
#define __PMMINTRIN_H
|
||||
|
||||
#ifndef __SSE3__
|
||||
#error "SSE3 instruction set not enabled"
|
||||
#else
|
||||
|
||||
#include <emmintrin.h>
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_lddqu_si128(__m128i const *__p)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_lddqu((char const *)__p);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_addsub_ps(__m128 __a, __m128 __b)
|
||||
{
|
||||
return __builtin_ia32_addsubps(__a, __b);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hadd_ps(__m128 __a, __m128 __b)
|
||||
{
|
||||
return __builtin_ia32_haddps(__a, __b);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsub_ps(__m128 __a, __m128 __b)
|
||||
{
|
||||
return __builtin_ia32_hsubps(__a, __b);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_movehdup_ps(__m128 __a)
|
||||
{
|
||||
return __builtin_shufflevector(__a, __a, 1, 1, 3, 3);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_moveldup_ps(__m128 __a)
|
||||
{
|
||||
return __builtin_shufflevector(__a, __a, 0, 0, 2, 2);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_addsub_pd(__m128d __a, __m128d __b)
|
||||
{
|
||||
return __builtin_ia32_addsubpd(__a, __b);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hadd_pd(__m128d __a, __m128d __b)
|
||||
{
|
||||
return __builtin_ia32_haddpd(__a, __b);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsub_pd(__m128d __a, __m128d __b)
|
||||
{
|
||||
return __builtin_ia32_hsubpd(__a, __b);
|
||||
}
|
||||
|
||||
#define _mm_loaddup_pd(dp) _mm_load1_pd(dp)
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_movedup_pd(__m128d __a)
|
||||
{
|
||||
return __builtin_shufflevector(__a, __a, 0, 0);
|
||||
}
|
||||
|
||||
#define _MM_DENORMALS_ZERO_ON (0x0040)
|
||||
#define _MM_DENORMALS_ZERO_OFF (0x0000)
|
||||
|
||||
#define _MM_DENORMALS_ZERO_MASK (0x0040)
|
||||
|
||||
#define _MM_GET_DENORMALS_ZERO_MODE() (_mm_getcsr() & _MM_DENORMALS_ZERO_MASK)
|
||||
#define _MM_SET_DENORMALS_ZERO_MODE(x) (_mm_setcsr((_mm_getcsr() & ~_MM_DENORMALS_ZERO_MASK) | (x)))
|
||||
|
||||
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_monitor(void const *__p, unsigned __extensions, unsigned __hints)
|
||||
{
|
||||
__builtin_ia32_monitor((void *)__p, __extensions, __hints);
|
||||
}
|
||||
|
||||
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_mwait(unsigned __extensions, unsigned __hints)
|
||||
{
|
||||
__builtin_ia32_mwait(__extensions, __hints);
|
||||
}
|
||||
|
||||
#endif /* __SSE3__ */
|
||||
|
||||
#endif /* __PMMINTRIN_H */
|
45
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/popcntintrin.h
Executable file
45
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/popcntintrin.h
Executable file
@ -0,0 +1,45 @@
|
||||
/*===---- popcntintrin.h - POPCNT intrinsics -------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __POPCNT__
|
||||
#error "POPCNT instruction set not enabled"
|
||||
#endif
|
||||
|
||||
#ifndef _POPCNTINTRIN_H
|
||||
#define _POPCNTINTRIN_H
|
||||
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_popcnt_u32(unsigned int __A)
|
||||
{
|
||||
return __builtin_popcount(__A);
|
||||
}
|
||||
|
||||
#ifdef __x86_64__
|
||||
static __inline__ long long __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_popcnt_u64(unsigned long long __A)
|
||||
{
|
||||
return __builtin_popcountll(__A);
|
||||
}
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
#endif /* _POPCNTINTRIN_H */
|
39
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/prfchwintrin.h
Executable file
39
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/prfchwintrin.h
Executable file
@ -0,0 +1,39 @@
|
||||
/*===---- prfchwintrin.h - PREFETCHW intrinsic -----------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#if !defined(__X86INTRIN_H) && !defined(_MM3DNOW_H_INCLUDED)
|
||||
#error "Never use <prfchwintrin.h> directly; include <x86intrin.h> or <mm3dnow.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __PRFCHWINTRIN_H
|
||||
#define __PRFCHWINTRIN_H
|
||||
|
||||
#if defined(__PRFCHW__) || defined(__3dNOW__)
|
||||
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
||||
_m_prefetchw(void *__P)
|
||||
{
|
||||
__builtin_prefetch (__P, 1, 3 /* _MM_HINT_T0 */);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __PRFCHWINTRIN_H */
|
52
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/rdseedintrin.h
Executable file
52
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/rdseedintrin.h
Executable file
@ -0,0 +1,52 @@
|
||||
/*===---- rdseedintrin.h - RDSEED intrinsics -------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __X86INTRIN_H
|
||||
#error "Never use <rdseedintrin.h> directly; include <x86intrin.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __RDSEEDINTRIN_H
|
||||
#define __RDSEEDINTRIN_H
|
||||
|
||||
#ifdef __RDSEED__
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_rdseed16_step(unsigned short *__p)
|
||||
{
|
||||
return __builtin_ia32_rdseed16_step(__p);
|
||||
}
|
||||
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_rdseed32_step(unsigned int *__p)
|
||||
{
|
||||
return __builtin_ia32_rdseed32_step(__p);
|
||||
}
|
||||
|
||||
#ifdef __x86_64__
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_rdseed64_step(unsigned long long *__p)
|
||||
{
|
||||
return __builtin_ia32_rdseed64_step(__p);
|
||||
}
|
||||
#endif
|
||||
#endif /* __RDSEED__ */
|
||||
#endif /* __RDSEEDINTRIN_H */
|
54
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/rtmintrin.h
Executable file
54
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/rtmintrin.h
Executable file
@ -0,0 +1,54 @@
|
||||
/*===---- rtmintrin.h - RTM intrinsics -------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __IMMINTRIN_H
|
||||
#error "Never use <rtmintrin.h> directly; include <immintrin.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __RTMINTRIN_H
|
||||
#define __RTMINTRIN_H
|
||||
|
||||
#define _XBEGIN_STARTED (~0u)
|
||||
#define _XABORT_EXPLICIT (1 << 0)
|
||||
#define _XABORT_RETRY (1 << 1)
|
||||
#define _XABORT_CONFLICT (1 << 2)
|
||||
#define _XABORT_CAPACITY (1 << 3)
|
||||
#define _XABORT_DEBUG (1 << 4)
|
||||
#define _XABORT_NESTED (1 << 5)
|
||||
#define _XABORT_CODE(x) (((x) >> 24) & 0xFF)
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
_xbegin(void)
|
||||
{
|
||||
return __builtin_ia32_xbegin();
|
||||
}
|
||||
|
||||
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
||||
_xend(void)
|
||||
{
|
||||
__builtin_ia32_xend();
|
||||
}
|
||||
|
||||
#define _xabort(imm) __builtin_ia32_xabort((imm))
|
||||
|
||||
#endif /* __RTMINTRIN_H */
|
467
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/smmintrin.h
Executable file
467
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/smmintrin.h
Executable file
@ -0,0 +1,467 @@
|
||||
/*===---- smmintrin.h - SSE4 intrinsics ------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef _SMMINTRIN_H
|
||||
#define _SMMINTRIN_H
|
||||
|
||||
#ifndef __SSE4_1__
|
||||
#error "SSE4.1 instruction set not enabled"
|
||||
#else
|
||||
|
||||
#include <tmmintrin.h>
|
||||
|
||||
/* SSE4 Rounding macros. */
|
||||
#define _MM_FROUND_TO_NEAREST_INT 0x00
|
||||
#define _MM_FROUND_TO_NEG_INF 0x01
|
||||
#define _MM_FROUND_TO_POS_INF 0x02
|
||||
#define _MM_FROUND_TO_ZERO 0x03
|
||||
#define _MM_FROUND_CUR_DIRECTION 0x04
|
||||
|
||||
#define _MM_FROUND_RAISE_EXC 0x00
|
||||
#define _MM_FROUND_NO_EXC 0x08
|
||||
|
||||
#define _MM_FROUND_NINT (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_NEAREST_INT)
|
||||
#define _MM_FROUND_FLOOR (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_NEG_INF)
|
||||
#define _MM_FROUND_CEIL (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_POS_INF)
|
||||
#define _MM_FROUND_TRUNC (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_ZERO)
|
||||
#define _MM_FROUND_RINT (_MM_FROUND_RAISE_EXC | _MM_FROUND_CUR_DIRECTION)
|
||||
#define _MM_FROUND_NEARBYINT (_MM_FROUND_NO_EXC | _MM_FROUND_CUR_DIRECTION)
|
||||
|
||||
#define _mm_ceil_ps(X) _mm_round_ps((X), _MM_FROUND_CEIL)
|
||||
#define _mm_ceil_pd(X) _mm_round_pd((X), _MM_FROUND_CEIL)
|
||||
#define _mm_ceil_ss(X, Y) _mm_round_ss((X), (Y), _MM_FROUND_CEIL)
|
||||
#define _mm_ceil_sd(X, Y) _mm_round_sd((X), (Y), _MM_FROUND_CEIL)
|
||||
|
||||
#define _mm_floor_ps(X) _mm_round_ps((X), _MM_FROUND_FLOOR)
|
||||
#define _mm_floor_pd(X) _mm_round_pd((X), _MM_FROUND_FLOOR)
|
||||
#define _mm_floor_ss(X, Y) _mm_round_ss((X), (Y), _MM_FROUND_FLOOR)
|
||||
#define _mm_floor_sd(X, Y) _mm_round_sd((X), (Y), _MM_FROUND_FLOOR)
|
||||
|
||||
#define _mm_round_ps(X, M) __extension__ ({ \
|
||||
__m128 __X = (X); \
|
||||
(__m128) __builtin_ia32_roundps((__v4sf)__X, (M)); })
|
||||
|
||||
#define _mm_round_ss(X, Y, M) __extension__ ({ \
|
||||
__m128 __X = (X); \
|
||||
__m128 __Y = (Y); \
|
||||
(__m128) __builtin_ia32_roundss((__v4sf)__X, (__v4sf)__Y, (M)); })
|
||||
|
||||
#define _mm_round_pd(X, M) __extension__ ({ \
|
||||
__m128d __X = (X); \
|
||||
(__m128d) __builtin_ia32_roundpd((__v2df)__X, (M)); })
|
||||
|
||||
#define _mm_round_sd(X, Y, M) __extension__ ({ \
|
||||
__m128d __X = (X); \
|
||||
__m128d __Y = (Y); \
|
||||
(__m128d) __builtin_ia32_roundsd((__v2df)__X, (__v2df)__Y, (M)); })
|
||||
|
||||
/* SSE4 Packed Blending Intrinsics. */
|
||||
#define _mm_blend_pd(V1, V2, M) __extension__ ({ \
|
||||
__m128d __V1 = (V1); \
|
||||
__m128d __V2 = (V2); \
|
||||
(__m128d) __builtin_ia32_blendpd ((__v2df)__V1, (__v2df)__V2, (M)); })
|
||||
|
||||
#define _mm_blend_ps(V1, V2, M) __extension__ ({ \
|
||||
__m128 __V1 = (V1); \
|
||||
__m128 __V2 = (V2); \
|
||||
(__m128) __builtin_ia32_blendps ((__v4sf)__V1, (__v4sf)__V2, (M)); })
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_blendv_pd (__m128d __V1, __m128d __V2, __m128d __M)
|
||||
{
|
||||
return (__m128d) __builtin_ia32_blendvpd ((__v2df)__V1, (__v2df)__V2,
|
||||
(__v2df)__M);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_blendv_ps (__m128 __V1, __m128 __V2, __m128 __M)
|
||||
{
|
||||
return (__m128) __builtin_ia32_blendvps ((__v4sf)__V1, (__v4sf)__V2,
|
||||
(__v4sf)__M);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_blendv_epi8 (__m128i __V1, __m128i __V2, __m128i __M)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pblendvb128 ((__v16qi)__V1, (__v16qi)__V2,
|
||||
(__v16qi)__M);
|
||||
}
|
||||
|
||||
#define _mm_blend_epi16(V1, V2, M) __extension__ ({ \
|
||||
__m128i __V1 = (V1); \
|
||||
__m128i __V2 = (V2); \
|
||||
(__m128i) __builtin_ia32_pblendw128 ((__v8hi)__V1, (__v8hi)__V2, (M)); })
|
||||
|
||||
/* SSE4 Dword Multiply Instructions. */
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_mullo_epi32 (__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) ((__v4si)__V1 * (__v4si)__V2);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_mul_epi32 (__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmuldq128 ((__v4si)__V1, (__v4si)__V2);
|
||||
}
|
||||
|
||||
/* SSE4 Floating Point Dot Product Instructions. */
|
||||
#define _mm_dp_ps(X, Y, M) __extension__ ({ \
|
||||
__m128 __X = (X); \
|
||||
__m128 __Y = (Y); \
|
||||
(__m128) __builtin_ia32_dpps((__v4sf)__X, (__v4sf)__Y, (M)); })
|
||||
|
||||
#define _mm_dp_pd(X, Y, M) __extension__ ({\
|
||||
__m128d __X = (X); \
|
||||
__m128d __Y = (Y); \
|
||||
(__m128d) __builtin_ia32_dppd((__v2df)__X, (__v2df)__Y, (M)); })
|
||||
|
||||
/* SSE4 Streaming Load Hint Instruction. */
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_stream_load_si128 (__m128i *__V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_movntdqa ((__v2di *) __V);
|
||||
}
|
||||
|
||||
/* SSE4 Packed Integer Min/Max Instructions. */
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_min_epi8 (__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pminsb128 ((__v16qi) __V1, (__v16qi) __V2);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_max_epi8 (__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmaxsb128 ((__v16qi) __V1, (__v16qi) __V2);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_min_epu16 (__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pminuw128 ((__v8hi) __V1, (__v8hi) __V2);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_max_epu16 (__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmaxuw128 ((__v8hi) __V1, (__v8hi) __V2);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_min_epi32 (__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pminsd128 ((__v4si) __V1, (__v4si) __V2);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_max_epi32 (__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmaxsd128 ((__v4si) __V1, (__v4si) __V2);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_min_epu32 (__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pminud128((__v4si) __V1, (__v4si) __V2);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_max_epu32 (__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmaxud128((__v4si) __V1, (__v4si) __V2);
|
||||
}
|
||||
|
||||
/* SSE4 Insertion and Extraction from XMM Register Instructions. */
|
||||
#define _mm_insert_ps(X, Y, N) __builtin_ia32_insertps128((X), (Y), (N))
|
||||
#define _mm_extract_ps(X, N) (__extension__ \
|
||||
({ union { int __i; float __f; } __t; \
|
||||
__v4sf __a = (__v4sf)(X); \
|
||||
__t.__f = __a[N]; \
|
||||
__t.__i;}))
|
||||
|
||||
/* Miscellaneous insert and extract macros. */
|
||||
/* Extract a single-precision float from X at index N into D. */
|
||||
#define _MM_EXTRACT_FLOAT(D, X, N) (__extension__ ({ __v4sf __a = (__v4sf)(X); \
|
||||
(D) = __a[N]; }))
|
||||
|
||||
/* Or together 2 sets of indexes (X and Y) with the zeroing bits (Z) to create
|
||||
an index suitable for _mm_insert_ps. */
|
||||
#define _MM_MK_INSERTPS_NDX(X, Y, Z) (((X) << 6) | ((Y) << 4) | (Z))
|
||||
|
||||
/* Extract a float from X at index N into the first index of the return. */
|
||||
#define _MM_PICK_OUT_PS(X, N) _mm_insert_ps (_mm_setzero_ps(), (X), \
|
||||
_MM_MK_INSERTPS_NDX((N), 0, 0x0e))
|
||||
|
||||
/* Insert int into packed integer array at index. */
|
||||
#define _mm_insert_epi8(X, I, N) (__extension__ ({ __v16qi __a = (__v16qi)(X); \
|
||||
__a[(N)] = (I); \
|
||||
__a;}))
|
||||
#define _mm_insert_epi32(X, I, N) (__extension__ ({ __v4si __a = (__v4si)(X); \
|
||||
__a[(N)] = (I); \
|
||||
__a;}))
|
||||
#ifdef __x86_64__
|
||||
#define _mm_insert_epi64(X, I, N) (__extension__ ({ __v2di __a = (__v2di)(X); \
|
||||
__a[(N)] = (I); \
|
||||
__a;}))
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
/* Extract int from packed integer array at index. This returns the element
|
||||
* as a zero extended value, so it is unsigned.
|
||||
*/
|
||||
#define _mm_extract_epi8(X, N) (__extension__ ({ __v16qi __a = (__v16qi)(X); \
|
||||
(unsigned char)__a[(N)];}))
|
||||
#define _mm_extract_epi32(X, N) (__extension__ ({ __v4si __a = (__v4si)(X); \
|
||||
(unsigned)__a[(N)];}))
|
||||
#ifdef __x86_64__
|
||||
#define _mm_extract_epi64(X, N) (__extension__ ({ __v2di __a = (__v2di)(X); \
|
||||
__a[(N)];}))
|
||||
#endif /* __x86_64 */
|
||||
|
||||
/* SSE4 128-bit Packed Integer Comparisons. */
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_testz_si128(__m128i __M, __m128i __V)
|
||||
{
|
||||
return __builtin_ia32_ptestz128((__v2di)__M, (__v2di)__V);
|
||||
}
|
||||
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_testc_si128(__m128i __M, __m128i __V)
|
||||
{
|
||||
return __builtin_ia32_ptestc128((__v2di)__M, (__v2di)__V);
|
||||
}
|
||||
|
||||
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_testnzc_si128(__m128i __M, __m128i __V)
|
||||
{
|
||||
return __builtin_ia32_ptestnzc128((__v2di)__M, (__v2di)__V);
|
||||
}
|
||||
|
||||
#define _mm_test_all_ones(V) _mm_testc_si128((V), _mm_cmpeq_epi32((V), (V)))
|
||||
#define _mm_test_mix_ones_zeros(M, V) _mm_testnzc_si128((M), (V))
|
||||
#define _mm_test_all_zeros(M, V) _mm_testz_si128 ((M), (V))
|
||||
|
||||
/* SSE4 64-bit Packed Integer Comparisons. */
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cmpeq_epi64(__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i)((__v2di)__V1 == (__v2di)__V2);
|
||||
}
|
||||
|
||||
/* SSE4 Packed Integer Sign-Extension. */
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepi8_epi16(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovsxbw128((__v16qi) __V);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepi8_epi32(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovsxbd128((__v16qi) __V);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepi8_epi64(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovsxbq128((__v16qi) __V);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepi16_epi32(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovsxwd128((__v8hi) __V);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepi16_epi64(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovsxwq128((__v8hi)__V);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepi32_epi64(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovsxdq128((__v4si)__V);
|
||||
}
|
||||
|
||||
/* SSE4 Packed Integer Zero-Extension. */
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepu8_epi16(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovzxbw128((__v16qi) __V);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepu8_epi32(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovzxbd128((__v16qi)__V);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepu8_epi64(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovzxbq128((__v16qi)__V);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepu16_epi32(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovzxwd128((__v8hi)__V);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepu16_epi64(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovzxwq128((__v8hi)__V);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cvtepu32_epi64(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_pmovzxdq128((__v4si)__V);
|
||||
}
|
||||
|
||||
/* SSE4 Pack with Unsigned Saturation. */
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_packus_epi32(__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_packusdw128((__v4si)__V1, (__v4si)__V2);
|
||||
}
|
||||
|
||||
/* SSE4 Multiple Packed Sums of Absolute Difference. */
|
||||
#define _mm_mpsadbw_epu8(X, Y, M) __extension__ ({ \
|
||||
__m128i __X = (X); \
|
||||
__m128i __Y = (Y); \
|
||||
(__m128i) __builtin_ia32_mpsadbw128((__v16qi)__X, (__v16qi)__Y, (M)); })
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_minpos_epu16(__m128i __V)
|
||||
{
|
||||
return (__m128i) __builtin_ia32_phminposuw128((__v8hi)__V);
|
||||
}
|
||||
|
||||
/* These definitions are normally in nmmintrin.h, but gcc puts them in here
|
||||
so we'll do the same. */
|
||||
#ifdef __SSE4_2__
|
||||
|
||||
/* These specify the type of data that we're comparing. */
|
||||
#define _SIDD_UBYTE_OPS 0x00
|
||||
#define _SIDD_UWORD_OPS 0x01
|
||||
#define _SIDD_SBYTE_OPS 0x02
|
||||
#define _SIDD_SWORD_OPS 0x03
|
||||
|
||||
/* These specify the type of comparison operation. */
|
||||
#define _SIDD_CMP_EQUAL_ANY 0x00
|
||||
#define _SIDD_CMP_RANGES 0x04
|
||||
#define _SIDD_CMP_EQUAL_EACH 0x08
|
||||
#define _SIDD_CMP_EQUAL_ORDERED 0x0c
|
||||
|
||||
/* These macros specify the polarity of the operation. */
|
||||
#define _SIDD_POSITIVE_POLARITY 0x00
|
||||
#define _SIDD_NEGATIVE_POLARITY 0x10
|
||||
#define _SIDD_MASKED_POSITIVE_POLARITY 0x20
|
||||
#define _SIDD_MASKED_NEGATIVE_POLARITY 0x30
|
||||
|
||||
/* These macros are used in _mm_cmpXstri() to specify the return. */
|
||||
#define _SIDD_LEAST_SIGNIFICANT 0x00
|
||||
#define _SIDD_MOST_SIGNIFICANT 0x40
|
||||
|
||||
/* These macros are used in _mm_cmpXstri() to specify the return. */
|
||||
#define _SIDD_BIT_MASK 0x00
|
||||
#define _SIDD_UNIT_MASK 0x40
|
||||
|
||||
/* SSE4.2 Packed Comparison Intrinsics. */
|
||||
#define _mm_cmpistrm(A, B, M) __builtin_ia32_pcmpistrm128((A), (B), (M))
|
||||
#define _mm_cmpistri(A, B, M) __builtin_ia32_pcmpistri128((A), (B), (M))
|
||||
|
||||
#define _mm_cmpestrm(A, LA, B, LB, M) \
|
||||
__builtin_ia32_pcmpestrm128((A), (LA), (B), (LB), (M))
|
||||
#define _mm_cmpestri(A, LA, B, LB, M) \
|
||||
__builtin_ia32_pcmpestri128((A), (LA), (B), (LB), (M))
|
||||
|
||||
/* SSE4.2 Packed Comparison Intrinsics and EFlag Reading. */
|
||||
#define _mm_cmpistra(A, B, M) \
|
||||
__builtin_ia32_pcmpistria128((A), (B), (M))
|
||||
#define _mm_cmpistrc(A, B, M) \
|
||||
__builtin_ia32_pcmpistric128((A), (B), (M))
|
||||
#define _mm_cmpistro(A, B, M) \
|
||||
__builtin_ia32_pcmpistrio128((A), (B), (M))
|
||||
#define _mm_cmpistrs(A, B, M) \
|
||||
__builtin_ia32_pcmpistris128((A), (B), (M))
|
||||
#define _mm_cmpistrz(A, B, M) \
|
||||
__builtin_ia32_pcmpistriz128((A), (B), (M))
|
||||
|
||||
#define _mm_cmpestra(A, LA, B, LB, M) \
|
||||
__builtin_ia32_pcmpestria128((A), (LA), (B), (LB), (M))
|
||||
#define _mm_cmpestrc(A, LA, B, LB, M) \
|
||||
__builtin_ia32_pcmpestric128((A), (LA), (B), (LB), (M))
|
||||
#define _mm_cmpestro(A, LA, B, LB, M) \
|
||||
__builtin_ia32_pcmpestrio128((A), (LA), (B), (LB), (M))
|
||||
#define _mm_cmpestrs(A, LA, B, LB, M) \
|
||||
__builtin_ia32_pcmpestris128((A), (LA), (B), (LB), (M))
|
||||
#define _mm_cmpestrz(A, LA, B, LB, M) \
|
||||
__builtin_ia32_pcmpestriz128((A), (LA), (B), (LB), (M))
|
||||
|
||||
/* SSE4.2 Compare Packed Data -- Greater Than. */
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cmpgt_epi64(__m128i __V1, __m128i __V2)
|
||||
{
|
||||
return (__m128i)((__v2di)__V1 > (__v2di)__V2);
|
||||
}
|
||||
|
||||
/* SSE4.2 Accumulate CRC32. */
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_crc32_u8(unsigned int __C, unsigned char __D)
|
||||
{
|
||||
return __builtin_ia32_crc32qi(__C, __D);
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_crc32_u16(unsigned int __C, unsigned short __D)
|
||||
{
|
||||
return __builtin_ia32_crc32hi(__C, __D);
|
||||
}
|
||||
|
||||
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_crc32_u32(unsigned int __C, unsigned int __D)
|
||||
{
|
||||
return __builtin_ia32_crc32si(__C, __D);
|
||||
}
|
||||
|
||||
#ifdef __x86_64__
|
||||
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_crc32_u64(unsigned long long __C, unsigned long long __D)
|
||||
{
|
||||
return __builtin_ia32_crc32di(__C, __D);
|
||||
}
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
#ifdef __POPCNT__
|
||||
#include <popcntintrin.h>
|
||||
#endif
|
||||
|
||||
#endif /* __SSE4_2__ */
|
||||
#endif /* __SSE4_1__ */
|
||||
|
||||
#endif /* _SMMINTRIN_H */
|
35
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stdalign.h
Executable file
35
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stdalign.h
Executable file
@ -0,0 +1,35 @@
|
||||
/*===---- stdalign.h - Standard header for alignment ------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __STDALIGN_H
|
||||
#define __STDALIGN_H
|
||||
|
||||
#ifndef __cplusplus
|
||||
#define alignas _Alignas
|
||||
#define alignof _Alignof
|
||||
#endif
|
||||
|
||||
#define __alignas_is_defined 1
|
||||
#define __alignof_is_defined 1
|
||||
|
||||
#endif /* __STDALIGN_H */
|
50
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stdarg.h
Executable file
50
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stdarg.h
Executable file
@ -0,0 +1,50 @@
|
||||
/*===---- stdarg.h - Variable argument handling ----------------------------===
|
||||
*
|
||||
* Copyright (c) 2008 Eli Friedman
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __STDARG_H
|
||||
#define __STDARG_H
|
||||
|
||||
#ifndef _VA_LIST
|
||||
typedef __builtin_va_list va_list;
|
||||
#define _VA_LIST
|
||||
#endif
|
||||
#define va_start(ap, param) __builtin_va_start(ap, param)
|
||||
#define va_end(ap) __builtin_va_end(ap)
|
||||
#define va_arg(ap, type) __builtin_va_arg(ap, type)
|
||||
|
||||
/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
|
||||
* or -ansi is not specified, since it was not part of C90.
|
||||
*/
|
||||
#define __va_copy(d,s) __builtin_va_copy(d,s)
|
||||
|
||||
#if __STDC_VERSION__ >= 199900L || __cplusplus >= 201103L || !defined(__STRICT_ANSI__)
|
||||
#define va_copy(dest, src) __builtin_va_copy(dest, src)
|
||||
#endif
|
||||
|
||||
/* Hack required to make standard headers work, at least on Ubuntu */
|
||||
#define __GNUC_VA_LIST 1
|
||||
typedef __builtin_va_list __gnuc_va_list;
|
||||
|
||||
#endif /* __STDARG_H */
|
44
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stdbool.h
Executable file
44
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stdbool.h
Executable file
@ -0,0 +1,44 @@
|
||||
/*===---- stdbool.h - Standard header for booleans -------------------------===
|
||||
*
|
||||
* Copyright (c) 2008 Eli Friedman
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __STDBOOL_H
|
||||
#define __STDBOOL_H
|
||||
|
||||
/* Don't define bool, true, and false in C++, except as a GNU extension. */
|
||||
#ifndef __cplusplus
|
||||
#define bool _Bool
|
||||
#define true 1
|
||||
#define false 0
|
||||
#elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
||||
/* Define _Bool, bool, false, true as a GNU extension. */
|
||||
#define _Bool bool
|
||||
#define bool bool
|
||||
#define false false
|
||||
#define true true
|
||||
#endif
|
||||
|
||||
#define __bool_true_false_are_defined 1
|
||||
|
||||
#endif /* __STDBOOL_H */
|
102
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stddef.h
Executable file
102
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stddef.h
Executable file
@ -0,0 +1,102 @@
|
||||
/*===---- stddef.h - Basic type definitions --------------------------------===
|
||||
*
|
||||
* Copyright (c) 2008 Eli Friedman
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __STDDEF_H
|
||||
#define __STDDEF_H
|
||||
|
||||
#if !defined(_PTRDIFF_T) || __has_feature(modules)
|
||||
/* Always define ptrdiff_t when modules are available. */
|
||||
#if !__has_feature(modules)
|
||||
#define _PTRDIFF_T
|
||||
#endif
|
||||
typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
||||
#endif
|
||||
|
||||
#if !defined(_SIZE_T) || __has_feature(modules)
|
||||
/* Always define size_t when modules are available. */
|
||||
#if !__has_feature(modules)
|
||||
#define _SIZE_T
|
||||
#endif
|
||||
typedef __SIZE_TYPE__ size_t;
|
||||
#endif
|
||||
|
||||
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
|
||||
* enabled. */
|
||||
#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
|
||||
!defined(_RSIZE_T)) || __has_feature(modules)
|
||||
/* Always define rsize_t when modules are available. */
|
||||
#if !__has_feature(modules)
|
||||
#define _RSIZE_T
|
||||
#endif
|
||||
typedef __SIZE_TYPE__ rsize_t;
|
||||
#endif
|
||||
|
||||
#ifndef __cplusplus
|
||||
/* Always define wchar_t when modules are available. */
|
||||
#if !defined(_WCHAR_T) || __has_feature(modules)
|
||||
#if !__has_feature(modules)
|
||||
#define _WCHAR_T
|
||||
#if defined(_MSC_EXTENSIONS)
|
||||
#define _WCHAR_T_DEFINED
|
||||
#endif
|
||||
#endif
|
||||
typedef __WCHAR_TYPE__ wchar_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef NULL
|
||||
#ifdef __cplusplus
|
||||
# if !defined(__MINGW32__) && !defined(_MSC_VER)
|
||||
# define NULL __null
|
||||
# else
|
||||
# define NULL 0
|
||||
# endif
|
||||
#else
|
||||
# define NULL ((void*)0)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
|
||||
namespace std { typedef decltype(nullptr) nullptr_t; }
|
||||
using ::std::nullptr_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define offsetof(t, d) __builtin_offsetof(t, d)
|
||||
|
||||
#endif /* __STDDEF_H */
|
||||
|
||||
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
|
||||
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
|
||||
#if defined(__need_wint_t)
|
||||
/* Always define wint_t when modules are available. */
|
||||
#if !defined(_WINT_T) || __has_feature(modules)
|
||||
#if !__has_feature(modules)
|
||||
#define _WINT_T
|
||||
#endif
|
||||
typedef __WINT_TYPE__ wint_t;
|
||||
#endif
|
||||
#undef __need_wint_t
|
||||
#endif /* __need_wint_t */
|
708
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stdint.h
Executable file
708
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stdint.h
Executable file
@ -0,0 +1,708 @@
|
||||
/*===---- stdint.h - Standard header for sized integer types --------------===*\
|
||||
*
|
||||
* Copyright (c) 2009 Chris Lattner
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
\*===----------------------------------------------------------------------===*/
|
||||
|
||||
#ifndef __CLANG_STDINT_H
|
||||
#define __CLANG_STDINT_H
|
||||
|
||||
/* If we're hosted, fall back to the system's stdint.h, which might have
|
||||
* additional definitions.
|
||||
*/
|
||||
#if __STDC_HOSTED__ && \
|
||||
defined(__has_include_next) && __has_include_next(<stdint.h>)
|
||||
|
||||
// C99 7.18.3 Limits of other integer types
|
||||
//
|
||||
// Footnote 219, 220: C++ implementations should define these macros only when
|
||||
// __STDC_LIMIT_MACROS is defined before <stdint.h> is included.
|
||||
//
|
||||
// Footnote 222: C++ implementations should define these macros only when
|
||||
// __STDC_CONSTANT_MACROS is defined before <stdint.h> is included.
|
||||
//
|
||||
// C++11 [cstdint.syn]p2:
|
||||
//
|
||||
// The macros defined by <cstdint> are provided unconditionally. In particular,
|
||||
// the symbols __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS (mentioned in
|
||||
// footnotes 219, 220, and 222 in the C standard) play no role in C++.
|
||||
//
|
||||
// C11 removed the problematic footnotes.
|
||||
//
|
||||
// Work around this inconsistency by always defining those macros in C++ mode,
|
||||
// so that a C library implementation which follows the C99 standard can be
|
||||
// used in C++.
|
||||
# ifdef __cplusplus
|
||||
# if !defined(__STDC_LIMIT_MACROS)
|
||||
# define __STDC_LIMIT_MACROS
|
||||
# define __STDC_LIMIT_MACROS_DEFINED_BY_CLANG
|
||||
# endif
|
||||
# if !defined(__STDC_CONSTANT_MACROS)
|
||||
# define __STDC_CONSTANT_MACROS
|
||||
# define __STDC_CONSTANT_MACROS_DEFINED_BY_CLANG
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# include_next <stdint.h>
|
||||
|
||||
# ifdef __STDC_LIMIT_MACROS_DEFINED_BY_CLANG
|
||||
# undef __STDC_LIMIT_MACROS
|
||||
# undef __STDC_LIMIT_MACROS_DEFINED_BY_CLANG
|
||||
# endif
|
||||
# ifdef __STDC_CONSTANT_MACROS_DEFINED_BY_CLANG
|
||||
# undef __STDC_CONSTANT_MACROS
|
||||
# undef __STDC_CONSTANT_MACROS_DEFINED_BY_CLANG
|
||||
# endif
|
||||
|
||||
#else
|
||||
|
||||
/* C99 7.18.1.1 Exact-width integer types.
|
||||
* C99 7.18.1.2 Minimum-width integer types.
|
||||
* C99 7.18.1.3 Fastest minimum-width integer types.
|
||||
*
|
||||
* The standard requires that exact-width type be defined for 8-, 16-, 32-, and
|
||||
* 64-bit types if they are implemented. Other exact width types are optional.
|
||||
* This implementation defines an exact-width types for every integer width
|
||||
* that is represented in the standard integer types.
|
||||
*
|
||||
* The standard also requires minimum-width types be defined for 8-, 16-, 32-,
|
||||
* and 64-bit widths regardless of whether there are corresponding exact-width
|
||||
* types.
|
||||
*
|
||||
* To accommodate targets that are missing types that are exactly 8, 16, 32, or
|
||||
* 64 bits wide, this implementation takes an approach of cascading
|
||||
* redefintions, redefining __int_leastN_t to successively smaller exact-width
|
||||
* types. It is therefore important that the types are defined in order of
|
||||
* descending widths.
|
||||
*
|
||||
* We currently assume that the minimum-width types and the fastest
|
||||
* minimum-width types are the same. This is allowed by the standard, but is
|
||||
* suboptimal.
|
||||
*
|
||||
* In violation of the standard, some targets do not implement a type that is
|
||||
* wide enough to represent all of the required widths (8-, 16-, 32-, 64-bit).
|
||||
* To accommodate these targets, a required minimum-width type is only
|
||||
* defined if there exists an exact-width type of equal or greater width.
|
||||
*/
|
||||
|
||||
#ifdef __INT64_TYPE__
|
||||
# ifndef __int8_t_defined /* glibc sys/types.h also defines int64_t*/
|
||||
typedef signed __INT64_TYPE__ int64_t;
|
||||
# endif /* __int8_t_defined */
|
||||
typedef unsigned __INT64_TYPE__ uint64_t;
|
||||
# define __int_least64_t int64_t
|
||||
# define __uint_least64_t uint64_t
|
||||
# define __int_least32_t int64_t
|
||||
# define __uint_least32_t uint64_t
|
||||
# define __int_least16_t int64_t
|
||||
# define __uint_least16_t uint64_t
|
||||
# define __int_least8_t int64_t
|
||||
# define __uint_least8_t uint64_t
|
||||
#endif /* __INT64_TYPE__ */
|
||||
|
||||
#ifdef __int_least64_t
|
||||
typedef __int_least64_t int_least64_t;
|
||||
typedef __uint_least64_t uint_least64_t;
|
||||
typedef __int_least64_t int_fast64_t;
|
||||
typedef __uint_least64_t uint_fast64_t;
|
||||
#endif /* __int_least64_t */
|
||||
|
||||
#ifdef __INT56_TYPE__
|
||||
typedef signed __INT56_TYPE__ int56_t;
|
||||
typedef unsigned __INT56_TYPE__ uint56_t;
|
||||
typedef int56_t int_least56_t;
|
||||
typedef uint56_t uint_least56_t;
|
||||
typedef int56_t int_fast56_t;
|
||||
typedef uint56_t uint_fast56_t;
|
||||
# define __int_least32_t int56_t
|
||||
# define __uint_least32_t uint56_t
|
||||
# define __int_least16_t int56_t
|
||||
# define __uint_least16_t uint56_t
|
||||
# define __int_least8_t int56_t
|
||||
# define __uint_least8_t uint56_t
|
||||
#endif /* __INT56_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT48_TYPE__
|
||||
typedef signed __INT48_TYPE__ int48_t;
|
||||
typedef unsigned __INT48_TYPE__ uint48_t;
|
||||
typedef int48_t int_least48_t;
|
||||
typedef uint48_t uint_least48_t;
|
||||
typedef int48_t int_fast48_t;
|
||||
typedef uint48_t uint_fast48_t;
|
||||
# define __int_least32_t int48_t
|
||||
# define __uint_least32_t uint48_t
|
||||
# define __int_least16_t int48_t
|
||||
# define __uint_least16_t uint48_t
|
||||
# define __int_least8_t int48_t
|
||||
# define __uint_least8_t uint48_t
|
||||
#endif /* __INT48_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT40_TYPE__
|
||||
typedef signed __INT40_TYPE__ int40_t;
|
||||
typedef unsigned __INT40_TYPE__ uint40_t;
|
||||
typedef int40_t int_least40_t;
|
||||
typedef uint40_t uint_least40_t;
|
||||
typedef int40_t int_fast40_t;
|
||||
typedef uint40_t uint_fast40_t;
|
||||
# define __int_least32_t int40_t
|
||||
# define __uint_least32_t uint40_t
|
||||
# define __int_least16_t int40_t
|
||||
# define __uint_least16_t uint40_t
|
||||
# define __int_least8_t int40_t
|
||||
# define __uint_least8_t uint40_t
|
||||
#endif /* __INT40_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT32_TYPE__
|
||||
|
||||
# ifndef __int8_t_defined /* glibc sys/types.h also defines int32_t*/
|
||||
typedef signed __INT32_TYPE__ int32_t;
|
||||
# endif /* __int8_t_defined */
|
||||
|
||||
# ifndef __uint32_t_defined /* more glibc compatibility */
|
||||
# define __uint32_t_defined
|
||||
typedef unsigned __INT32_TYPE__ uint32_t;
|
||||
# endif /* __uint32_t_defined */
|
||||
|
||||
# define __int_least32_t int32_t
|
||||
# define __uint_least32_t uint32_t
|
||||
# define __int_least16_t int32_t
|
||||
# define __uint_least16_t uint32_t
|
||||
# define __int_least8_t int32_t
|
||||
# define __uint_least8_t uint32_t
|
||||
#endif /* __INT32_TYPE__ */
|
||||
|
||||
#ifdef __int_least32_t
|
||||
typedef __int_least32_t int_least32_t;
|
||||
typedef __uint_least32_t uint_least32_t;
|
||||
typedef __int_least32_t int_fast32_t;
|
||||
typedef __uint_least32_t uint_fast32_t;
|
||||
#endif /* __int_least32_t */
|
||||
|
||||
#ifdef __INT24_TYPE__
|
||||
typedef signed __INT24_TYPE__ int24_t;
|
||||
typedef unsigned __INT24_TYPE__ uint24_t;
|
||||
typedef int24_t int_least24_t;
|
||||
typedef uint24_t uint_least24_t;
|
||||
typedef int24_t int_fast24_t;
|
||||
typedef uint24_t uint_fast24_t;
|
||||
# define __int_least16_t int24_t
|
||||
# define __uint_least16_t uint24_t
|
||||
# define __int_least8_t int24_t
|
||||
# define __uint_least8_t uint24_t
|
||||
#endif /* __INT24_TYPE__ */
|
||||
|
||||
#ifdef __INT16_TYPE__
|
||||
#ifndef __int8_t_defined /* glibc sys/types.h also defines int16_t*/
|
||||
typedef signed __INT16_TYPE__ int16_t;
|
||||
#endif /* __int8_t_defined */
|
||||
typedef unsigned __INT16_TYPE__ uint16_t;
|
||||
# define __int_least16_t int16_t
|
||||
# define __uint_least16_t uint16_t
|
||||
# define __int_least8_t int16_t
|
||||
# define __uint_least8_t uint16_t
|
||||
#endif /* __INT16_TYPE__ */
|
||||
|
||||
#ifdef __int_least16_t
|
||||
typedef __int_least16_t int_least16_t;
|
||||
typedef __uint_least16_t uint_least16_t;
|
||||
typedef __int_least16_t int_fast16_t;
|
||||
typedef __uint_least16_t uint_fast16_t;
|
||||
#endif /* __int_least16_t */
|
||||
|
||||
|
||||
#ifdef __INT8_TYPE__
|
||||
#ifndef __int8_t_defined /* glibc sys/types.h also defines int8_t*/
|
||||
typedef signed __INT8_TYPE__ int8_t;
|
||||
#endif /* __int8_t_defined */
|
||||
typedef unsigned __INT8_TYPE__ uint8_t;
|
||||
# define __int_least8_t int8_t
|
||||
# define __uint_least8_t uint8_t
|
||||
#endif /* __INT8_TYPE__ */
|
||||
|
||||
#ifdef __int_least8_t
|
||||
typedef __int_least8_t int_least8_t;
|
||||
typedef __uint_least8_t uint_least8_t;
|
||||
typedef __int_least8_t int_fast8_t;
|
||||
typedef __uint_least8_t uint_fast8_t;
|
||||
#endif /* __int_least8_t */
|
||||
|
||||
/* prevent glibc sys/types.h from defining conflicting types */
|
||||
#ifndef __int8_t_defined
|
||||
# define __int8_t_defined
|
||||
#endif /* __int8_t_defined */
|
||||
|
||||
/* C99 7.18.1.4 Integer types capable of holding object pointers.
|
||||
*/
|
||||
#define __stdint_join3(a,b,c) a ## b ## c
|
||||
|
||||
#define __intn_t(n) __stdint_join3( int, n, _t)
|
||||
#define __uintn_t(n) __stdint_join3(uint, n, _t)
|
||||
|
||||
#ifndef _INTPTR_T
|
||||
#ifndef __intptr_t_defined
|
||||
typedef __intn_t(__INTPTR_WIDTH__) intptr_t;
|
||||
#define __intptr_t_defined
|
||||
#define _INTPTR_T
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _UINTPTR_T
|
||||
typedef __uintn_t(__INTPTR_WIDTH__) uintptr_t;
|
||||
#define _UINTPTR_T
|
||||
#endif
|
||||
|
||||
/* C99 7.18.1.5 Greatest-width integer types.
|
||||
*/
|
||||
typedef __INTMAX_TYPE__ intmax_t;
|
||||
typedef __UINTMAX_TYPE__ uintmax_t;
|
||||
|
||||
/* C99 7.18.4 Macros for minimum-width integer constants.
|
||||
*
|
||||
* The standard requires that integer constant macros be defined for all the
|
||||
* minimum-width types defined above. As 8-, 16-, 32-, and 64-bit minimum-width
|
||||
* types are required, the corresponding integer constant macros are defined
|
||||
* here. This implementation also defines minimum-width types for every other
|
||||
* integer width that the target implements, so corresponding macros are
|
||||
* defined below, too.
|
||||
*
|
||||
* These macros are defined using the same successive-shrinking approach as
|
||||
* the type definitions above. It is likewise important that macros are defined
|
||||
* in order of decending width.
|
||||
*
|
||||
* Note that C++ should not check __STDC_CONSTANT_MACROS here, contrary to the
|
||||
* claims of the C standard (see C++ 18.3.1p2, [cstdint.syn]).
|
||||
*/
|
||||
|
||||
#define __int_c_join(a, b) a ## b
|
||||
#define __int_c(v, suffix) __int_c_join(v, suffix)
|
||||
#define __uint_c(v, suffix) __int_c_join(v##U, suffix)
|
||||
|
||||
|
||||
#ifdef __INT64_TYPE__
|
||||
# ifdef __INT64_C_SUFFIX__
|
||||
# define __int64_c_suffix __INT64_C_SUFFIX__
|
||||
# define __int32_c_suffix __INT64_C_SUFFIX__
|
||||
# define __int16_c_suffix __INT64_C_SUFFIX__
|
||||
# define __int8_c_suffix __INT64_C_SUFFIX__
|
||||
# else
|
||||
# undef __int64_c_suffix
|
||||
# undef __int32_c_suffix
|
||||
# undef __int16_c_suffix
|
||||
# undef __int8_c_suffix
|
||||
# endif /* __INT64_C_SUFFIX__ */
|
||||
#endif /* __INT64_TYPE__ */
|
||||
|
||||
#ifdef __int_least64_t
|
||||
# ifdef __int64_c_suffix
|
||||
# define INT64_C(v) __int_c(v, __int64_c_suffix)
|
||||
# define UINT64_C(v) __uint_c(v, __int64_c_suffix)
|
||||
# else
|
||||
# define INT64_C(v) v
|
||||
# define UINT64_C(v) v ## U
|
||||
# endif /* __int64_c_suffix */
|
||||
#endif /* __int_least64_t */
|
||||
|
||||
|
||||
#ifdef __INT56_TYPE__
|
||||
# ifdef __INT56_C_SUFFIX__
|
||||
# define INT56_C(v) __int_c(v, __INT56_C_SUFFIX__)
|
||||
# define UINT56_C(v) __uint_c(v, __INT56_C_SUFFIX__)
|
||||
# define __int32_c_suffix __INT56_C_SUFFIX__
|
||||
# define __int16_c_suffix __INT56_C_SUFFIX__
|
||||
# define __int8_c_suffix __INT56_C_SUFFIX__
|
||||
# else
|
||||
# define INT56_C(v) v
|
||||
# define UINT56_C(v) v ## U
|
||||
# undef __int32_c_suffix
|
||||
# undef __int16_c_suffix
|
||||
# undef __int8_c_suffix
|
||||
# endif /* __INT56_C_SUFFIX__ */
|
||||
#endif /* __INT56_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT48_TYPE__
|
||||
# ifdef __INT48_C_SUFFIX__
|
||||
# define INT48_C(v) __int_c(v, __INT48_C_SUFFIX__)
|
||||
# define UINT48_C(v) __uint_c(v, __INT48_C_SUFFIX__)
|
||||
# define __int32_c_suffix __INT48_C_SUFFIX__
|
||||
# define __int16_c_suffix __INT48_C_SUFFIX__
|
||||
# define __int8_c_suffix __INT48_C_SUFFIX__
|
||||
# else
|
||||
# define INT48_C(v) v
|
||||
# define UINT48_C(v) v ## U
|
||||
# undef __int32_c_suffix
|
||||
# undef __int16_c_suffix
|
||||
# undef __int8_c_suffix
|
||||
# endif /* __INT48_C_SUFFIX__ */
|
||||
#endif /* __INT48_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT40_TYPE__
|
||||
# ifdef __INT40_C_SUFFIX__
|
||||
# define INT40_C(v) __int_c(v, __INT40_C_SUFFIX__)
|
||||
# define UINT40_C(v) __uint_c(v, __INT40_C_SUFFIX__)
|
||||
# define __int32_c_suffix __INT40_C_SUFFIX__
|
||||
# define __int16_c_suffix __INT40_C_SUFFIX__
|
||||
# define __int8_c_suffix __INT40_C_SUFFIX__
|
||||
# else
|
||||
# define INT40_C(v) v
|
||||
# define UINT40_C(v) v ## U
|
||||
# undef __int32_c_suffix
|
||||
# undef __int16_c_suffix
|
||||
# undef __int8_c_suffix
|
||||
# endif /* __INT40_C_SUFFIX__ */
|
||||
#endif /* __INT40_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT32_TYPE__
|
||||
# ifdef __INT32_C_SUFFIX__
|
||||
# define __int32_c_suffix __INT32_C_SUFFIX__
|
||||
# define __int16_c_suffix __INT32_C_SUFFIX__
|
||||
# define __int8_c_suffix __INT32_C_SUFFIX__
|
||||
#else
|
||||
# undef __int32_c_suffix
|
||||
# undef __int16_c_suffix
|
||||
# undef __int8_c_suffix
|
||||
# endif /* __INT32_C_SUFFIX__ */
|
||||
#endif /* __INT32_TYPE__ */
|
||||
|
||||
#ifdef __int_least32_t
|
||||
# ifdef __int32_c_suffix
|
||||
# define INT32_C(v) __int_c(v, __int32_c_suffix)
|
||||
# define UINT32_C(v) __uint_c(v, __int32_c_suffix)
|
||||
# else
|
||||
# define INT32_C(v) v
|
||||
# define UINT32_C(v) v ## U
|
||||
# endif /* __int32_c_suffix */
|
||||
#endif /* __int_least32_t */
|
||||
|
||||
|
||||
#ifdef __INT24_TYPE__
|
||||
# ifdef __INT24_C_SUFFIX__
|
||||
# define INT24_C(v) __int_c(v, __INT24_C_SUFFIX__)
|
||||
# define UINT24_C(v) __uint_c(v, __INT24_C_SUFFIX__)
|
||||
# define __int16_c_suffix __INT24_C_SUFFIX__
|
||||
# define __int8_c_suffix __INT24_C_SUFFIX__
|
||||
# else
|
||||
# define INT24_C(v) v
|
||||
# define UINT24_C(v) v ## U
|
||||
# undef __int16_c_suffix
|
||||
# undef __int8_c_suffix
|
||||
# endif /* __INT24_C_SUFFIX__ */
|
||||
#endif /* __INT24_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT16_TYPE__
|
||||
# ifdef __INT16_C_SUFFIX__
|
||||
# define __int16_c_suffix __INT16_C_SUFFIX__
|
||||
# define __int8_c_suffix __INT16_C_SUFFIX__
|
||||
#else
|
||||
# undef __int16_c_suffix
|
||||
# undef __int8_c_suffix
|
||||
# endif /* __INT16_C_SUFFIX__ */
|
||||
#endif /* __INT16_TYPE__ */
|
||||
|
||||
#ifdef __int_least16_t
|
||||
# ifdef __int16_c_suffix
|
||||
# define INT16_C(v) __int_c(v, __int16_c_suffix)
|
||||
# define UINT16_C(v) __uint_c(v, __int16_c_suffix)
|
||||
# else
|
||||
# define INT16_C(v) v
|
||||
# define UINT16_C(v) v ## U
|
||||
# endif /* __int16_c_suffix */
|
||||
#endif /* __int_least16_t */
|
||||
|
||||
|
||||
#ifdef __INT8_TYPE__
|
||||
# ifdef __INT8_C_SUFFIX__
|
||||
# define __int8_c_suffix __INT8_C_SUFFIX__
|
||||
#else
|
||||
# undef __int8_c_suffix
|
||||
# endif /* __INT8_C_SUFFIX__ */
|
||||
#endif /* __INT8_TYPE__ */
|
||||
|
||||
#ifdef __int_least8_t
|
||||
# ifdef __int8_c_suffix
|
||||
# define INT8_C(v) __int_c(v, __int8_c_suffix)
|
||||
# define UINT8_C(v) __uint_c(v, __int8_c_suffix)
|
||||
# else
|
||||
# define INT8_C(v) v
|
||||
# define UINT8_C(v) v ## U
|
||||
# endif /* __int8_c_suffix */
|
||||
#endif /* __int_least8_t */
|
||||
|
||||
|
||||
/* C99 7.18.2.1 Limits of exact-width integer types.
|
||||
* C99 7.18.2.2 Limits of minimum-width integer types.
|
||||
* C99 7.18.2.3 Limits of fastest minimum-width integer types.
|
||||
*
|
||||
* The presence of limit macros are completely optional in C99. This
|
||||
* implementation defines limits for all of the types (exact- and
|
||||
* minimum-width) that it defines above, using the limits of the minimum-width
|
||||
* type for any types that do not have exact-width representations.
|
||||
*
|
||||
* As in the type definitions, this section takes an approach of
|
||||
* successive-shrinking to determine which limits to use for the standard (8,
|
||||
* 16, 32, 64) bit widths when they don't have exact representations. It is
|
||||
* therefore important that the defintions be kept in order of decending
|
||||
* widths.
|
||||
*
|
||||
* Note that C++ should not check __STDC_LIMIT_MACROS here, contrary to the
|
||||
* claims of the C standard (see C++ 18.3.1p2, [cstdint.syn]).
|
||||
*/
|
||||
|
||||
#ifdef __INT64_TYPE__
|
||||
# define INT64_MAX INT64_C( 9223372036854775807)
|
||||
# define INT64_MIN (-INT64_C( 9223372036854775807)-1)
|
||||
# define UINT64_MAX UINT64_C(18446744073709551615)
|
||||
# define __INT_LEAST64_MIN INT64_MIN
|
||||
# define __INT_LEAST64_MAX INT64_MAX
|
||||
# define __UINT_LEAST64_MAX UINT64_MAX
|
||||
# define __INT_LEAST32_MIN INT64_MIN
|
||||
# define __INT_LEAST32_MAX INT64_MAX
|
||||
# define __UINT_LEAST32_MAX UINT64_MAX
|
||||
# define __INT_LEAST16_MIN INT64_MIN
|
||||
# define __INT_LEAST16_MAX INT64_MAX
|
||||
# define __UINT_LEAST16_MAX UINT64_MAX
|
||||
# define __INT_LEAST8_MIN INT64_MIN
|
||||
# define __INT_LEAST8_MAX INT64_MAX
|
||||
# define __UINT_LEAST8_MAX UINT64_MAX
|
||||
#endif /* __INT64_TYPE__ */
|
||||
|
||||
#ifdef __INT_LEAST64_MIN
|
||||
# define INT_LEAST64_MIN __INT_LEAST64_MIN
|
||||
# define INT_LEAST64_MAX __INT_LEAST64_MAX
|
||||
# define UINT_LEAST64_MAX __UINT_LEAST64_MAX
|
||||
# define INT_FAST64_MIN __INT_LEAST64_MIN
|
||||
# define INT_FAST64_MAX __INT_LEAST64_MAX
|
||||
# define UINT_FAST64_MAX __UINT_LEAST64_MAX
|
||||
#endif /* __INT_LEAST64_MIN */
|
||||
|
||||
|
||||
#ifdef __INT56_TYPE__
|
||||
# define INT56_MAX INT56_C(36028797018963967)
|
||||
# define INT56_MIN (-INT56_C(36028797018963967)-1)
|
||||
# define UINT56_MAX UINT56_C(72057594037927935)
|
||||
# define INT_LEAST56_MIN INT56_MIN
|
||||
# define INT_LEAST56_MAX INT56_MAX
|
||||
# define UINT_LEAST56_MAX UINT56_MAX
|
||||
# define INT_FAST56_MIN INT56_MIN
|
||||
# define INT_FAST56_MAX INT56_MAX
|
||||
# define UINT_FAST56_MAX UINT56_MAX
|
||||
# define __INT_LEAST32_MIN INT56_MIN
|
||||
# define __INT_LEAST32_MAX INT56_MAX
|
||||
# define __UINT_LEAST32_MAX UINT56_MAX
|
||||
# define __INT_LEAST16_MIN INT56_MIN
|
||||
# define __INT_LEAST16_MAX INT56_MAX
|
||||
# define __UINT_LEAST16_MAX UINT56_MAX
|
||||
# define __INT_LEAST8_MIN INT56_MIN
|
||||
# define __INT_LEAST8_MAX INT56_MAX
|
||||
# define __UINT_LEAST8_MAX UINT56_MAX
|
||||
#endif /* __INT56_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT48_TYPE__
|
||||
# define INT48_MAX INT48_C(140737488355327)
|
||||
# define INT48_MIN (-INT48_C(140737488355327)-1)
|
||||
# define UINT48_MAX UINT48_C(281474976710655)
|
||||
# define INT_LEAST48_MIN INT48_MIN
|
||||
# define INT_LEAST48_MAX INT48_MAX
|
||||
# define UINT_LEAST48_MAX UINT48_MAX
|
||||
# define INT_FAST48_MIN INT48_MIN
|
||||
# define INT_FAST48_MAX INT48_MAX
|
||||
# define UINT_FAST48_MAX UINT48_MAX
|
||||
# define __INT_LEAST32_MIN INT48_MIN
|
||||
# define __INT_LEAST32_MAX INT48_MAX
|
||||
# define __UINT_LEAST32_MAX UINT48_MAX
|
||||
# define __INT_LEAST16_MIN INT48_MIN
|
||||
# define __INT_LEAST16_MAX INT48_MAX
|
||||
# define __UINT_LEAST16_MAX UINT48_MAX
|
||||
# define __INT_LEAST8_MIN INT48_MIN
|
||||
# define __INT_LEAST8_MAX INT48_MAX
|
||||
# define __UINT_LEAST8_MAX UINT48_MAX
|
||||
#endif /* __INT48_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT40_TYPE__
|
||||
# define INT40_MAX INT40_C(549755813887)
|
||||
# define INT40_MIN (-INT40_C(549755813887)-1)
|
||||
# define UINT40_MAX UINT40_C(1099511627775)
|
||||
# define INT_LEAST40_MIN INT40_MIN
|
||||
# define INT_LEAST40_MAX INT40_MAX
|
||||
# define UINT_LEAST40_MAX UINT40_MAX
|
||||
# define INT_FAST40_MIN INT40_MIN
|
||||
# define INT_FAST40_MAX INT40_MAX
|
||||
# define UINT_FAST40_MAX UINT40_MAX
|
||||
# define __INT_LEAST32_MIN INT40_MIN
|
||||
# define __INT_LEAST32_MAX INT40_MAX
|
||||
# define __UINT_LEAST32_MAX UINT40_MAX
|
||||
# define __INT_LEAST16_MIN INT40_MIN
|
||||
# define __INT_LEAST16_MAX INT40_MAX
|
||||
# define __UINT_LEAST16_MAX UINT40_MAX
|
||||
# define __INT_LEAST8_MIN INT40_MIN
|
||||
# define __INT_LEAST8_MAX INT40_MAX
|
||||
# define __UINT_LEAST8_MAX UINT40_MAX
|
||||
#endif /* __INT40_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT32_TYPE__
|
||||
# define INT32_MAX INT32_C(2147483647)
|
||||
# define INT32_MIN (-INT32_C(2147483647)-1)
|
||||
# define UINT32_MAX UINT32_C(4294967295)
|
||||
# define __INT_LEAST32_MIN INT32_MIN
|
||||
# define __INT_LEAST32_MAX INT32_MAX
|
||||
# define __UINT_LEAST32_MAX UINT32_MAX
|
||||
# define __INT_LEAST16_MIN INT32_MIN
|
||||
# define __INT_LEAST16_MAX INT32_MAX
|
||||
# define __UINT_LEAST16_MAX UINT32_MAX
|
||||
# define __INT_LEAST8_MIN INT32_MIN
|
||||
# define __INT_LEAST8_MAX INT32_MAX
|
||||
# define __UINT_LEAST8_MAX UINT32_MAX
|
||||
#endif /* __INT32_TYPE__ */
|
||||
|
||||
#ifdef __INT_LEAST32_MIN
|
||||
# define INT_LEAST32_MIN __INT_LEAST32_MIN
|
||||
# define INT_LEAST32_MAX __INT_LEAST32_MAX
|
||||
# define UINT_LEAST32_MAX __UINT_LEAST32_MAX
|
||||
# define INT_FAST32_MIN __INT_LEAST32_MIN
|
||||
# define INT_FAST32_MAX __INT_LEAST32_MAX
|
||||
# define UINT_FAST32_MAX __UINT_LEAST32_MAX
|
||||
#endif /* __INT_LEAST32_MIN */
|
||||
|
||||
|
||||
#ifdef __INT24_TYPE__
|
||||
# define INT24_MAX INT24_C(8388607)
|
||||
# define INT24_MIN (-INT24_C(8388607)-1)
|
||||
# define UINT24_MAX UINT24_C(16777215)
|
||||
# define INT_LEAST24_MIN INT24_MIN
|
||||
# define INT_LEAST24_MAX INT24_MAX
|
||||
# define UINT_LEAST24_MAX UINT24_MAX
|
||||
# define INT_FAST24_MIN INT24_MIN
|
||||
# define INT_FAST24_MAX INT24_MAX
|
||||
# define UINT_FAST24_MAX UINT24_MAX
|
||||
# define __INT_LEAST16_MIN INT24_MIN
|
||||
# define __INT_LEAST16_MAX INT24_MAX
|
||||
# define __UINT_LEAST16_MAX UINT24_MAX
|
||||
# define __INT_LEAST8_MIN INT24_MIN
|
||||
# define __INT_LEAST8_MAX INT24_MAX
|
||||
# define __UINT_LEAST8_MAX UINT24_MAX
|
||||
#endif /* __INT24_TYPE__ */
|
||||
|
||||
|
||||
#ifdef __INT16_TYPE__
|
||||
#define INT16_MAX INT16_C(32767)
|
||||
#define INT16_MIN (-INT16_C(32767)-1)
|
||||
#define UINT16_MAX UINT16_C(65535)
|
||||
# define __INT_LEAST16_MIN INT16_MIN
|
||||
# define __INT_LEAST16_MAX INT16_MAX
|
||||
# define __UINT_LEAST16_MAX UINT16_MAX
|
||||
# define __INT_LEAST8_MIN INT16_MIN
|
||||
# define __INT_LEAST8_MAX INT16_MAX
|
||||
# define __UINT_LEAST8_MAX UINT16_MAX
|
||||
#endif /* __INT16_TYPE__ */
|
||||
|
||||
#ifdef __INT_LEAST16_MIN
|
||||
# define INT_LEAST16_MIN __INT_LEAST16_MIN
|
||||
# define INT_LEAST16_MAX __INT_LEAST16_MAX
|
||||
# define UINT_LEAST16_MAX __UINT_LEAST16_MAX
|
||||
# define INT_FAST16_MIN __INT_LEAST16_MIN
|
||||
# define INT_FAST16_MAX __INT_LEAST16_MAX
|
||||
# define UINT_FAST16_MAX __UINT_LEAST16_MAX
|
||||
#endif /* __INT_LEAST16_MIN */
|
||||
|
||||
|
||||
#ifdef __INT8_TYPE__
|
||||
# define INT8_MAX INT8_C(127)
|
||||
# define INT8_MIN (-INT8_C(127)-1)
|
||||
# define UINT8_MAX UINT8_C(255)
|
||||
# define __INT_LEAST8_MIN INT8_MIN
|
||||
# define __INT_LEAST8_MAX INT8_MAX
|
||||
# define __UINT_LEAST8_MAX UINT8_MAX
|
||||
#endif /* __INT8_TYPE__ */
|
||||
|
||||
#ifdef __INT_LEAST8_MIN
|
||||
# define INT_LEAST8_MIN __INT_LEAST8_MIN
|
||||
# define INT_LEAST8_MAX __INT_LEAST8_MAX
|
||||
# define UINT_LEAST8_MAX __UINT_LEAST8_MAX
|
||||
# define INT_FAST8_MIN __INT_LEAST8_MIN
|
||||
# define INT_FAST8_MAX __INT_LEAST8_MAX
|
||||
# define UINT_FAST8_MAX __UINT_LEAST8_MAX
|
||||
#endif /* __INT_LEAST8_MIN */
|
||||
|
||||
/* Some utility macros */
|
||||
#define __INTN_MIN(n) __stdint_join3( INT, n, _MIN)
|
||||
#define __INTN_MAX(n) __stdint_join3( INT, n, _MAX)
|
||||
#define __UINTN_MAX(n) __stdint_join3(UINT, n, _MAX)
|
||||
#define __INTN_C(n, v) __stdint_join3( INT, n, _C(v))
|
||||
#define __UINTN_C(n, v) __stdint_join3(UINT, n, _C(v))
|
||||
|
||||
/* C99 7.18.2.4 Limits of integer types capable of holding object pointers. */
|
||||
/* C99 7.18.3 Limits of other integer types. */
|
||||
|
||||
#define INTPTR_MIN __INTN_MIN(__INTPTR_WIDTH__)
|
||||
#define INTPTR_MAX __INTN_MAX(__INTPTR_WIDTH__)
|
||||
#define UINTPTR_MAX __UINTN_MAX(__INTPTR_WIDTH__)
|
||||
#define PTRDIFF_MIN __INTN_MIN(__PTRDIFF_WIDTH__)
|
||||
#define PTRDIFF_MAX __INTN_MAX(__PTRDIFF_WIDTH__)
|
||||
#define SIZE_MAX __UINTN_MAX(__SIZE_WIDTH__)
|
||||
|
||||
/* ISO9899:2011 7.20 (C11 Annex K): Define RSIZE_MAX if __STDC_WANT_LIB_EXT1__
|
||||
* is enabled. */
|
||||
#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1
|
||||
#define RSIZE_MAX (SIZE_MAX >> 1)
|
||||
#endif
|
||||
|
||||
/* C99 7.18.2.5 Limits of greatest-width integer types. */
|
||||
#define INTMAX_MIN __INTN_MIN(__INTMAX_WIDTH__)
|
||||
#define INTMAX_MAX __INTN_MAX(__INTMAX_WIDTH__)
|
||||
#define UINTMAX_MAX __UINTN_MAX(__INTMAX_WIDTH__)
|
||||
|
||||
/* C99 7.18.3 Limits of other integer types. */
|
||||
#define SIG_ATOMIC_MIN __INTN_MIN(__SIG_ATOMIC_WIDTH__)
|
||||
#define SIG_ATOMIC_MAX __INTN_MAX(__SIG_ATOMIC_WIDTH__)
|
||||
#ifdef __WINT_UNSIGNED__
|
||||
# define WINT_MIN __UINTN_C(__WINT_WIDTH__, 0)
|
||||
# define WINT_MAX __UINTN_MAX(__WINT_WIDTH__)
|
||||
#else
|
||||
# define WINT_MIN __INTN_MIN(__WINT_WIDTH__)
|
||||
# define WINT_MAX __INTN_MAX(__WINT_WIDTH__)
|
||||
#endif
|
||||
|
||||
#ifndef WCHAR_MAX
|
||||
# define WCHAR_MAX __WCHAR_MAX__
|
||||
#endif
|
||||
#ifndef WCHAR_MIN
|
||||
# if __WCHAR_MAX__ == __INTN_MAX(__WCHAR_WIDTH__)
|
||||
# define WCHAR_MIN __INTN_MIN(__WCHAR_WIDTH__)
|
||||
# else
|
||||
# define WCHAR_MIN __UINTN_C(__WCHAR_WIDTH__, 0)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* 7.18.4.2 Macros for greatest-width integer constants. */
|
||||
#define INTMAX_C(v) __INTN_C(__INTMAX_WIDTH__, v)
|
||||
#define UINTMAX_C(v) __UINTN_C(__INTMAX_WIDTH__, v)
|
||||
|
||||
#endif /* __STDC_HOSTED__ */
|
||||
#endif /* __CLANG_STDINT_H */
|
30
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stdnoreturn.h
Executable file
30
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/stdnoreturn.h
Executable file
@ -0,0 +1,30 @@
|
||||
/*===---- stdnoreturn.h - Standard header for noreturn macro ---------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __STDNORETURN_H
|
||||
#define __STDNORETURN_H
|
||||
|
||||
#define noreturn _Noreturn
|
||||
#define __noreturn_is_defined 1
|
||||
|
||||
#endif /* __STDNORETURN_H */
|
1374
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/tgmath.h
Executable file
1374
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/tgmath.h
Executable file
File diff suppressed because it is too large
Load Diff
225
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/tmmintrin.h
Executable file
225
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/tmmintrin.h
Executable file
@ -0,0 +1,225 @@
|
||||
/*===---- tmmintrin.h - SSSE3 intrinsics -----------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __TMMINTRIN_H
|
||||
#define __TMMINTRIN_H
|
||||
|
||||
#ifndef __SSSE3__
|
||||
#error "SSSE3 instruction set not enabled"
|
||||
#else
|
||||
|
||||
#include <pmmintrin.h>
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_abs_pi8(__m64 __a)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pabsb((__v8qi)__a);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_abs_epi8(__m128i __a)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_pabsb128((__v16qi)__a);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_abs_pi16(__m64 __a)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pabsw((__v4hi)__a);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_abs_epi16(__m128i __a)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_pabsw128((__v8hi)__a);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_abs_pi32(__m64 __a)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pabsd((__v2si)__a);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_abs_epi32(__m128i __a)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_pabsd128((__v4si)__a);
|
||||
}
|
||||
|
||||
#define _mm_alignr_epi8(a, b, n) __extension__ ({ \
|
||||
__m128i __a = (a); \
|
||||
__m128i __b = (b); \
|
||||
(__m128i)__builtin_ia32_palignr128((__v16qi)__a, (__v16qi)__b, (n)); })
|
||||
|
||||
#define _mm_alignr_pi8(a, b, n) __extension__ ({ \
|
||||
__m64 __a = (a); \
|
||||
__m64 __b = (b); \
|
||||
(__m64)__builtin_ia32_palignr((__v8qi)__a, (__v8qi)__b, (n)); })
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hadd_epi16(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_phaddw128((__v8hi)__a, (__v8hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hadd_epi32(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_phaddd128((__v4si)__a, (__v4si)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hadd_pi16(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_phaddw((__v4hi)__a, (__v4hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hadd_pi32(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_phaddd((__v2si)__a, (__v2si)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hadds_epi16(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_phaddsw128((__v8hi)__a, (__v8hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hadds_pi16(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_phaddsw((__v4hi)__a, (__v4hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsub_epi16(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_phsubw128((__v8hi)__a, (__v8hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsub_epi32(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_phsubd128((__v4si)__a, (__v4si)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsub_pi16(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_phsubw((__v4hi)__a, (__v4hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsub_pi32(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_phsubd((__v2si)__a, (__v2si)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsubs_epi16(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_phsubsw128((__v8hi)__a, (__v8hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsubs_pi16(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_phsubsw((__v4hi)__a, (__v4hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maddubs_epi16(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_pmaddubsw128((__v16qi)__a, (__v16qi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maddubs_pi16(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pmaddubsw((__v8qi)__a, (__v8qi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_mulhrs_epi16(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_pmulhrsw128((__v8hi)__a, (__v8hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_mulhrs_pi16(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pmulhrsw((__v4hi)__a, (__v4hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_shuffle_epi8(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_pshufb128((__v16qi)__a, (__v16qi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_shuffle_pi8(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_pshufb((__v8qi)__a, (__v8qi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sign_epi8(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_psignb128((__v16qi)__a, (__v16qi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sign_epi16(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_psignw128((__v8hi)__a, (__v8hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sign_epi32(__m128i __a, __m128i __b)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_psignd128((__v4si)__a, (__v4si)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sign_pi8(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psignb((__v8qi)__a, (__v8qi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sign_pi16(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psignw((__v4hi)__a, (__v4hi)__b);
|
||||
}
|
||||
|
||||
static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sign_pi32(__m64 __a, __m64 __b)
|
||||
{
|
||||
return (__m64)__builtin_ia32_psignd((__v2si)__a, (__v2si)__b);
|
||||
}
|
||||
|
||||
#endif /* __SSSE3__ */
|
||||
|
||||
#endif /* __TMMINTRIN_H */
|
133
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/unwind.h
Executable file
133
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/unwind.h
Executable file
@ -0,0 +1,133 @@
|
||||
/*===---- unwind.h - Stack unwinding ----------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
/* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/
|
||||
|
||||
#ifndef __CLANG_UNWIND_H
|
||||
#define __CLANG_UNWIND_H
|
||||
|
||||
#if __has_include_next(<unwind.h>)
|
||||
/* Darwin and libunwind provide an unwind.h. If that's available, use
|
||||
* it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE,
|
||||
* so define that around the include.*/
|
||||
# ifndef _GNU_SOURCE
|
||||
# define _SHOULD_UNDEFINE_GNU_SOURCE
|
||||
# define _GNU_SOURCE
|
||||
# endif
|
||||
// libunwind's unwind.h reflects the current visibility. However, Mozilla
|
||||
// builds with -fvisibility=hidden and relies on gcc's unwind.h to reset the
|
||||
// visibility to default and export its contents. gcc also allows users to
|
||||
// override its override by #defining HIDE_EXPORTS (but note, this only obeys
|
||||
// the user's -fvisibility setting; it doesn't hide any exports on its own). We
|
||||
// imitate gcc's header here:
|
||||
# ifdef HIDE_EXPORTS
|
||||
# include_next <unwind.h>
|
||||
# else
|
||||
# pragma GCC visibility push(default)
|
||||
# include_next <unwind.h>
|
||||
# pragma GCC visibility pop
|
||||
# endif
|
||||
# ifdef _SHOULD_UNDEFINE_GNU_SOURCE
|
||||
# undef _GNU_SOURCE
|
||||
# undef _SHOULD_UNDEFINE_GNU_SOURCE
|
||||
# endif
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* It is a bit strange for a header to play with the visibility of the
|
||||
symbols it declares, but this matches gcc's behavior and some programs
|
||||
depend on it */
|
||||
#ifndef HIDE_EXPORTS
|
||||
#pragma GCC visibility push(default)
|
||||
#endif
|
||||
|
||||
struct _Unwind_Context;
|
||||
typedef enum {
|
||||
_URC_NO_REASON = 0,
|
||||
_URC_FOREIGN_EXCEPTION_CAUGHT = 1,
|
||||
|
||||
_URC_FATAL_PHASE2_ERROR = 2,
|
||||
_URC_FATAL_PHASE1_ERROR = 3,
|
||||
_URC_NORMAL_STOP = 4,
|
||||
|
||||
_URC_END_OF_STACK = 5,
|
||||
_URC_HANDLER_FOUND = 6,
|
||||
_URC_INSTALL_CONTEXT = 7,
|
||||
_URC_CONTINUE_UNWIND = 8
|
||||
} _Unwind_Reason_Code;
|
||||
|
||||
|
||||
#ifdef __arm__
|
||||
|
||||
typedef enum {
|
||||
_UVRSC_CORE = 0, /* integer register */
|
||||
_UVRSC_VFP = 1, /* vfp */
|
||||
_UVRSC_WMMXD = 3, /* Intel WMMX data register */
|
||||
_UVRSC_WMMXC = 4 /* Intel WMMX control register */
|
||||
} _Unwind_VRS_RegClass;
|
||||
|
||||
typedef enum {
|
||||
_UVRSD_UINT32 = 0,
|
||||
_UVRSD_VFPX = 1,
|
||||
_UVRSD_UINT64 = 3,
|
||||
_UVRSD_FLOAT = 4,
|
||||
_UVRSD_DOUBLE = 5
|
||||
} _Unwind_VRS_DataRepresentation;
|
||||
|
||||
typedef enum {
|
||||
_UVRSR_OK = 0,
|
||||
_UVRSR_NOT_IMPLEMENTED = 1,
|
||||
_UVRSR_FAILED = 2
|
||||
} _Unwind_VRS_Result;
|
||||
|
||||
_Unwind_VRS_Result _Unwind_VRS_Get(struct _Unwind_Context *__context,
|
||||
_Unwind_VRS_RegClass __regclass,
|
||||
uint32_t __regno,
|
||||
_Unwind_VRS_DataRepresentation __representation,
|
||||
void *__valuep);
|
||||
|
||||
#else
|
||||
|
||||
uintptr_t _Unwind_GetIP(struct _Unwind_Context* __context);
|
||||
|
||||
#endif
|
||||
|
||||
typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)(struct _Unwind_Context*, void*);
|
||||
_Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn, void*);
|
||||
|
||||
#ifndef HIDE_EXPORTS
|
||||
#pragma GCC visibility pop
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __CLANG_UNWIND_H */
|
26
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/varargs.h
Executable file
26
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/varargs.h
Executable file
@ -0,0 +1,26 @@
|
||||
/*===---- varargs.h - Variable argument handling -------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
#ifndef __VARARGS_H
|
||||
#define __VARARGS_H
|
||||
#error "Please use <stdarg.h> instead of <varargs.h>"
|
||||
#endif
|
42
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/wmmintrin.h
Executable file
42
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/wmmintrin.h
Executable file
@ -0,0 +1,42 @@
|
||||
/*===---- wmmintrin.h - AES intrinsics ------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef _WMMINTRIN_H
|
||||
#define _WMMINTRIN_H
|
||||
|
||||
#include <emmintrin.h>
|
||||
|
||||
#if !defined (__AES__) && !defined (__PCLMUL__)
|
||||
# error "AES/PCLMUL instructions not enabled"
|
||||
#else
|
||||
|
||||
#ifdef __AES__
|
||||
#include <__wmmintrin_aes.h>
|
||||
#endif /* __AES__ */
|
||||
|
||||
#ifdef __PCLMUL__
|
||||
#include <__wmmintrin_pclmul.h>
|
||||
#endif /* __PCLMUL__ */
|
||||
|
||||
#endif /* __AES__ || __PCLMUL__ */
|
||||
#endif /* _WMMINTRIN_H */
|
75
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/x86intrin.h
Executable file
75
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/x86intrin.h
Executable file
@ -0,0 +1,75 @@
|
||||
/*===---- x86intrin.h - X86 intrinsics -------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __X86INTRIN_H
|
||||
#define __X86INTRIN_H
|
||||
|
||||
#include <immintrin.h>
|
||||
|
||||
#ifdef __3dNOW__
|
||||
#include <mm3dnow.h>
|
||||
#endif
|
||||
|
||||
#ifdef __BMI__
|
||||
#include <bmiintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __BMI2__
|
||||
#include <bmi2intrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __LZCNT__
|
||||
#include <lzcntintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __POPCNT__
|
||||
#include <popcntintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __RDSEED__
|
||||
#include <rdseedintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __PRFCHW__
|
||||
#include <prfchwintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __SSE4A__
|
||||
#include <ammintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __FMA4__
|
||||
#include <fma4intrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __XOP__
|
||||
#include <xopintrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __F16C__
|
||||
#include <f16cintrin.h>
|
||||
#endif
|
||||
|
||||
// FIXME: LWP
|
||||
|
||||
#endif /* __X86INTRIN_H */
|
1001
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/xmmintrin.h
Executable file
1001
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/xmmintrin.h
Executable file
File diff suppressed because it is too large
Load Diff
804
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/xopintrin.h
Executable file
804
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/clang-include/xopintrin.h
Executable file
@ -0,0 +1,804 @@
|
||||
/*===---- xopintrin.h - XOP intrinsics -------------------------------------===
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*===-----------------------------------------------------------------------===
|
||||
*/
|
||||
|
||||
#ifndef __X86INTRIN_H
|
||||
#error "Never use <xopintrin.h> directly; include <x86intrin.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __XOPINTRIN_H
|
||||
#define __XOPINTRIN_H
|
||||
|
||||
#ifndef __XOP__
|
||||
# error "XOP instruction set is not enabled"
|
||||
#else
|
||||
|
||||
#include <fma4intrin.h>
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maccs_epi16(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmacssww((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_macc_epi16(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmacsww((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maccsd_epi16(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmacsswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maccd_epi16(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmacswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maccs_epi32(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmacssdd((__v4si)__A, (__v4si)__B, (__v4si)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_macc_epi32(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmacsdd((__v4si)__A, (__v4si)__B, (__v4si)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maccslo_epi32(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmacssdql((__v4si)__A, (__v4si)__B, (__v2di)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_macclo_epi32(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmacsdql((__v4si)__A, (__v4si)__B, (__v2di)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maccshi_epi32(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmacssdqh((__v4si)__A, (__v4si)__B, (__v2di)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_macchi_epi32(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmacsdqh((__v4si)__A, (__v4si)__B, (__v2di)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maddsd_epi16(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmadcsswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_maddd_epi16(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpmadcswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddw_epi8(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphaddbw((__v16qi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddd_epi8(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphaddbd((__v16qi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddq_epi8(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphaddbq((__v16qi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddd_epi16(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphaddwd((__v8hi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddq_epi16(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphaddwq((__v8hi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddq_epi32(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphadddq((__v4si)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddw_epu8(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphaddubw((__v16qi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddd_epu8(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphaddubd((__v16qi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddq_epu8(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphaddubq((__v16qi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddd_epu16(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphadduwd((__v8hi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddq_epu16(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphadduwq((__v8hi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_haddq_epu32(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphaddudq((__v4si)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsubw_epi8(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphsubbw((__v16qi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsubd_epi16(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphsubwd((__v8hi)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_hsubq_epi32(__m128i __A)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vphsubdq((__v4si)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_cmov_si128(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpcmov(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m256i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_cmov_si256(__m256i __A, __m256i __B, __m256i __C)
|
||||
{
|
||||
return (__m256i)__builtin_ia32_vpcmov_256(__A, __B, __C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpperm((__v16qi)__A, (__v16qi)__B, (__v16qi)__C);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_rot_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vprotb((__v16qi)__A, (__v16qi)__B);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_rot_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vprotw((__v8hi)__A, (__v8hi)__B);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_rot_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vprotd((__v4si)__A, (__v4si)__B);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_rot_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vprotq((__v2di)__A, (__v2di)__B);
|
||||
}
|
||||
|
||||
#define _mm_roti_epi8(A, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
(__m128i)__builtin_ia32_vprotbi((__v16qi)__A, (N)); })
|
||||
|
||||
#define _mm_roti_epi16(A, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
(__m128i)__builtin_ia32_vprotwi((__v8hi)__A, (N)); })
|
||||
|
||||
#define _mm_roti_epi32(A, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
(__m128i)__builtin_ia32_vprotdi((__v4si)__A, (N)); })
|
||||
|
||||
#define _mm_roti_epi64(A, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
(__m128i)__builtin_ia32_vprotqi((__v2di)__A, (N)); })
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_shl_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpshlb((__v16qi)__A, (__v16qi)__B);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_shl_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpshlw((__v8hi)__A, (__v8hi)__B);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_shl_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpshld((__v4si)__A, (__v4si)__B);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_shl_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpshlq((__v2di)__A, (__v2di)__B);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sha_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpshab((__v16qi)__A, (__v16qi)__B);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sha_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpshaw((__v8hi)__A, (__v8hi)__B);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sha_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpshad((__v4si)__A, (__v4si)__B);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_sha_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_vpshaq((__v2di)__A, (__v2di)__B);
|
||||
}
|
||||
|
||||
#define _mm_com_epu8(A, B, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
__m128i __B = (B); \
|
||||
(__m128i)__builtin_ia32_vpcomub((__v16qi)__A, (__v16qi)__B, (N)); })
|
||||
|
||||
#define _mm_com_epu16(A, B, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
__m128i __B = (B); \
|
||||
(__m128i)__builtin_ia32_vpcomuw((__v8hi)__A, (__v8hi)__B, (N)); })
|
||||
|
||||
#define _mm_com_epu32(A, B, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
__m128i __B = (B); \
|
||||
(__m128i)__builtin_ia32_vpcomud((__v4si)__A, (__v4si)__B, (N)); })
|
||||
|
||||
#define _mm_com_epu64(A, B, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
__m128i __B = (B); \
|
||||
(__m128i)__builtin_ia32_vpcomuq((__v2di)__A, (__v2di)__B, (N)); })
|
||||
|
||||
#define _mm_com_epi8(A, B, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
__m128i __B = (B); \
|
||||
(__m128i)__builtin_ia32_vpcomb((__v16qi)__A, (__v16qi)__B, (N)); })
|
||||
|
||||
#define _mm_com_epi16(A, B, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
__m128i __B = (B); \
|
||||
(__m128i)__builtin_ia32_vpcomw((__v8hi)__A, (__v8hi)__B, (N)); })
|
||||
|
||||
#define _mm_com_epi32(A, B, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
__m128i __B = (B); \
|
||||
(__m128i)__builtin_ia32_vpcomd((__v4si)__A, (__v4si)__B, (N)); })
|
||||
|
||||
#define _mm_com_epi64(A, B, N) __extension__ ({ \
|
||||
__m128i __A = (A); \
|
||||
__m128i __B = (B); \
|
||||
(__m128i)__builtin_ia32_vpcomq((__v2di)__A, (__v2di)__B, (N)); })
|
||||
|
||||
#define _MM_PCOMCTRL_LT 0
|
||||
#define _MM_PCOMCTRL_LE 1
|
||||
#define _MM_PCOMCTRL_GT 2
|
||||
#define _MM_PCOMCTRL_GE 3
|
||||
#define _MM_PCOMCTRL_EQ 4
|
||||
#define _MM_PCOMCTRL_NEQ 5
|
||||
#define _MM_PCOMCTRL_FALSE 6
|
||||
#define _MM_PCOMCTRL_TRUE 7
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comlt_epu8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_LT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comle_epu8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_LE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comgt_epu8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_GT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comge_epu8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_GE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comeq_epu8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_EQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comneq_epu8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_NEQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comfalse_epu8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_FALSE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comtrue_epu8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_TRUE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comlt_epu16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_LT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comle_epu16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_LE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comgt_epu16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_GT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comge_epu16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_GE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comeq_epu16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_EQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comneq_epu16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_NEQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comfalse_epu16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_FALSE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comtrue_epu16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_TRUE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comlt_epu32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_LT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comle_epu32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_LE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comgt_epu32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_GT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comge_epu32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_GE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comeq_epu32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_EQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comneq_epu32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_NEQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comfalse_epu32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_FALSE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comtrue_epu32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_TRUE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comlt_epu64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_LT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comle_epu64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_LE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comgt_epu64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_GT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comge_epu64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_GE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comeq_epu64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_EQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comneq_epu64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_NEQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comfalse_epu64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_FALSE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comtrue_epu64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_TRUE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comlt_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_LT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comle_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_LE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comgt_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_GT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comge_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_GE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comeq_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_EQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comneq_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_NEQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comfalse_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_FALSE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comtrue_epi8(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_TRUE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comlt_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_LT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comle_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_LE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comgt_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_GT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comge_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_GE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comeq_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_EQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comneq_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_NEQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comfalse_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_FALSE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comtrue_epi16(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_TRUE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comlt_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_LT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comle_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_LE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comgt_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_GT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comge_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_GE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comeq_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_EQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comneq_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_NEQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comfalse_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_FALSE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comtrue_epi32(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_TRUE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comlt_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_LT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comle_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_LE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comgt_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_GT);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comge_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_GE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comeq_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_EQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comneq_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_NEQ);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comfalse_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_FALSE);
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_comtrue_epi64(__m128i __A, __m128i __B)
|
||||
{
|
||||
return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_TRUE);
|
||||
}
|
||||
|
||||
#define _mm_permute2_pd(X, Y, C, I) __extension__ ({ \
|
||||
__m128d __X = (X); \
|
||||
__m128d __Y = (Y); \
|
||||
__m128i __C = (C); \
|
||||
(__m128d)__builtin_ia32_vpermil2pd((__v2df)__X, (__v2df)__Y, \
|
||||
(__v2di)__C, (I)); })
|
||||
|
||||
#define _mm256_permute2_pd(X, Y, C, I) __extension__ ({ \
|
||||
__m256d __X = (X); \
|
||||
__m256d __Y = (Y); \
|
||||
__m256i __C = (C); \
|
||||
(__m256d)__builtin_ia32_vpermil2pd256((__v4df)__X, (__v4df)__Y, \
|
||||
(__v4di)__C, (I)); })
|
||||
|
||||
#define _mm_permute2_ps(X, Y, C, I) __extension__ ({ \
|
||||
__m128 __X = (X); \
|
||||
__m128 __Y = (Y); \
|
||||
__m128i __C = (C); \
|
||||
(__m128)__builtin_ia32_vpermil2ps((__v4sf)__X, (__v4sf)__Y, \
|
||||
(__v4si)__C, (I)); })
|
||||
|
||||
#define _mm256_permute2_ps(X, Y, C, I) __extension__ ({ \
|
||||
__m256 __X = (X); \
|
||||
__m256 __Y = (Y); \
|
||||
__m256i __C = (C); \
|
||||
(__m256)__builtin_ia32_vpermil2ps256((__v8sf)__X, (__v8sf)__Y, \
|
||||
(__v8si)__C, (I)); })
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_frcz_ss(__m128 __A)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfrczss((__v4sf)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_frcz_sd(__m128d __A)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfrczsd((__v2df)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_frcz_ps(__m128 __A)
|
||||
{
|
||||
return (__m128)__builtin_ia32_vfrczps((__v4sf)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_frcz_pd(__m128d __A)
|
||||
{
|
||||
return (__m128d)__builtin_ia32_vfrczpd((__v2df)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_frcz_ps(__m256 __A)
|
||||
{
|
||||
return (__m256)__builtin_ia32_vfrczps256((__v8sf)__A);
|
||||
}
|
||||
|
||||
static __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm256_frcz_pd(__m256d __A)
|
||||
{
|
||||
return (__m256d)__builtin_ia32_vfrczpd256((__v4df)__A);
|
||||
}
|
||||
|
||||
#endif /* __XOP__ */
|
||||
|
||||
#endif /* __XOPINTRIN_H */
|
378
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_allocation.rsh
Executable file
378
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_allocation.rsh
Executable file
@ -0,0 +1,378 @@
|
||||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_allocation.rsh
|
||||
* \brief Allocation routines
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_ALLOCATION_RSH__
|
||||
#define __RS_ALLOCATION_RSH__
|
||||
|
||||
/**
|
||||
* Returns the Allocation for a given pointer. The pointer should point within
|
||||
* a valid allocation. The results are undefined if the pointer is not from a
|
||||
* valid allocation.
|
||||
*
|
||||
* This function is deprecated and will be removed in the SDK from a future
|
||||
* release.
|
||||
*/
|
||||
extern rs_allocation __attribute__((overloadable))
|
||||
rsGetAllocation(const void *);
|
||||
|
||||
/**
|
||||
* Query the dimension of an allocation.
|
||||
*
|
||||
* @return uint32_t The X dimension of the allocation.
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAllocationGetDimX(rs_allocation);
|
||||
|
||||
/**
|
||||
* Query the dimension of an allocation.
|
||||
*
|
||||
* @return uint32_t The Y dimension of the allocation.
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAllocationGetDimY(rs_allocation);
|
||||
|
||||
/**
|
||||
* Query the dimension of an allocation.
|
||||
*
|
||||
* @return uint32_t The Z dimension of the allocation.
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAllocationGetDimZ(rs_allocation);
|
||||
|
||||
/**
|
||||
* Query an allocation for the presence of more than one LOD.
|
||||
*
|
||||
* @return uint32_t Returns 1 if more than one LOD is present, 0 otherwise.
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAllocationGetDimLOD(rs_allocation);
|
||||
|
||||
/**
|
||||
* Query an allocation for the presence of more than one face.
|
||||
*
|
||||
* @return uint32_t Returns 1 if more than one face is present, 0 otherwise.
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAllocationGetDimFaces(rs_allocation);
|
||||
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 14))
|
||||
|
||||
/**
|
||||
* Copy part of an allocation from another allocation.
|
||||
*
|
||||
* @param dstAlloc Allocation to copy data into.
|
||||
* @param dstOff The offset of the first element to be copied in
|
||||
* the destination allocation.
|
||||
* @param dstMip Mip level in the destination allocation.
|
||||
* @param count The number of elements to be copied.
|
||||
* @param srcAlloc The source data allocation.
|
||||
* @param srcOff The offset of the first element in data to be
|
||||
* copied in the source allocation.
|
||||
* @param srcMip Mip level in the source allocation.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsAllocationCopy1DRange(rs_allocation dstAlloc,
|
||||
uint32_t dstOff, uint32_t dstMip,
|
||||
uint32_t count,
|
||||
rs_allocation srcAlloc,
|
||||
uint32_t srcOff, uint32_t srcMip);
|
||||
|
||||
/**
|
||||
* Copy a rectangular region into the allocation from another
|
||||
* allocation.
|
||||
*
|
||||
* @param dstAlloc allocation to copy data into.
|
||||
* @param dstXoff X offset of the region to update in the
|
||||
* destination allocation.
|
||||
* @param dstYoff Y offset of the region to update in the
|
||||
* destination allocation.
|
||||
* @param dstMip Mip level in the destination allocation.
|
||||
* @param dstFace Cubemap face of the destination allocation,
|
||||
* ignored for allocations that aren't cubemaps.
|
||||
* @param width Width of the incoming region to update.
|
||||
* @param height Height of the incoming region to update.
|
||||
* @param srcAlloc The source data allocation.
|
||||
* @param srcXoff X offset in data of the source allocation.
|
||||
* @param srcYoff Y offset in data of the source allocation.
|
||||
* @param srcMip Mip level in the source allocation.
|
||||
* @param srcFace Cubemap face of the source allocation,
|
||||
* ignored for allocations that aren't cubemaps.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsAllocationCopy2DRange(rs_allocation dstAlloc,
|
||||
uint32_t dstXoff, uint32_t dstYoff,
|
||||
uint32_t dstMip,
|
||||
rs_allocation_cubemap_face dstFace,
|
||||
uint32_t width, uint32_t height,
|
||||
rs_allocation srcAlloc,
|
||||
uint32_t srcXoff, uint32_t srcYoff,
|
||||
uint32_t srcMip,
|
||||
rs_allocation_cubemap_face srcFace);
|
||||
|
||||
#endif //defined(RS_VERSION) && (RS_VERSION >= 14)
|
||||
|
||||
/**
|
||||
* Extract a single element from an allocation.
|
||||
*/
|
||||
extern const void * __attribute__((overloadable))
|
||||
rsGetElementAt(rs_allocation a, uint32_t x);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern const void * __attribute__((overloadable))
|
||||
rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern const void * __attribute__((overloadable))
|
||||
rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
|
||||
|
||||
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
|
||||
#define GET_ELEMENT_AT(T) \
|
||||
extern T __attribute__((overloadable)) \
|
||||
rsGetElementAt_##T(rs_allocation a, uint32_t x); \
|
||||
extern T __attribute__((overloadable)) \
|
||||
rsGetElementAt_##T(rs_allocation a, uint32_t x, uint32_t y); \
|
||||
extern T __attribute__((overloadable)) \
|
||||
rsGetElementAt_##T(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
|
||||
#else
|
||||
#define GET_ELEMENT_AT(T) \
|
||||
static inline T __attribute__((overloadable)) \
|
||||
rsGetElementAt_##T(rs_allocation a, uint32_t x) { \
|
||||
return ((T *)rsGetElementAt(a, x))[0]; \
|
||||
} \
|
||||
static inline T __attribute__((overloadable)) \
|
||||
rsGetElementAt_##T(rs_allocation a, uint32_t x, uint32_t y) { \
|
||||
return ((T *)rsGetElementAt(a, x, y))[0]; \
|
||||
} \
|
||||
static inline T __attribute__((overloadable)) \
|
||||
rsGetElementAt_##T(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) { \
|
||||
return ((T *)rsGetElementAt(a, x, y, z))[0]; \
|
||||
}
|
||||
#endif
|
||||
|
||||
GET_ELEMENT_AT(char)
|
||||
GET_ELEMENT_AT(char2)
|
||||
GET_ELEMENT_AT(char3)
|
||||
GET_ELEMENT_AT(char4)
|
||||
GET_ELEMENT_AT(uchar)
|
||||
GET_ELEMENT_AT(uchar2)
|
||||
GET_ELEMENT_AT(uchar3)
|
||||
GET_ELEMENT_AT(uchar4)
|
||||
GET_ELEMENT_AT(short)
|
||||
GET_ELEMENT_AT(short2)
|
||||
GET_ELEMENT_AT(short3)
|
||||
GET_ELEMENT_AT(short4)
|
||||
GET_ELEMENT_AT(ushort)
|
||||
GET_ELEMENT_AT(ushort2)
|
||||
GET_ELEMENT_AT(ushort3)
|
||||
GET_ELEMENT_AT(ushort4)
|
||||
GET_ELEMENT_AT(int)
|
||||
GET_ELEMENT_AT(int2)
|
||||
GET_ELEMENT_AT(int3)
|
||||
GET_ELEMENT_AT(int4)
|
||||
GET_ELEMENT_AT(uint)
|
||||
GET_ELEMENT_AT(uint2)
|
||||
GET_ELEMENT_AT(uint3)
|
||||
GET_ELEMENT_AT(uint4)
|
||||
GET_ELEMENT_AT(long)
|
||||
GET_ELEMENT_AT(long2)
|
||||
GET_ELEMENT_AT(long3)
|
||||
GET_ELEMENT_AT(long4)
|
||||
GET_ELEMENT_AT(ulong)
|
||||
GET_ELEMENT_AT(ulong2)
|
||||
GET_ELEMENT_AT(ulong3)
|
||||
GET_ELEMENT_AT(ulong4)
|
||||
GET_ELEMENT_AT(float)
|
||||
GET_ELEMENT_AT(float2)
|
||||
GET_ELEMENT_AT(float3)
|
||||
GET_ELEMENT_AT(float4)
|
||||
GET_ELEMENT_AT(double)
|
||||
GET_ELEMENT_AT(double2)
|
||||
GET_ELEMENT_AT(double3)
|
||||
GET_ELEMENT_AT(double4)
|
||||
|
||||
#undef GET_ELEMENT_AT
|
||||
|
||||
// Jelly Bean
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
/**
|
||||
* Send the contents of the Allocation to the queue.
|
||||
* @param a allocation to work on
|
||||
*/
|
||||
extern const void __attribute__((overloadable))
|
||||
rsAllocationIoSend(rs_allocation a);
|
||||
|
||||
/**
|
||||
* Receive a new set of contents from the queue.
|
||||
* @param a allocation to work on
|
||||
*/
|
||||
extern const void __attribute__((overloadable))
|
||||
rsAllocationIoReceive(rs_allocation a);
|
||||
|
||||
|
||||
/**
|
||||
* Get the element object describing the allocation's layout
|
||||
* @param a allocation to get data from
|
||||
* @return element describing allocation layout
|
||||
*/
|
||||
extern rs_element __attribute__((overloadable))
|
||||
rsAllocationGetElement(rs_allocation a);
|
||||
|
||||
/**
|
||||
* Fetch allocation in a way described by the sampler
|
||||
* @param a 1D allocation to sample from
|
||||
* @param s sampler state
|
||||
* @param location to sample from
|
||||
*/
|
||||
extern const float4 __attribute__((overloadable))
|
||||
rsSample(rs_allocation a, rs_sampler s, float location);
|
||||
/**
|
||||
* Fetch allocation in a way described by the sampler
|
||||
* @param a 1D allocation to sample from
|
||||
* @param s sampler state
|
||||
* @param location to sample from
|
||||
* @param lod mip level to sample from, for fractional values
|
||||
* mip levels will be interpolated if
|
||||
* RS_SAMPLER_LINEAR_MIP_LINEAR is used
|
||||
*/
|
||||
extern const float4 __attribute__((overloadable))
|
||||
rsSample(rs_allocation a, rs_sampler s, float location, float lod);
|
||||
|
||||
/**
|
||||
* Fetch allocation in a way described by the sampler
|
||||
* @param a 2D allocation to sample from
|
||||
* @param s sampler state
|
||||
* @param location to sample from
|
||||
*/
|
||||
extern const float4 __attribute__((overloadable))
|
||||
rsSample(rs_allocation a, rs_sampler s, float2 location);
|
||||
|
||||
/**
|
||||
* Fetch allocation in a way described by the sampler
|
||||
* @param a 2D allocation to sample from
|
||||
* @param s sampler state
|
||||
* @param location to sample from
|
||||
* @param lod mip level to sample from, for fractional values
|
||||
* mip levels will be interpolated if
|
||||
* RS_SAMPLER_LINEAR_MIP_LINEAR is used
|
||||
*/
|
||||
extern const float4 __attribute__((overloadable))
|
||||
rsSample(rs_allocation a, rs_sampler s, float2 location, float lod);
|
||||
|
||||
#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
|
||||
|
||||
/**
|
||||
* Set single element of an allocation.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetElementAt(rs_allocation a, void* ptr, uint32_t x);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetElementAt(rs_allocation a, void* ptr, uint32_t x, uint32_t y);
|
||||
|
||||
#define SET_ELEMENT_AT(T) \
|
||||
extern void __attribute__((overloadable)) \
|
||||
rsSetElementAt_##T(rs_allocation a, T val, uint32_t x); \
|
||||
extern void __attribute__((overloadable)) \
|
||||
rsSetElementAt_##T(rs_allocation a, T val, uint32_t x, uint32_t y); \
|
||||
extern void __attribute__((overloadable)) \
|
||||
rsSetElementAt_##T(rs_allocation a, T val, uint32_t x, uint32_t y, uint32_t z);
|
||||
|
||||
|
||||
SET_ELEMENT_AT(char)
|
||||
SET_ELEMENT_AT(char2)
|
||||
SET_ELEMENT_AT(char3)
|
||||
SET_ELEMENT_AT(char4)
|
||||
SET_ELEMENT_AT(uchar)
|
||||
SET_ELEMENT_AT(uchar2)
|
||||
SET_ELEMENT_AT(uchar3)
|
||||
SET_ELEMENT_AT(uchar4)
|
||||
SET_ELEMENT_AT(short)
|
||||
SET_ELEMENT_AT(short2)
|
||||
SET_ELEMENT_AT(short3)
|
||||
SET_ELEMENT_AT(short4)
|
||||
SET_ELEMENT_AT(ushort)
|
||||
SET_ELEMENT_AT(ushort2)
|
||||
SET_ELEMENT_AT(ushort3)
|
||||
SET_ELEMENT_AT(ushort4)
|
||||
SET_ELEMENT_AT(int)
|
||||
SET_ELEMENT_AT(int2)
|
||||
SET_ELEMENT_AT(int3)
|
||||
SET_ELEMENT_AT(int4)
|
||||
SET_ELEMENT_AT(uint)
|
||||
SET_ELEMENT_AT(uint2)
|
||||
SET_ELEMENT_AT(uint3)
|
||||
SET_ELEMENT_AT(uint4)
|
||||
SET_ELEMENT_AT(long)
|
||||
SET_ELEMENT_AT(long2)
|
||||
SET_ELEMENT_AT(long3)
|
||||
SET_ELEMENT_AT(long4)
|
||||
SET_ELEMENT_AT(ulong)
|
||||
SET_ELEMENT_AT(ulong2)
|
||||
SET_ELEMENT_AT(ulong3)
|
||||
SET_ELEMENT_AT(ulong4)
|
||||
SET_ELEMENT_AT(float)
|
||||
SET_ELEMENT_AT(float2)
|
||||
SET_ELEMENT_AT(float3)
|
||||
SET_ELEMENT_AT(float4)
|
||||
SET_ELEMENT_AT(double)
|
||||
SET_ELEMENT_AT(double2)
|
||||
SET_ELEMENT_AT(double3)
|
||||
SET_ELEMENT_AT(double4)
|
||||
|
||||
#undef SET_ELEMENT_AT
|
||||
|
||||
|
||||
/**
|
||||
* Extract a single element from an allocation.
|
||||
*/
|
||||
extern const uchar __attribute__((overloadable))
|
||||
rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y);
|
||||
|
||||
/**
|
||||
* Extract a single element from an allocation.
|
||||
*
|
||||
* Coordinates are in the dimensions of the Y plane
|
||||
*/
|
||||
extern const uchar __attribute__((overloadable))
|
||||
rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y);
|
||||
|
||||
/**
|
||||
* Extract a single element from an allocation.
|
||||
*
|
||||
* Coordinates are in the dimensions of the Y plane
|
||||
*/
|
||||
extern const uchar __attribute__((overloadable))
|
||||
rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y);
|
||||
|
||||
#endif // (defined(RS_VERSION) && (RS_VERSION >= 18))
|
||||
|
||||
#endif
|
||||
|
250
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_atomic.rsh
Executable file
250
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_atomic.rsh
Executable file
@ -0,0 +1,250 @@
|
||||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_atomic.rsh
|
||||
* \brief Atomic routines
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_ATOMIC_RSH__
|
||||
#define __RS_ATOMIC_RSH__
|
||||
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 14))
|
||||
|
||||
/**
|
||||
* Atomic add one to the value at addr.
|
||||
* Equal to rsAtomicAdd(addr, 1)
|
||||
*
|
||||
* @param addr Address of value to increment
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern int32_t __attribute__((overloadable))
|
||||
rsAtomicInc(volatile int32_t* addr);
|
||||
/**
|
||||
* Atomic add one to the value at addr.
|
||||
* Equal to rsAtomicAdd(addr, 1)
|
||||
*
|
||||
* @param addr Address of value to increment
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAtomicInc(volatile uint32_t* addr);
|
||||
|
||||
/**
|
||||
* Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1)
|
||||
*
|
||||
* @param addr Address of value to decrement
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern int32_t __attribute__((overloadable))
|
||||
rsAtomicDec(volatile int32_t* addr);
|
||||
/**
|
||||
* Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1)
|
||||
*
|
||||
* @param addr Address of value to decrement
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAtomicDec(volatile uint32_t* addr);
|
||||
|
||||
/**
|
||||
* Atomic add a value to the value at addr. addr[0] += value
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value Amount to add to the value at addr
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern int32_t __attribute__((overloadable))
|
||||
rsAtomicAdd(volatile int32_t* addr, int32_t value);
|
||||
/**
|
||||
* Atomic add a value to the value at addr. addr[0] += value
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value Amount to add to the value at addr
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAtomicAdd(volatile uint32_t* addr, uint32_t value);
|
||||
|
||||
/**
|
||||
* Atomic Subtract a value from the value at addr. addr[0] -= value
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value Amount to subtract from the value at addr
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern int32_t __attribute__((overloadable))
|
||||
rsAtomicSub(volatile int32_t* addr, int32_t value);
|
||||
/**
|
||||
* Atomic Subtract a value from the value at addr. addr[0] -= value
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value Amount to subtract from the value at addr
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAtomicSub(volatile uint32_t* addr, uint32_t value);
|
||||
|
||||
/**
|
||||
* Atomic Bitwise and a value from the value at addr. addr[0] &= value
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value Amount to and with the value at addr
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern int32_t __attribute__((overloadable))
|
||||
rsAtomicAnd(volatile int32_t* addr, int32_t value);
|
||||
/**
|
||||
* Atomic Bitwise and a value from the value at addr. addr[0] &= value
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value Amount to and with the value at addr
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAtomicAnd(volatile uint32_t* addr, uint32_t value);
|
||||
|
||||
/**
|
||||
* Atomic Bitwise or a value from the value at addr. addr[0] |= value
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value Amount to or with the value at addr
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern int32_t __attribute__((overloadable))
|
||||
rsAtomicOr(volatile int32_t* addr, int32_t value);
|
||||
/**
|
||||
* Atomic Bitwise or a value from the value at addr. addr[0] |= value
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value Amount to or with the value at addr
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAtomicOr(volatile uint32_t* addr, uint32_t value);
|
||||
|
||||
/**
|
||||
* Atomic Bitwise xor a value from the value at addr. addr[0] ^= value
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value Amount to xor with the value at addr
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAtomicXor(volatile uint32_t* addr, uint32_t value);
|
||||
/**
|
||||
* Atomic Bitwise xor a value from the value at addr. addr[0] ^= value
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value Amount to xor with the value at addr
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern int32_t __attribute__((overloadable))
|
||||
rsAtomicXor(volatile int32_t* addr, int32_t value);
|
||||
|
||||
/**
|
||||
* Atomic Set the value at addr to the min of addr and value
|
||||
* addr[0] = rsMin(addr[0], value)
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value comparison value
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAtomicMin(volatile uint32_t* addr, uint32_t value);
|
||||
/**
|
||||
* Atomic Set the value at addr to the min of addr and value
|
||||
* addr[0] = rsMin(addr[0], value)
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value comparison value
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern int32_t __attribute__((overloadable))
|
||||
rsAtomicMin(volatile int32_t* addr, int32_t value);
|
||||
|
||||
/**
|
||||
* Atomic Set the value at addr to the max of addr and value
|
||||
* addr[0] = rsMax(addr[0], value)
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value comparison value
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAtomicMax(volatile uint32_t* addr, uint32_t value);
|
||||
/**
|
||||
* Atomic Set the value at addr to the max of addr and value
|
||||
* addr[0] = rsMin(addr[0], value)
|
||||
*
|
||||
* @param addr Address of value to modify
|
||||
* @param value comparison value
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern int32_t __attribute__((overloadable))
|
||||
rsAtomicMax(volatile int32_t* addr, int32_t value);
|
||||
|
||||
/**
|
||||
* Compare-and-set operation with a full memory barrier.
|
||||
*
|
||||
* If the value at addr matches compareValue then newValue is written.
|
||||
*
|
||||
* @param addr The address to compare and replace if the compare passes.
|
||||
* @param compareValue The value to test addr[0] against.
|
||||
* @param newValue The value to write if the test passes.
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern int32_t __attribute__((overloadable))
|
||||
rsAtomicCas(volatile int32_t* addr, int32_t compareValue, int32_t newValue);
|
||||
|
||||
/**
|
||||
* Compare-and-set operation with a full memory barrier.
|
||||
*
|
||||
* If the value at addr matches compareValue then newValue is written.
|
||||
*
|
||||
* @param addr The address to compare and replace if the compare passes.
|
||||
* @param compareValue The value to test addr[0] against.
|
||||
* @param newValue The value to write if the test passes.
|
||||
*
|
||||
* @return old value
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsAtomicCas(volatile uint32_t* addr, uint32_t compareValue, uint32_t newValue);
|
||||
|
||||
#endif //defined(RS_VERSION) && (RS_VERSION >= 14)
|
||||
|
||||
#endif
|
||||
|
1120
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_cl.rsh
Executable file
1120
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_cl.rsh
Executable file
File diff suppressed because it is too large
Load Diff
189
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_core.rsh
Executable file
189
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_core.rsh
Executable file
@ -0,0 +1,189 @@
|
||||
/*
|
||||
* Copyright (C) 2011-2012 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*! \mainpage notitle
|
||||
*
|
||||
* RenderScript is a high-performance runtime that provides
|
||||
* compute operations at the native level. RenderScript code is compiled on devices
|
||||
* at runtime to allow platform-independence as well.
|
||||
* This reference documentation describes the RenderScript runtime APIs, which you
|
||||
* can utilize to write RenderScript code in C99. The RenderScript compute header
|
||||
* files are automatically included for you.
|
||||
*
|
||||
* To use RenderScript, you need to utilize the RenderScript runtime APIs documented here
|
||||
* as well as the Android framework APIs for RenderScript.
|
||||
* For documentation on the Android framework APIs, see the <a target="_parent" href=
|
||||
* "http://developer.android.com/reference/android/renderscript/package-summary.html">
|
||||
* android.renderscript</a> package reference.
|
||||
* For more information on how to develop with RenderScript and how the runtime and
|
||||
* Android framework APIs interact, see the <a target="_parent" href=
|
||||
* "http://developer.android.com/guide/topics/renderscript/index.html">RenderScript
|
||||
* developer guide</a> and the <a target="_parent" href=
|
||||
* "http://developer.android.com/resources/samples/RenderScript/index.html">
|
||||
* RenderScript samples</a>.
|
||||
*/
|
||||
|
||||
/** @file rs_core.rsh
|
||||
* \brief todo-jsams
|
||||
*
|
||||
* todo-jsams
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_CORE_RSH__
|
||||
#define __RS_CORE_RSH__
|
||||
|
||||
#define _RS_RUNTIME extern
|
||||
|
||||
#include "rs_types.rsh"
|
||||
#include "rs_allocation.rsh"
|
||||
#include "rs_atomic.rsh"
|
||||
#include "rs_cl.rsh"
|
||||
#include "rs_debug.rsh"
|
||||
#include "rs_element.rsh"
|
||||
#include "rs_math.rsh"
|
||||
#include "rs_matrix.rsh"
|
||||
#include "rs_object.rsh"
|
||||
#include "rs_quaternion.rsh"
|
||||
#include "rs_sampler.rsh"
|
||||
#include "rs_time.rsh"
|
||||
|
||||
/**
|
||||
* Send a message back to the client. Will not block and returns true
|
||||
* if the message was sendable and false if the fifo was full.
|
||||
* A message ID is required. Data payload is optional.
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsSendToClient(int cmdID);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsSendToClient(int cmdID, const void *data, uint len);
|
||||
/**
|
||||
* Send a message back to the client, blocking until the message is queued.
|
||||
* A message ID is required. Data payload is optional.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSendToClientBlocking(int cmdID);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSendToClientBlocking(int cmdID, const void *data, uint len);
|
||||
|
||||
|
||||
/**
|
||||
* Launch order hint for rsForEach calls. This provides a hint to the system to
|
||||
* determine in which order the root function of the target is called with each
|
||||
* cell of the allocation.
|
||||
*
|
||||
* This is a hint and implementations may not obey the order.
|
||||
*/
|
||||
enum rs_for_each_strategy {
|
||||
RS_FOR_EACH_STRATEGY_SERIAL = 0,
|
||||
RS_FOR_EACH_STRATEGY_DONT_CARE = 1,
|
||||
RS_FOR_EACH_STRATEGY_DST_LINEAR = 2,
|
||||
RS_FOR_EACH_STRATEGY_TILE_SMALL= 3,
|
||||
RS_FOR_EACH_STRATEGY_TILE_MEDIUM = 4,
|
||||
RS_FOR_EACH_STRATEGY_TILE_LARGE = 5
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Structure to provide extra information to a rsForEach call. Primarly used to
|
||||
* restrict the call to a subset of cells in the allocation.
|
||||
*/
|
||||
typedef struct rs_script_call {
|
||||
enum rs_for_each_strategy strategy;
|
||||
uint32_t xStart;
|
||||
uint32_t xEnd;
|
||||
uint32_t yStart;
|
||||
uint32_t yEnd;
|
||||
uint32_t zStart;
|
||||
uint32_t zEnd;
|
||||
uint32_t arrayStart;
|
||||
uint32_t arrayEnd;
|
||||
} rs_script_call_t;
|
||||
|
||||
/**
|
||||
* Make a script to script call to launch work. One of the input or output is
|
||||
* required to be a valid object. The input and output must be of the same
|
||||
* dimensions.
|
||||
* API 10-13
|
||||
*
|
||||
* @param script The target script to call
|
||||
* @param input The allocation to source data from
|
||||
* @param output the allocation to write date into
|
||||
* @param usrData The user definied params to pass to the root script. May be
|
||||
* NULL.
|
||||
* @param sc Extra control infomation used to select a sub-region of the
|
||||
* allocation to be processed or suggest a walking strategy. May be
|
||||
* NULL.
|
||||
*
|
||||
* */
|
||||
#if !defined(RS_VERSION) || (RS_VERSION < 14)
|
||||
extern void __attribute__((overloadable))
|
||||
rsForEach(rs_script script, rs_allocation input,
|
||||
rs_allocation output, const void * usrData,
|
||||
const rs_script_call_t *sc);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsForEach(rs_script script, rs_allocation input,
|
||||
rs_allocation output, const void * usrData);
|
||||
#else
|
||||
|
||||
/**
|
||||
* Make a script to script call to launch work. One of the input or output is
|
||||
* required to be a valid object. The input and output must be of the same
|
||||
* dimensions.
|
||||
* API 14+
|
||||
*
|
||||
* @param script The target script to call
|
||||
* @param input The allocation to source data from
|
||||
* @param output the allocation to write date into
|
||||
* @param usrData The user definied params to pass to the root script. May be
|
||||
* NULL.
|
||||
* @param usrDataLen The size of the userData structure. This will be used to
|
||||
* perform a shallow copy of the data if necessary.
|
||||
* @param sc Extra control infomation used to select a sub-region of the
|
||||
* allocation to be processed or suggest a walking strategy. May be
|
||||
* NULL.
|
||||
*
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsForEach(rs_script script, rs_allocation input, rs_allocation output,
|
||||
const void * usrData, size_t usrDataLen, const rs_script_call_t *);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsForEach(rs_script script, rs_allocation input, rs_allocation output,
|
||||
const void * usrData, size_t usrDataLen);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsForEach(rs_script script, rs_allocation input, rs_allocation output);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#undef _RS_RUNTIME
|
||||
|
||||
#endif
|
267
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_debug.rsh
Executable file
267
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_debug.rsh
Executable file
@ -0,0 +1,267 @@
|
||||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_debug.rsh
|
||||
* \brief Utility debugging routines
|
||||
*
|
||||
* Routines intended to be used during application developement. These should
|
||||
* not be used in shipping applications. All print a string and value pair to
|
||||
* the standard log.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_DEBUG_RSH__
|
||||
#define __RS_DEBUG_RSH__
|
||||
|
||||
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, float);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, float, float);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, float, float, float);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, float, float, float, float);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, float2);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, float3);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, float4);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, double);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, const rs_matrix4x4 *);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, const rs_matrix3x3 *);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, const rs_matrix2x2 *);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, int);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, uint);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, long);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, unsigned long);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, long long);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, unsigned long long);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, const void *);
|
||||
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, char);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, char2);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, char3);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, char4);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, unsigned char);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, uchar2);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, uchar3);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, uchar4);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, short);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, short2);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, short3);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, short4);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, unsigned short);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, ushort2);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, ushort3);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, ushort4);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, int2);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, int3);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, int4);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, uint2);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, uint3);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, uint4);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, long2);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, long3);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, long4);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, ulong2);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, ulong3);
|
||||
/**
|
||||
* Debug function. Prints a string and value to the log.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsDebug(const char *, ulong4);
|
||||
#endif // (defined(RS_VERSION) && (RS_VERSION >= 17))
|
||||
|
||||
#define RS_DEBUG(a) rsDebug(#a, a)
|
||||
#define RS_DEBUG_MARKER rsDebug(__FILE__, __LINE__)
|
||||
|
||||
#endif
|
143
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_element.rsh
Executable file
143
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_element.rsh
Executable file
@ -0,0 +1,143 @@
|
||||
/*
|
||||
* Copyright (C) 2012 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_element.rsh
|
||||
* \brief Element routines
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_ELEMENT_RSH__
|
||||
#define __RS_ELEMENT_RSH__
|
||||
|
||||
// New API's
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
/**
|
||||
* Elements could be simple, such as an int or a float, or a
|
||||
* structure with multiple sub elements, such as a collection of
|
||||
* floats, float2, float4. This function returns zero for simple
|
||||
* elements or the number of sub-elements otherwise.
|
||||
*
|
||||
* @param e element to get data from
|
||||
* @return number of sub-elements in this element
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsElementGetSubElementCount(rs_element e);
|
||||
|
||||
/**
|
||||
* For complex elements, this function will return the
|
||||
* sub-element at index
|
||||
*
|
||||
* @param e element to get data from
|
||||
* @param index index of the sub-element to return
|
||||
* @return sub-element in this element at given index
|
||||
*/
|
||||
extern rs_element __attribute__((overloadable))
|
||||
rsElementGetSubElement(rs_element, uint32_t index);
|
||||
|
||||
/**
|
||||
* For complex elements, this function will return the length of
|
||||
* sub-element name at index
|
||||
*
|
||||
* @param e element to get data from
|
||||
* @param index index of the sub-element to return
|
||||
* @return length of the sub-element name including the null
|
||||
* terminator (size of buffer needed to write the name)
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsElementGetSubElementNameLength(rs_element e, uint32_t index);
|
||||
|
||||
/**
|
||||
* For complex elements, this function will return the
|
||||
* sub-element name at index
|
||||
*
|
||||
* @param e element to get data from
|
||||
* @param index index of the sub-element
|
||||
* @param name array to store the name into
|
||||
* @param nameLength length of the provided name array
|
||||
* @return number of characters actually written, excluding the
|
||||
* null terminator
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsElementGetSubElementName(rs_element e, uint32_t index, char *name, uint32_t nameLength);
|
||||
|
||||
/**
|
||||
* For complex elements, some sub-elements could be statically
|
||||
* sized arrays. This function will return the array size for
|
||||
* sub-element at index
|
||||
*
|
||||
* @param e element to get data from
|
||||
* @param index index of the sub-element
|
||||
* @return array size of sub-element in this element at given
|
||||
* index
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsElementGetSubElementArraySize(rs_element e, uint32_t index);
|
||||
|
||||
/**
|
||||
* This function specifies the location of a sub-element within
|
||||
* the element
|
||||
*
|
||||
* @param e element to get data from
|
||||
* @param index index of the sub-element
|
||||
* @return offset in bytes of sub-element in this element at
|
||||
* given index
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsElementGetSubElementOffsetBytes(rs_element e, uint32_t index);
|
||||
|
||||
/**
|
||||
* Returns the size of element in bytes
|
||||
*
|
||||
* @param e element to get data from
|
||||
* @return total size of the element in bytes
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsElementGetBytesSize(rs_element e);
|
||||
|
||||
/**
|
||||
* Returns the element's data type
|
||||
*
|
||||
* @param e element to get data from
|
||||
* @return element's data type
|
||||
*/
|
||||
extern rs_data_type __attribute__((overloadable))
|
||||
rsElementGetDataType(rs_element e);
|
||||
|
||||
/**
|
||||
* Returns the element's data kind
|
||||
*
|
||||
* @param e element to get data from
|
||||
* @return element's data size
|
||||
*/
|
||||
extern rs_data_kind __attribute__((overloadable))
|
||||
rsElementGetDataKind(rs_element e);
|
||||
|
||||
/**
|
||||
* Returns the element's vector size
|
||||
*
|
||||
* @param e element to get data from
|
||||
* @return length of the element vector (for float2, float3,
|
||||
* etc.)
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsElementGetVectorSize(rs_element e);
|
||||
|
||||
#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
#endif // __RS_ELEMENT_RSH__
|
||||
|
421
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_graphics.rsh
Executable file
421
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_graphics.rsh
Executable file
@ -0,0 +1,421 @@
|
||||
/*
|
||||
* Copyright (C) 2011-2012 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_graphics.rsh
|
||||
* \brief RenderScript graphics API
|
||||
*
|
||||
* A set of graphics functions used by RenderScript.
|
||||
*
|
||||
*/
|
||||
#ifndef __RS_GRAPHICS_RSH__
|
||||
#define __RS_GRAPHICS_RSH__
|
||||
|
||||
#include "rs_mesh.rsh"
|
||||
#include "rs_program.rsh"
|
||||
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 14))
|
||||
/**
|
||||
* Set the color target used for all subsequent rendering calls
|
||||
* @param colorTarget
|
||||
* @param slot
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindColorTarget(rs_allocation colorTarget, uint slot);
|
||||
|
||||
/**
|
||||
* Clear the previously set color target
|
||||
* @param slot
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgClearColorTarget(uint slot);
|
||||
|
||||
/**
|
||||
* Set the depth target used for all subsequent rendering calls
|
||||
* @param depthTarget
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindDepthTarget(rs_allocation depthTarget);
|
||||
|
||||
/**
|
||||
* Clear the previously set depth target
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgClearDepthTarget(void);
|
||||
|
||||
/**
|
||||
* Clear all color and depth targets and resume rendering into
|
||||
* the framebuffer
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgClearAllRenderTargets(void);
|
||||
|
||||
/**
|
||||
* Force RenderScript to finish all rendering commands
|
||||
*/
|
||||
extern uint __attribute__((overloadable))
|
||||
rsgFinish(void);
|
||||
|
||||
#endif //defined(RS_VERSION) && (RS_VERSION >= 14)
|
||||
|
||||
/**
|
||||
* Bind a new ProgramFragment to the rendering context.
|
||||
*
|
||||
* @param pf
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindProgramFragment(rs_program_fragment pf);
|
||||
|
||||
/**
|
||||
* Bind a new ProgramStore to the rendering context.
|
||||
*
|
||||
* @param ps
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindProgramStore(rs_program_store ps);
|
||||
|
||||
/**
|
||||
* Bind a new ProgramVertex to the rendering context.
|
||||
*
|
||||
* @param pv
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindProgramVertex(rs_program_vertex pv);
|
||||
|
||||
/**
|
||||
* Bind a new ProgramRaster to the rendering context.
|
||||
*
|
||||
* @param pr
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindProgramRaster(rs_program_raster pr);
|
||||
|
||||
/**
|
||||
* Bind a new Sampler object to a ProgramFragment. The sampler will
|
||||
* operate on the texture bound at the matching slot.
|
||||
*
|
||||
* @param slot
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindSampler(rs_program_fragment, uint slot, rs_sampler);
|
||||
|
||||
/**
|
||||
* Bind a new Allocation object to a ProgramFragment. The
|
||||
* Allocation must be a valid texture for the Program. The sampling
|
||||
* of the texture will be controled by the Sampler bound at the
|
||||
* matching slot.
|
||||
*
|
||||
* @param slot
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindTexture(rs_program_fragment, uint slot, rs_allocation);
|
||||
|
||||
/**
|
||||
* Load the projection matrix for a currently bound fixed function
|
||||
* vertex program. Calling this function with a custom vertex shader
|
||||
* would result in an error.
|
||||
* @param proj projection matrix
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgProgramVertexLoadProjectionMatrix(const rs_matrix4x4 *proj);
|
||||
/**
|
||||
* Load the model matrix for a currently bound fixed function
|
||||
* vertex program. Calling this function with a custom vertex shader
|
||||
* would result in an error.
|
||||
* @param model model matrix
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgProgramVertexLoadModelMatrix(const rs_matrix4x4 *model);
|
||||
/**
|
||||
* Load the texture matrix for a currently bound fixed function
|
||||
* vertex program. Calling this function with a custom vertex shader
|
||||
* would result in an error.
|
||||
* @param tex texture matrix
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgProgramVertexLoadTextureMatrix(const rs_matrix4x4 *tex);
|
||||
/**
|
||||
* Get the projection matrix for a currently bound fixed function
|
||||
* vertex program. Calling this function with a custom vertex shader
|
||||
* would result in an error.
|
||||
* @param proj matrix to store the current projection matrix into
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgProgramVertexGetProjectionMatrix(rs_matrix4x4 *proj);
|
||||
|
||||
/**
|
||||
* Set the constant color for a fixed function emulation program.
|
||||
*
|
||||
* @param pf
|
||||
* @param r
|
||||
* @param g
|
||||
* @param b
|
||||
* @param a
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgProgramFragmentConstantColor(rs_program_fragment pf, float r, float g, float b, float a);
|
||||
|
||||
/**
|
||||
* Bind a new Allocation object to a ProgramFragment. The
|
||||
* Allocation must be a valid constant input for the Program.
|
||||
*
|
||||
* @param ps program object
|
||||
* @param slot index of the constant buffer on the program
|
||||
* @param c constants to bind
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindConstant(rs_program_fragment ps, uint slot, rs_allocation c);
|
||||
|
||||
/**
|
||||
* Bind a new Allocation object to a ProgramVertex. The
|
||||
* Allocation must be a valid constant input for the Program.
|
||||
*
|
||||
* @param pv program object
|
||||
* @param slot index of the constant buffer on the program
|
||||
* @param c constants to bind
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindConstant(rs_program_vertex pv, uint slot, rs_allocation c);
|
||||
|
||||
/**
|
||||
* Get the width of the current rendering surface.
|
||||
*
|
||||
* @return uint
|
||||
*/
|
||||
extern uint __attribute__((overloadable))
|
||||
rsgGetWidth(void);
|
||||
|
||||
/**
|
||||
* Get the height of the current rendering surface.
|
||||
*
|
||||
* @return uint
|
||||
*/
|
||||
extern uint __attribute__((overloadable))
|
||||
rsgGetHeight(void);
|
||||
|
||||
|
||||
/**
|
||||
* Sync the contents of an allocation from its SCRIPT memory space to its HW
|
||||
* memory spaces.
|
||||
*
|
||||
* @param alloc
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgAllocationSyncAll(rs_allocation alloc);
|
||||
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 14))
|
||||
|
||||
/**
|
||||
* Sync the contents of an allocation from memory space
|
||||
* specified by source.
|
||||
*
|
||||
* @param alloc
|
||||
* @param source
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgAllocationSyncAll(rs_allocation alloc,
|
||||
rs_allocation_usage_type source);
|
||||
|
||||
#endif //defined(RS_VERSION) && (RS_VERSION >= 14)
|
||||
|
||||
/**
|
||||
* Low performance utility function for drawing a simple rectangle. Not
|
||||
* intended for drawing large quantities of geometry.
|
||||
*
|
||||
* @param x1
|
||||
* @param y1
|
||||
* @param x2
|
||||
* @param y2
|
||||
* @param z
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgDrawRect(float x1, float y1, float x2, float y2, float z);
|
||||
|
||||
/**
|
||||
* Low performance utility function for drawing a simple quad. Not intended for
|
||||
* drawing large quantities of geometry.
|
||||
*
|
||||
* @param x1
|
||||
* @param y1
|
||||
* @param z1
|
||||
* @param x2
|
||||
* @param y2
|
||||
* @param z2
|
||||
* @param x3
|
||||
* @param y3
|
||||
* @param z3
|
||||
* @param x4
|
||||
* @param y4
|
||||
* @param z4
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgDrawQuad(float x1, float y1, float z1,
|
||||
float x2, float y2, float z2,
|
||||
float x3, float y3, float z3,
|
||||
float x4, float y4, float z4);
|
||||
|
||||
|
||||
/**
|
||||
* Low performance utility function for drawing a textured quad. Not intended
|
||||
* for drawing large quantities of geometry.
|
||||
*
|
||||
* @param x1
|
||||
* @param y1
|
||||
* @param z1
|
||||
* @param u1
|
||||
* @param v1
|
||||
* @param x2
|
||||
* @param y2
|
||||
* @param z2
|
||||
* @param u2
|
||||
* @param v2
|
||||
* @param x3
|
||||
* @param y3
|
||||
* @param z3
|
||||
* @param u3
|
||||
* @param v3
|
||||
* @param x4
|
||||
* @param y4
|
||||
* @param z4
|
||||
* @param u4
|
||||
* @param v4
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgDrawQuadTexCoords(float x1, float y1, float z1, float u1, float v1,
|
||||
float x2, float y2, float z2, float u2, float v2,
|
||||
float x3, float y3, float z3, float u3, float v3,
|
||||
float x4, float y4, float z4, float u4, float v4);
|
||||
|
||||
|
||||
/**
|
||||
* Low performance function for drawing rectangles in screenspace. This
|
||||
* function uses the default passthough ProgramVertex. Any bound ProgramVertex
|
||||
* is ignored. This function has considerable overhead and should not be used
|
||||
* for drawing in shipping applications.
|
||||
*
|
||||
* @param x
|
||||
* @param y
|
||||
* @param z
|
||||
* @param w
|
||||
* @param h
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgDrawSpriteScreenspace(float x, float y, float z, float w, float h);
|
||||
|
||||
extern void __attribute__((overloadable))
|
||||
rsgDrawPath(rs_path p);
|
||||
|
||||
/**
|
||||
* Draw a mesh using the current context state. The whole mesh is
|
||||
* rendered.
|
||||
*
|
||||
* @param ism
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgDrawMesh(rs_mesh ism);
|
||||
/**
|
||||
* Draw part of a mesh using the current context state.
|
||||
* @param ism mesh object to render
|
||||
* @param primitiveIndex for meshes that contain multiple primitive groups
|
||||
* this parameter specifies the index of the group to draw.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgDrawMesh(rs_mesh ism, uint primitiveIndex);
|
||||
/**
|
||||
* Draw specified index range of part of a mesh using the current context state.
|
||||
* @param ism mesh object to render
|
||||
* @param primitiveIndex for meshes that contain multiple primitive groups
|
||||
* this parameter specifies the index of the group to draw.
|
||||
* @param start starting index in the range
|
||||
* @param len number of indices to draw
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgDrawMesh(rs_mesh ism, uint primitiveIndex, uint start, uint len);
|
||||
|
||||
/**
|
||||
* Clears the rendering surface to the specified color.
|
||||
*
|
||||
* @param r
|
||||
* @param g
|
||||
* @param b
|
||||
* @param a
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgClearColor(float r, float g, float b, float a);
|
||||
|
||||
/**
|
||||
* Clears the depth suface to the specified value.
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgClearDepth(float value);
|
||||
/**
|
||||
* Draws text given a string and location
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgDrawText(const char *, int x, int y);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgDrawText(rs_allocation, int x, int y);
|
||||
/**
|
||||
* Binds the font object to be used for all subsequent font rendering calls
|
||||
* @param font object to bind
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgBindFont(rs_font font);
|
||||
/**
|
||||
* Sets the font color for all subsequent rendering calls
|
||||
* @param r red component
|
||||
* @param g green component
|
||||
* @param b blue component
|
||||
* @param a alpha component
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgFontColor(float r, float g, float b, float a);
|
||||
/**
|
||||
* Returns the bounding box of the text relative to (0, 0)
|
||||
* Any of left, right, top, bottom could be NULL
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgMeasureText(const char *, int *left, int *right, int *top, int *bottom);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgMeasureText(rs_allocation, int *left, int *right, int *top, int *bottom);
|
||||
/**
|
||||
* Computes an axis aligned bounding box of a mesh object
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsgMeshComputeBoundingBox(rs_mesh mesh, float *minX, float *minY, float *minZ,
|
||||
float *maxX, float *maxY, float *maxZ);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
__inline__ static void __attribute__((overloadable, always_inline))
|
||||
rsgMeshComputeBoundingBox(rs_mesh mesh, float3 *bBoxMin, float3 *bBoxMax) {
|
||||
float x1, y1, z1, x2, y2, z2;
|
||||
rsgMeshComputeBoundingBox(mesh, &x1, &y1, &z1, &x2, &y2, &z2);
|
||||
bBoxMin->x = x1;
|
||||
bBoxMin->y = y1;
|
||||
bBoxMin->z = z1;
|
||||
bBoxMax->x = x2;
|
||||
bBoxMax->y = y2;
|
||||
bBoxMax->z = z2;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
251
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_math.rsh
Executable file
251
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_math.rsh
Executable file
@ -0,0 +1,251 @@
|
||||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_math.rsh
|
||||
* \brief todo-jsams
|
||||
*
|
||||
* todo-jsams
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_MATH_RSH__
|
||||
#define __RS_MATH_RSH__
|
||||
|
||||
|
||||
/**
|
||||
* Return a random value between 0 (or min_value) and max_malue.
|
||||
*/
|
||||
extern int __attribute__((overloadable))
|
||||
rsRand(int max_value);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern int __attribute__((overloadable))
|
||||
rsRand(int min_value, int max_value);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern float __attribute__((overloadable))
|
||||
rsRand(float max_value);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern float __attribute__((overloadable))
|
||||
rsRand(float min_value, float max_value);
|
||||
|
||||
/**
|
||||
* Returns the fractional part of a float
|
||||
*/
|
||||
extern float __attribute__((const, overloadable))
|
||||
rsFrac(float);
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
// int ops
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Clamp the value amount between low and high.
|
||||
*
|
||||
* @param amount The value to clamp
|
||||
* @param low
|
||||
* @param high
|
||||
*/
|
||||
_RS_RUNTIME uint __attribute__((const, overloadable, always_inline)) rsClamp(uint amount, uint low, uint high);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME int __attribute__((const, overloadable, always_inline)) rsClamp(int amount, int low, int high);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME ushort __attribute__((const, overloadable, always_inline)) rsClamp(ushort amount, ushort low, ushort high);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME short __attribute__((const, overloadable, always_inline)) rsClamp(short amount, short low, short high);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME uchar __attribute__((const, overloadable, always_inline)) rsClamp(uchar amount, uchar low, uchar high);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME char __attribute__((const, overloadable, always_inline)) rsClamp(char amount, char low, char high);
|
||||
|
||||
|
||||
/**
|
||||
* Computes 6 frustum planes from the view projection matrix
|
||||
* @param viewProj matrix to extract planes from
|
||||
* @param left plane
|
||||
* @param right plane
|
||||
* @param top plane
|
||||
* @param bottom plane
|
||||
* @param near plane
|
||||
* @param far plane
|
||||
*/
|
||||
__inline__ static void __attribute__((overloadable, always_inline))
|
||||
rsExtractFrustumPlanes(const rs_matrix4x4 *viewProj,
|
||||
float4 *left, float4 *right,
|
||||
float4 *top, float4 *bottom,
|
||||
float4 *near, float4 *far) {
|
||||
// x y z w = a b c d in the plane equation
|
||||
left->x = viewProj->m[3] + viewProj->m[0];
|
||||
left->y = viewProj->m[7] + viewProj->m[4];
|
||||
left->z = viewProj->m[11] + viewProj->m[8];
|
||||
left->w = viewProj->m[15] + viewProj->m[12];
|
||||
|
||||
right->x = viewProj->m[3] - viewProj->m[0];
|
||||
right->y = viewProj->m[7] - viewProj->m[4];
|
||||
right->z = viewProj->m[11] - viewProj->m[8];
|
||||
right->w = viewProj->m[15] - viewProj->m[12];
|
||||
|
||||
top->x = viewProj->m[3] - viewProj->m[1];
|
||||
top->y = viewProj->m[7] - viewProj->m[5];
|
||||
top->z = viewProj->m[11] - viewProj->m[9];
|
||||
top->w = viewProj->m[15] - viewProj->m[13];
|
||||
|
||||
bottom->x = viewProj->m[3] + viewProj->m[1];
|
||||
bottom->y = viewProj->m[7] + viewProj->m[5];
|
||||
bottom->z = viewProj->m[11] + viewProj->m[9];
|
||||
bottom->w = viewProj->m[15] + viewProj->m[13];
|
||||
|
||||
near->x = viewProj->m[3] + viewProj->m[2];
|
||||
near->y = viewProj->m[7] + viewProj->m[6];
|
||||
near->z = viewProj->m[11] + viewProj->m[10];
|
||||
near->w = viewProj->m[15] + viewProj->m[14];
|
||||
|
||||
far->x = viewProj->m[3] - viewProj->m[2];
|
||||
far->y = viewProj->m[7] - viewProj->m[6];
|
||||
far->z = viewProj->m[11] - viewProj->m[10];
|
||||
far->w = viewProj->m[15] - viewProj->m[14];
|
||||
|
||||
float len = length(left->xyz);
|
||||
*left /= len;
|
||||
len = length(right->xyz);
|
||||
*right /= len;
|
||||
len = length(top->xyz);
|
||||
*top /= len;
|
||||
len = length(bottom->xyz);
|
||||
*bottom /= len;
|
||||
len = length(near->xyz);
|
||||
*near /= len;
|
||||
len = length(far->xyz);
|
||||
*far /= len;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a sphere is withing the 6 frustum planes
|
||||
* @param sphere float4 representing the sphere
|
||||
* @param left plane
|
||||
* @param right plane
|
||||
* @param top plane
|
||||
* @param bottom plane
|
||||
* @param near plane
|
||||
* @param far plane
|
||||
*/
|
||||
__inline__ static bool __attribute__((overloadable, always_inline))
|
||||
rsIsSphereInFrustum(float4 *sphere,
|
||||
float4 *left, float4 *right,
|
||||
float4 *top, float4 *bottom,
|
||||
float4 *near, float4 *far) {
|
||||
|
||||
float distToCenter = dot(left->xyz, sphere->xyz) + left->w;
|
||||
if (distToCenter < -sphere->w) {
|
||||
return false;
|
||||
}
|
||||
distToCenter = dot(right->xyz, sphere->xyz) + right->w;
|
||||
if (distToCenter < -sphere->w) {
|
||||
return false;
|
||||
}
|
||||
distToCenter = dot(top->xyz, sphere->xyz) + top->w;
|
||||
if (distToCenter < -sphere->w) {
|
||||
return false;
|
||||
}
|
||||
distToCenter = dot(bottom->xyz, sphere->xyz) + bottom->w;
|
||||
if (distToCenter < -sphere->w) {
|
||||
return false;
|
||||
}
|
||||
distToCenter = dot(near->xyz, sphere->xyz) + near->w;
|
||||
if (distToCenter < -sphere->w) {
|
||||
return false;
|
||||
}
|
||||
distToCenter = dot(far->xyz, sphere->xyz) + far->w;
|
||||
if (distToCenter < -sphere->w) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Pack floating point (0-1) RGB values into a uchar4. The alpha component is
|
||||
* set to 255 (1.0).
|
||||
*
|
||||
* @param r
|
||||
* @param g
|
||||
* @param b
|
||||
*
|
||||
* @return uchar4
|
||||
*/
|
||||
_RS_RUNTIME uchar4 __attribute__((const, overloadable)) rsPackColorTo8888(float r, float g, float b);
|
||||
|
||||
/**
|
||||
* Pack floating point (0-1) RGBA values into a uchar4.
|
||||
*
|
||||
* @param r
|
||||
* @param g
|
||||
* @param b
|
||||
* @param a
|
||||
*
|
||||
* @return uchar4
|
||||
*/
|
||||
_RS_RUNTIME uchar4 __attribute__((const, overloadable)) rsPackColorTo8888(float r, float g, float b, float a);
|
||||
|
||||
/**
|
||||
* Pack floating point (0-1) RGB values into a uchar4. The alpha component is
|
||||
* set to 255 (1.0).
|
||||
*
|
||||
* @param color
|
||||
*
|
||||
* @return uchar4
|
||||
*/
|
||||
_RS_RUNTIME uchar4 __attribute__((const, overloadable)) rsPackColorTo8888(float3 color);
|
||||
|
||||
/**
|
||||
* Pack floating point (0-1) RGBA values into a uchar4.
|
||||
*
|
||||
* @param color
|
||||
*
|
||||
* @return uchar4
|
||||
*/
|
||||
_RS_RUNTIME uchar4 __attribute__((const, overloadable)) rsPackColorTo8888(float4 color);
|
||||
|
||||
/**
|
||||
* Unpack a uchar4 color to float4. The resulting float range will be (0-1).
|
||||
*
|
||||
* @param c
|
||||
*
|
||||
* @return float4
|
||||
*/
|
||||
_RS_RUNTIME float4 __attribute__((const)) rsUnpackColor8888(uchar4 c);
|
||||
|
||||
_RS_RUNTIME uchar4 __attribute__((const, overloadable)) rsYuvToRGBA_uchar4(uchar y, uchar u, uchar v);
|
||||
_RS_RUNTIME float4 __attribute__((const, overloadable)) rsYuvToRGBA_float4(uchar y, uchar u, uchar v);
|
||||
|
||||
|
||||
#endif
|
378
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_matrix.rsh
Executable file
378
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_matrix.rsh
Executable file
@ -0,0 +1,378 @@
|
||||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_matrix.rsh
|
||||
* \brief Matrix routines
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_MATRIX_RSH__
|
||||
#define __RS_MATRIX_RSH__
|
||||
|
||||
/**
|
||||
* Set one element of a matrix.
|
||||
*
|
||||
* @param m The matrix to be set
|
||||
* @param row
|
||||
* @param col
|
||||
* @param v
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
_RS_RUNTIME void __attribute__((overloadable))
|
||||
rsMatrixSet(rs_matrix4x4 *m, uint32_t row, uint32_t col, float v);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME void __attribute__((overloadable))
|
||||
rsMatrixSet(rs_matrix3x3 *m, uint32_t row, uint32_t col, float v);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME void __attribute__((overloadable))
|
||||
rsMatrixSet(rs_matrix2x2 *m, uint32_t row, uint32_t col, float v);
|
||||
|
||||
/**
|
||||
* Get one element of a matrix.
|
||||
*
|
||||
* @param m The matrix to read from
|
||||
* @param row
|
||||
* @param col
|
||||
*
|
||||
* @return float
|
||||
*/
|
||||
_RS_RUNTIME float __attribute__((overloadable))
|
||||
rsMatrixGet(const rs_matrix4x4 *m, uint32_t row, uint32_t col);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float __attribute__((overloadable))
|
||||
rsMatrixGet(const rs_matrix3x3 *m, uint32_t row, uint32_t col);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float __attribute__((overloadable))
|
||||
rsMatrixGet(const rs_matrix2x2 *m, uint32_t row, uint32_t col);
|
||||
|
||||
/**
|
||||
* Set the elements of a matrix to the identity matrix.
|
||||
*
|
||||
* @param m
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoadIdentity(rs_matrix4x4 *m);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoadIdentity(rs_matrix3x3 *m);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoadIdentity(rs_matrix2x2 *m);
|
||||
|
||||
/**
|
||||
* Set the elements of a matrix from an array of floats.
|
||||
*
|
||||
* @param m
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoad(rs_matrix4x4 *m, const float *v);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoad(rs_matrix3x3 *m, const float *v);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoad(rs_matrix2x2 *m, const float *v);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoad(rs_matrix4x4 *m, const rs_matrix4x4 *v);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoad(rs_matrix4x4 *m, const rs_matrix3x3 *v);
|
||||
|
||||
/**
|
||||
* Set the elements of a matrix from another matrix.
|
||||
*
|
||||
* @param m
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoad(rs_matrix4x4 *m, const rs_matrix2x2 *v);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoad(rs_matrix3x3 *m, const rs_matrix3x3 *v);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixLoad(rs_matrix2x2 *m, const rs_matrix2x2 *v);
|
||||
|
||||
/**
|
||||
* Load a rotation matrix.
|
||||
*
|
||||
* @param m
|
||||
* @param rot
|
||||
* @param x
|
||||
* @param y
|
||||
* @param z
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixLoadRotate(rs_matrix4x4 *m, float rot, float x, float y, float z);
|
||||
|
||||
/**
|
||||
* Load a scale matrix.
|
||||
*
|
||||
* @param m
|
||||
* @param x
|
||||
* @param y
|
||||
* @param z
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixLoadScale(rs_matrix4x4 *m, float x, float y, float z);
|
||||
|
||||
/**
|
||||
* Load a translation matrix.
|
||||
*
|
||||
* @param m
|
||||
* @param x
|
||||
* @param y
|
||||
* @param z
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixLoadTranslate(rs_matrix4x4 *m, float x, float y, float z);
|
||||
|
||||
/**
|
||||
* Multiply two matrix (lhs, rhs) and place the result in m.
|
||||
*
|
||||
* @param m
|
||||
* @param lhs
|
||||
* @param rhs
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixLoadMultiply(rs_matrix4x4 *m, const rs_matrix4x4 *lhs, const rs_matrix4x4 *rhs);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixLoadMultiply(rs_matrix3x3 *m, const rs_matrix3x3 *lhs, const rs_matrix3x3 *rhs);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixLoadMultiply(rs_matrix2x2 *m, const rs_matrix2x2 *lhs, const rs_matrix2x2 *rhs);
|
||||
|
||||
/**
|
||||
* Multiply the matrix m by rhs and place the result back into m.
|
||||
*
|
||||
* @param m (lhs)
|
||||
* @param rhs
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixMultiply(rs_matrix4x4 *m, const rs_matrix4x4 *rhs);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixMultiply(rs_matrix3x3 *m, const rs_matrix3x3 *rhs);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixMultiply(rs_matrix2x2 *m, const rs_matrix2x2 *rhs);
|
||||
|
||||
/**
|
||||
* Multiple matrix m with a rotation matrix
|
||||
*
|
||||
* @param m
|
||||
* @param rot
|
||||
* @param x
|
||||
* @param y
|
||||
* @param z
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixRotate(rs_matrix4x4 *m, float rot, float x, float y, float z);
|
||||
|
||||
/**
|
||||
* Multiple matrix m with a scale matrix
|
||||
*
|
||||
* @param m
|
||||
* @param x
|
||||
* @param y
|
||||
* @param z
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixScale(rs_matrix4x4 *m, float x, float y, float z);
|
||||
|
||||
/**
|
||||
* Multiple matrix m with a translation matrix
|
||||
*
|
||||
* @param m
|
||||
* @param x
|
||||
* @param y
|
||||
* @param z
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixTranslate(rs_matrix4x4 *m, float x, float y, float z);
|
||||
|
||||
/**
|
||||
* Load an Ortho projection matrix constructed from the 6 planes
|
||||
*
|
||||
* @param m
|
||||
* @param left
|
||||
* @param right
|
||||
* @param bottom
|
||||
* @param top
|
||||
* @param near
|
||||
* @param far
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixLoadOrtho(rs_matrix4x4 *m, float left, float right, float bottom, float top, float near, float far);
|
||||
|
||||
/**
|
||||
* Load an Frustum projection matrix constructed from the 6 planes
|
||||
*
|
||||
* @param m
|
||||
* @param left
|
||||
* @param right
|
||||
* @param bottom
|
||||
* @param top
|
||||
* @param near
|
||||
* @param far
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixLoadFrustum(rs_matrix4x4 *m, float left, float right, float bottom, float top, float near, float far);
|
||||
|
||||
/**
|
||||
* Load an perspective projection matrix constructed from the 6 planes
|
||||
*
|
||||
* @param m
|
||||
* @param fovy Field of view, in degrees along the Y axis.
|
||||
* @param aspect Ratio of x / y.
|
||||
* @param near
|
||||
* @param far
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsMatrixLoadPerspective(rs_matrix4x4* m, float fovy, float aspect, float near, float far);
|
||||
|
||||
#if !defined(RS_VERSION) || (RS_VERSION < 14)
|
||||
/**
|
||||
* Multiply a vector by a matrix and return the result vector.
|
||||
* API version 10-13
|
||||
*/
|
||||
_RS_RUNTIME float4 __attribute__((overloadable))
|
||||
rsMatrixMultiply(rs_matrix4x4 *m, float4 in);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float4 __attribute__((overloadable))
|
||||
rsMatrixMultiply(rs_matrix4x4 *m, float3 in);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float4 __attribute__((overloadable))
|
||||
rsMatrixMultiply(rs_matrix4x4 *m, float2 in);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float3 __attribute__((overloadable))
|
||||
rsMatrixMultiply(rs_matrix3x3 *m, float3 in);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float3 __attribute__((overloadable))
|
||||
rsMatrixMultiply(rs_matrix3x3 *m, float2 in);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float2 __attribute__((overloadable))
|
||||
rsMatrixMultiply(rs_matrix2x2 *m, float2 in);
|
||||
#else
|
||||
/**
|
||||
* Multiply a vector by a matrix and return the result vector.
|
||||
* API version 14+
|
||||
*/
|
||||
_RS_RUNTIME float4 __attribute__((overloadable))
|
||||
rsMatrixMultiply(const rs_matrix4x4 *m, float4 in);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float4 __attribute__((overloadable))
|
||||
rsMatrixMultiply(const rs_matrix4x4 *m, float3 in);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float4 __attribute__((overloadable))
|
||||
rsMatrixMultiply(const rs_matrix4x4 *m, float2 in);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float3 __attribute__((overloadable))
|
||||
rsMatrixMultiply(const rs_matrix3x3 *m, float3 in);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float3 __attribute__((overloadable))
|
||||
rsMatrixMultiply(const rs_matrix3x3 *m, float2 in);
|
||||
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
_RS_RUNTIME float2 __attribute__((overloadable))
|
||||
rsMatrixMultiply(const rs_matrix2x2 *m, float2 in);
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the matrix was successfully inversed
|
||||
*
|
||||
* @param m
|
||||
*/
|
||||
extern bool __attribute__((overloadable)) rsMatrixInverse(rs_matrix4x4 *m);
|
||||
|
||||
/**
|
||||
* Returns true if the matrix was successfully inversed and transposed.
|
||||
*
|
||||
* @param m
|
||||
*/
|
||||
extern bool __attribute__((overloadable)) rsMatrixInverseTranspose(rs_matrix4x4 *m);
|
||||
|
||||
/**
|
||||
* Transpose the matrix m.
|
||||
*
|
||||
* @param m
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixTranspose(rs_matrix4x4 *m);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixTranspose(rs_matrix3x3 *m);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable)) rsMatrixTranspose(rs_matrix2x2 *m);
|
||||
|
||||
|
||||
#endif
|
88
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_mesh.rsh
Executable file
88
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_mesh.rsh
Executable file
@ -0,0 +1,88 @@
|
||||
/*
|
||||
* Copyright (C) 2012 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_mesh.rsh
|
||||
* \brief Mesh routines
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_MESH_RSH__
|
||||
#define __RS_MESH_RSH__
|
||||
|
||||
// New API's
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
/**
|
||||
* Returns the number of allocations in the mesh that contain
|
||||
* vertex data
|
||||
*
|
||||
* @param m mesh to get data from
|
||||
* @return number of allocations in the mesh that contain vertex
|
||||
* data
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsgMeshGetVertexAllocationCount(rs_mesh m);
|
||||
|
||||
/**
|
||||
* Meshes could have multiple index sets, this function returns
|
||||
* the number.
|
||||
*
|
||||
* @param m mesh to get data from
|
||||
* @return number of primitive groups in the mesh. This would
|
||||
* include simple primitives as well as allocations
|
||||
* containing index data
|
||||
*/
|
||||
extern uint32_t __attribute__((overloadable))
|
||||
rsgMeshGetPrimitiveCount(rs_mesh m);
|
||||
|
||||
/**
|
||||
* Returns an allocation that is part of the mesh and contains
|
||||
* vertex data, e.g. positions, normals, texcoords
|
||||
*
|
||||
* @param m mesh to get data from
|
||||
* @param index index of the vertex allocation
|
||||
* @return allocation containing vertex data
|
||||
*/
|
||||
extern rs_allocation __attribute__((overloadable))
|
||||
rsgMeshGetVertexAllocation(rs_mesh m, uint32_t index);
|
||||
|
||||
/**
|
||||
* Returns an allocation containing index data or a null
|
||||
* allocation if only the primitive is specified
|
||||
*
|
||||
* @param m mesh to get data from
|
||||
* @param index index of the index allocation
|
||||
* @return allocation containing index data
|
||||
*/
|
||||
extern rs_allocation __attribute__((overloadable))
|
||||
rsgMeshGetIndexAllocation(rs_mesh m, uint32_t index);
|
||||
|
||||
/**
|
||||
* Returns the primitive describing how a part of the mesh is
|
||||
* rendered
|
||||
*
|
||||
* @param m mesh to get data from
|
||||
* @param index index of the primitive
|
||||
* @return primitive describing how the mesh is rendered
|
||||
*/
|
||||
extern rs_primitive __attribute__((overloadable))
|
||||
rsgMeshGetPrimitive(rs_mesh m, uint32_t index);
|
||||
|
||||
#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
#endif // __RS_MESH_RSH__
|
||||
|
220
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_object.rsh
Executable file
220
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_object.rsh
Executable file
@ -0,0 +1,220 @@
|
||||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_object.rsh
|
||||
* \brief Object routines
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_OBJECT_RSH__
|
||||
#define __RS_OBJECT_RSH__
|
||||
|
||||
|
||||
/**
|
||||
* Copy reference to the specified object.
|
||||
*
|
||||
* @param dst
|
||||
* @param src
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_element *dst, rs_element src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_type *dst, rs_type src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_allocation *dst, rs_allocation src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_sampler *dst, rs_sampler src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_script *dst, rs_script src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_path *dst, rs_path src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_mesh *dst, rs_mesh src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_program_fragment *dst, rs_program_fragment src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_program_vertex *dst, rs_program_vertex src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_program_raster *dst, rs_program_raster src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_program_store *dst, rs_program_store src);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsSetObject(rs_font *dst, rs_font src);
|
||||
|
||||
/**
|
||||
* Sets the object to NULL.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_element *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_type *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_allocation *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_sampler *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_script *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_path *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_mesh *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_program_fragment *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_program_vertex *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_program_raster *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_program_store *dst);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern void __attribute__((overloadable))
|
||||
rsClearObject(rs_font *dst);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Tests if the object is valid. Returns true if the object is valid, false if
|
||||
* it is NULL.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_element);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_type);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_allocation);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_sampler);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_script);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_path);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_mesh);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_program_fragment);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_program_vertex);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_program_raster);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_program_store);
|
||||
/**
|
||||
* \overload
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsIsObject(rs_font);
|
||||
|
||||
#endif
|
118
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_program.rsh
Executable file
118
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_program.rsh
Executable file
@ -0,0 +1,118 @@
|
||||
/*
|
||||
* Copyright (C) 2012 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_program.rsh
|
||||
* \brief Program object routines
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_PROGRAM_RSH__
|
||||
#define __RS_PROGRAM_RSH__
|
||||
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
/**
|
||||
* Get program store depth function
|
||||
*
|
||||
* @param ps program store to query
|
||||
*/
|
||||
extern rs_depth_func __attribute__((overloadable))
|
||||
rsgProgramStoreGetDepthFunc(rs_program_store ps);
|
||||
|
||||
/**
|
||||
* Get program store depth mask
|
||||
*
|
||||
* @param ps program store to query
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsgProgramStoreIsDepthMaskEnabled(rs_program_store ps);
|
||||
/**
|
||||
* Get program store red component color mask
|
||||
*
|
||||
* @param ps program store to query
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsgProgramStoreIsColorMaskRedEnabled(rs_program_store ps);
|
||||
|
||||
/**
|
||||
* Get program store green component color mask
|
||||
*
|
||||
* @param ps program store to query
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsgProgramStoreIsColorMaskGreenEnabled(rs_program_store ps);
|
||||
|
||||
/**
|
||||
* Get program store blur component color mask
|
||||
*
|
||||
* @param ps program store to query
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsgProgramStoreIsColorMaskBlueEnabled(rs_program_store ps);
|
||||
|
||||
/**
|
||||
* Get program store alpha component color mask
|
||||
*
|
||||
* @param ps program store to query
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsgProgramStoreIsColorMaskAlphaEnabled(rs_program_store ps);
|
||||
|
||||
/**
|
||||
* Get program store blend source function
|
||||
*
|
||||
* @param ps program store to query
|
||||
*/
|
||||
extern rs_blend_src_func __attribute__((overloadable))
|
||||
rsgProgramStoreGetBlendSrcFunc(rs_program_store ps);
|
||||
|
||||
/**
|
||||
* Get program store blend destination function
|
||||
*
|
||||
* @param ps program store to query
|
||||
*/
|
||||
extern rs_blend_dst_func __attribute__((overloadable))
|
||||
rsgProgramStoreGetBlendDstFunc(rs_program_store ps);
|
||||
|
||||
/**
|
||||
* Get program store dither state
|
||||
*
|
||||
* @param ps program store to query
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsgProgramStoreIsDitherEnabled(rs_program_store ps);
|
||||
|
||||
/**
|
||||
* Get program raster point sprite state
|
||||
*
|
||||
* @param pr program raster to query
|
||||
*/
|
||||
extern bool __attribute__((overloadable))
|
||||
rsgProgramRasterIsPointSpriteEnabled(rs_program_raster pr);
|
||||
|
||||
/**
|
||||
* Get program raster cull mode
|
||||
*
|
||||
* @param pr program raster to query
|
||||
*/
|
||||
extern rs_cull_mode __attribute__((overloadable))
|
||||
rsgProgramRasterGetCullMode(rs_program_raster pr);
|
||||
|
||||
#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
#endif // __RS_PROGRAM_RSH__
|
||||
|
253
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_quaternion.rsh
Executable file
253
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_quaternion.rsh
Executable file
@ -0,0 +1,253 @@
|
||||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_quaternion.rsh
|
||||
* \brief Quaternion routines
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_QUATERNION_RSH__
|
||||
#define __RS_QUATERNION_RSH__
|
||||
|
||||
|
||||
/**
|
||||
* Set the quaternion components
|
||||
* @param w component
|
||||
* @param x component
|
||||
* @param y component
|
||||
* @param z component
|
||||
*/
|
||||
static void __attribute__((overloadable))
|
||||
rsQuaternionSet(rs_quaternion *q, float w, float x, float y, float z) {
|
||||
q->w = w;
|
||||
q->x = x;
|
||||
q->y = y;
|
||||
q->z = z;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the quaternion from another quaternion
|
||||
* @param q destination quaternion
|
||||
* @param rhs source quaternion
|
||||
*/
|
||||
static void __attribute__((overloadable))
|
||||
rsQuaternionSet(rs_quaternion *q, const rs_quaternion *rhs) {
|
||||
q->w = rhs->w;
|
||||
q->x = rhs->x;
|
||||
q->y = rhs->y;
|
||||
q->z = rhs->z;
|
||||
}
|
||||
|
||||
/**
|
||||
* Multiply quaternion by a scalar
|
||||
* @param q quaternion to multiply
|
||||
* @param s scalar
|
||||
*/
|
||||
static void __attribute__((overloadable))
|
||||
rsQuaternionMultiply(rs_quaternion *q, float s) {
|
||||
q->w *= s;
|
||||
q->x *= s;
|
||||
q->y *= s;
|
||||
q->z *= s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add two quaternions
|
||||
* @param q destination quaternion to add to
|
||||
* @param rsh right hand side quaternion to add
|
||||
*/
|
||||
static void
|
||||
rsQuaternionAdd(rs_quaternion *q, const rs_quaternion *rhs) {
|
||||
q->w *= rhs->w;
|
||||
q->x *= rhs->x;
|
||||
q->y *= rhs->y;
|
||||
q->z *= rhs->z;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a quaternion that represents a rotation about an arbitrary unit vector
|
||||
* @param q quaternion to set
|
||||
* @param rot angle to rotate by
|
||||
* @param x component of a vector
|
||||
* @param y component of a vector
|
||||
* @param x component of a vector
|
||||
*/
|
||||
static void
|
||||
rsQuaternionLoadRotateUnit(rs_quaternion *q, float rot, float x, float y, float z) {
|
||||
rot *= (float)(M_PI / 180.0f) * 0.5f;
|
||||
float c = cos(rot);
|
||||
float s = sin(rot);
|
||||
|
||||
q->w = c;
|
||||
q->x = x * s;
|
||||
q->y = y * s;
|
||||
q->z = z * s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a quaternion that represents a rotation about an arbitrary vector
|
||||
* (doesn't have to be unit)
|
||||
* @param q quaternion to set
|
||||
* @param rot angle to rotate by
|
||||
* @param x component of a vector
|
||||
* @param y component of a vector
|
||||
* @param x component of a vector
|
||||
*/
|
||||
static void
|
||||
rsQuaternionLoadRotate(rs_quaternion *q, float rot, float x, float y, float z) {
|
||||
const float len = x*x + y*y + z*z;
|
||||
if (len != 1) {
|
||||
const float recipLen = 1.f / sqrt(len);
|
||||
x *= recipLen;
|
||||
y *= recipLen;
|
||||
z *= recipLen;
|
||||
}
|
||||
rsQuaternionLoadRotateUnit(q, rot, x, y, z);
|
||||
}
|
||||
|
||||
/**
|
||||
* Conjugates the quaternion
|
||||
* @param q quaternion to conjugate
|
||||
*/
|
||||
static void
|
||||
rsQuaternionConjugate(rs_quaternion *q) {
|
||||
q->x = -q->x;
|
||||
q->y = -q->y;
|
||||
q->z = -q->z;
|
||||
}
|
||||
|
||||
/**
|
||||
* Dot product of two quaternions
|
||||
* @param q0 first quaternion
|
||||
* @param q1 second quaternion
|
||||
* @return dot product between q0 and q1
|
||||
*/
|
||||
static float
|
||||
rsQuaternionDot(const rs_quaternion *q0, const rs_quaternion *q1) {
|
||||
return q0->w*q1->w + q0->x*q1->x + q0->y*q1->y + q0->z*q1->z;
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalizes the quaternion
|
||||
* @param q quaternion to normalize
|
||||
*/
|
||||
static void
|
||||
rsQuaternionNormalize(rs_quaternion *q) {
|
||||
const float len = rsQuaternionDot(q, q);
|
||||
if (len != 1) {
|
||||
const float recipLen = 1.f / sqrt(len);
|
||||
rsQuaternionMultiply(q, recipLen);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Multiply quaternion by another quaternion
|
||||
* @param q destination quaternion
|
||||
* @param rhs right hand side quaternion to multiply by
|
||||
*/
|
||||
static void __attribute__((overloadable))
|
||||
rsQuaternionMultiply(rs_quaternion *q, const rs_quaternion *rhs) {
|
||||
rs_quaternion qtmp;
|
||||
rsQuaternionSet(&qtmp, q);
|
||||
|
||||
q->w = qtmp.w*rhs->w - qtmp.x*rhs->x - qtmp.y*rhs->y - qtmp.z*rhs->z;
|
||||
q->x = qtmp.w*rhs->x + qtmp.x*rhs->w + qtmp.y*rhs->z - qtmp.z*rhs->y;
|
||||
q->y = qtmp.w*rhs->y + qtmp.y*rhs->w + qtmp.z*rhs->x - qtmp.x*rhs->z;
|
||||
q->z = qtmp.w*rhs->z + qtmp.z*rhs->w + qtmp.x*rhs->y - qtmp.y*rhs->x;
|
||||
rsQuaternionNormalize(q);
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs spherical linear interpolation between two quaternions
|
||||
* @param q result quaternion from interpolation
|
||||
* @param q0 first param
|
||||
* @param q1 second param
|
||||
* @param t how much to interpolate by
|
||||
*/
|
||||
static void
|
||||
rsQuaternionSlerp(rs_quaternion *q, const rs_quaternion *q0, const rs_quaternion *q1, float t) {
|
||||
if (t <= 0.0f) {
|
||||
rsQuaternionSet(q, q0);
|
||||
return;
|
||||
}
|
||||
if (t >= 1.0f) {
|
||||
rsQuaternionSet(q, q1);
|
||||
return;
|
||||
}
|
||||
|
||||
rs_quaternion tempq0, tempq1;
|
||||
rsQuaternionSet(&tempq0, q0);
|
||||
rsQuaternionSet(&tempq1, q1);
|
||||
|
||||
float angle = rsQuaternionDot(q0, q1);
|
||||
if (angle < 0) {
|
||||
rsQuaternionMultiply(&tempq0, -1.0f);
|
||||
angle *= -1.0f;
|
||||
}
|
||||
|
||||
float scale, invScale;
|
||||
if (angle + 1.0f > 0.05f) {
|
||||
if (1.0f - angle >= 0.05f) {
|
||||
float theta = acos(angle);
|
||||
float invSinTheta = 1.0f / sin(theta);
|
||||
scale = sin(theta * (1.0f - t)) * invSinTheta;
|
||||
invScale = sin(theta * t) * invSinTheta;
|
||||
} else {
|
||||
scale = 1.0f - t;
|
||||
invScale = t;
|
||||
}
|
||||
} else {
|
||||
rsQuaternionSet(&tempq1, tempq0.z, -tempq0.y, tempq0.x, -tempq0.w);
|
||||
scale = sin(M_PI * (0.5f - t));
|
||||
invScale = sin(M_PI * t);
|
||||
}
|
||||
|
||||
rsQuaternionSet(q, tempq0.w*scale + tempq1.w*invScale, tempq0.x*scale + tempq1.x*invScale,
|
||||
tempq0.y*scale + tempq1.y*invScale, tempq0.z*scale + tempq1.z*invScale);
|
||||
}
|
||||
|
||||
/**
|
||||
* Computes rotation matrix from the normalized quaternion
|
||||
* @param m resulting matrix
|
||||
* @param p normalized quaternion
|
||||
*/
|
||||
static void rsQuaternionGetMatrixUnit(rs_matrix4x4 *m, const rs_quaternion *q) {
|
||||
float xx = q->x * q->x;
|
||||
float xy = q->x * q->y;
|
||||
float xz = q->x * q->z;
|
||||
float xw = q->x * q->w;
|
||||
float yy = q->y * q->y;
|
||||
float yz = q->y * q->z;
|
||||
float yw = q->y * q->w;
|
||||
float zz = q->z * q->z;
|
||||
float zw = q->z * q->w;
|
||||
|
||||
m->m[0] = 1.0f - 2.0f * ( yy + zz );
|
||||
m->m[4] = 2.0f * ( xy - zw );
|
||||
m->m[8] = 2.0f * ( xz + yw );
|
||||
m->m[1] = 2.0f * ( xy + zw );
|
||||
m->m[5] = 1.0f - 2.0f * ( xx + zz );
|
||||
m->m[9] = 2.0f * ( yz - xw );
|
||||
m->m[2] = 2.0f * ( xz - yw );
|
||||
m->m[6] = 2.0f * ( yz + xw );
|
||||
m->m[10] = 1.0f - 2.0f * ( xx + yy );
|
||||
m->m[3] = m->m[7] = m->m[11] = m->m[12] = m->m[13] = m->m[14] = 0.0f;
|
||||
m->m[15] = 1.0f;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
77
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_sampler.rsh
Executable file
77
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_sampler.rsh
Executable file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* Copyright (C) 2012 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_sampler.rsh
|
||||
* \brief Sampler routines
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_SAMPLER_RSH__
|
||||
#define __RS_SAMPLER_RSH__
|
||||
|
||||
// New API's
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
/**
|
||||
* Get sampler minification value
|
||||
*
|
||||
* @param s sampler to query
|
||||
* @return minification value
|
||||
*/
|
||||
extern rs_sampler_value __attribute__((overloadable))
|
||||
rsSamplerGetMinification(rs_sampler s);
|
||||
|
||||
/**
|
||||
* Get sampler magnification value
|
||||
*
|
||||
* @param s sampler to query
|
||||
* @return magnification value
|
||||
*/
|
||||
extern rs_sampler_value __attribute__((overloadable))
|
||||
rsSamplerGetMagnification(rs_sampler s);
|
||||
|
||||
/**
|
||||
* Get sampler wrap S value
|
||||
*
|
||||
* @param s sampler to query
|
||||
* @return wrap S value
|
||||
*/
|
||||
extern rs_sampler_value __attribute__((overloadable))
|
||||
rsSamplerGetWrapS(rs_sampler s);
|
||||
|
||||
/**
|
||||
* Get sampler wrap T value
|
||||
*
|
||||
* @param s sampler to query
|
||||
* @return wrap T value
|
||||
*/
|
||||
extern rs_sampler_value __attribute__((overloadable))
|
||||
rsSamplerGetWrapT(rs_sampler s);
|
||||
|
||||
/**
|
||||
Get sampler anisotropy
|
||||
*
|
||||
* @param s sampler to query
|
||||
* @return anisotropy
|
||||
*/
|
||||
extern float __attribute__((overloadable))
|
||||
rsSamplerGetAnisotropy(rs_sampler s);
|
||||
|
||||
#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
#endif // __RS_SAMPLER_RSH__
|
||||
|
111
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_time.rsh
Executable file
111
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_time.rsh
Executable file
@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_time.rsh
|
||||
* \brief RenderScript time routines
|
||||
*
|
||||
* This file contains RenderScript functions relating to time and date
|
||||
* manipulation.
|
||||
*/
|
||||
|
||||
#ifndef __RS_TIME_RSH__
|
||||
#define __RS_TIME_RSH__
|
||||
|
||||
/**
|
||||
* Calendar time interpreted as seconds elapsed since the Epoch (00:00:00 on
|
||||
* January 1, 1970, Coordinated Universal Time (UTC)).
|
||||
*/
|
||||
typedef int rs_time_t;
|
||||
|
||||
/**
|
||||
* Data structure for broken-down time components.
|
||||
*
|
||||
* tm_sec - Seconds after the minute. This ranges from 0 to 59, but possibly
|
||||
* up to 60 for leap seconds.
|
||||
* tm_min - Minutes after the hour. This ranges from 0 to 59.
|
||||
* tm_hour - Hours past midnight. This ranges from 0 to 23.
|
||||
* tm_mday - Day of the month. This ranges from 1 to 31.
|
||||
* tm_mon - Months since January. This ranges from 0 to 11.
|
||||
* tm_year - Years since 1900.
|
||||
* tm_wday - Days since Sunday. This ranges from 0 to 6.
|
||||
* tm_yday - Days since January 1. This ranges from 0 to 365.
|
||||
* tm_isdst - Flag to indicate whether daylight saving time is in effect. The
|
||||
* value is positive if it is in effect, zero if it is not, and
|
||||
* negative if the information is not available.
|
||||
*/
|
||||
typedef struct {
|
||||
int tm_sec; ///< seconds
|
||||
int tm_min; ///< minutes
|
||||
int tm_hour; ///< hours
|
||||
int tm_mday; ///< day of the month
|
||||
int tm_mon; ///< month
|
||||
int tm_year; ///< year
|
||||
int tm_wday; ///< day of the week
|
||||
int tm_yday; ///< day of the year
|
||||
int tm_isdst; ///< daylight savings time
|
||||
} rs_tm;
|
||||
|
||||
/**
|
||||
* Returns the number of seconds since the Epoch (00:00:00 UTC, January 1,
|
||||
* 1970). If @p timer is non-NULL, the result is also stored in the memory
|
||||
* pointed to by this variable. If an error occurs, a value of -1 is returned.
|
||||
*
|
||||
* @param timer Location to also store the returned calendar time.
|
||||
*
|
||||
* @return Seconds since the Epoch.
|
||||
*/
|
||||
extern rs_time_t __attribute__((overloadable))
|
||||
rsTime(rs_time_t *timer);
|
||||
|
||||
/**
|
||||
* Converts the time specified by @p timer into broken-down time and stores it
|
||||
* in @p local. This function also returns a pointer to @p local. If @p local
|
||||
* is NULL, this function does nothing and returns NULL.
|
||||
*
|
||||
* @param local Broken-down time.
|
||||
* @param timer Input time as calendar time.
|
||||
*
|
||||
* @return Pointer to broken-down time (same as input @p local).
|
||||
*/
|
||||
extern rs_tm * __attribute__((overloadable))
|
||||
rsLocaltime(rs_tm *local, const rs_time_t *timer);
|
||||
|
||||
/**
|
||||
* Returns the current system clock (uptime) in milliseconds.
|
||||
*
|
||||
* @return Uptime in milliseconds.
|
||||
*/
|
||||
extern int64_t __attribute__((overloadable))
|
||||
rsUptimeMillis(void);
|
||||
|
||||
/**
|
||||
* Returns the current system clock (uptime) in nanoseconds.
|
||||
*
|
||||
* @return Uptime in nanoseconds.
|
||||
*/
|
||||
extern int64_t __attribute__((overloadable))
|
||||
rsUptimeNanos(void);
|
||||
|
||||
/**
|
||||
* Returns the time in seconds since this function was last called in this
|
||||
* script.
|
||||
*
|
||||
* @return Time in seconds.
|
||||
*/
|
||||
extern float __attribute__((overloadable))
|
||||
rsGetDt(void);
|
||||
|
||||
#endif
|
628
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_types.rsh
Executable file
628
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_types.rsh
Executable file
@ -0,0 +1,628 @@
|
||||
/*
|
||||
* Copyright (C) 2013 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @file rs_types.rsh
|
||||
*
|
||||
* Define the standard RenderScript types
|
||||
*
|
||||
* Integers
|
||||
* 8 bit: char, int8_t
|
||||
* 16 bit: short, int16_t
|
||||
* 32 bit: int, in32_t
|
||||
* 64 bit: long, long long, int64_t
|
||||
*
|
||||
* Unsigned Integers
|
||||
* 8 bit: uchar, uint8_t
|
||||
* 16 bit: ushort, uint16_t
|
||||
* 32 bit: uint, uint32_t
|
||||
* 64 bit: ulong, uint64_t
|
||||
*
|
||||
* Floating point
|
||||
* 32 bit: float
|
||||
* 64 bit: double
|
||||
*
|
||||
* Vectors of length 2, 3, and 4 are supported for all the types above.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RS_TYPES_RSH__
|
||||
#define __RS_TYPES_RSH__
|
||||
|
||||
/* Constants */
|
||||
#define M_E 2.718281828459045235360287471352662498f /* e */
|
||||
#define M_LOG2E 1.442695040888963407359924681001892137f /* log_2 e */
|
||||
#define M_LOG10E 0.434294481903251827651128918916605082f /* log_10 e */
|
||||
#define M_LN2 0.693147180559945309417232121458176568f /* log_e 2 */
|
||||
#define M_LN10 2.302585092994045684017991454684364208f /* log_e 10 */
|
||||
#define M_PI 3.141592653589793238462643383279502884f /* pi */
|
||||
#define M_PI_2 1.570796326794896619231321691639751442f /* pi/2 */
|
||||
#define M_PI_4 0.785398163397448309615660845819875721f /* pi/4 */
|
||||
#define M_1_PI 0.318309886183790671537767526745028724f /* 1/pi */
|
||||
#define M_2_PIl 0.636619772367581343075535053490057448f /* 2/pi */
|
||||
#define M_2_SQRTPI 1.128379167095512573896158903121545172f /* 2/sqrt(pi) */
|
||||
#define M_SQRT2 1.414213562373095048801688724209698079f /* sqrt(2) */
|
||||
#define M_SQRT1_2 0.707106781186547524400844362104849039f /* 1/sqrt(2) */
|
||||
|
||||
#include "stdbool.h"
|
||||
/**
|
||||
* 8 bit integer type
|
||||
*/
|
||||
typedef char int8_t;
|
||||
/**
|
||||
* 16 bit integer type
|
||||
*/
|
||||
typedef short int16_t;
|
||||
/**
|
||||
* 32 bit integer type
|
||||
*/
|
||||
typedef int int32_t;
|
||||
/**
|
||||
* 64 bit integer type
|
||||
*/
|
||||
typedef long long int64_t;
|
||||
/**
|
||||
* 8 bit unsigned integer type
|
||||
*/
|
||||
typedef unsigned char uint8_t;
|
||||
/**
|
||||
* 16 bit unsigned integer type
|
||||
*/
|
||||
typedef unsigned short uint16_t;
|
||||
/**
|
||||
* 32 bit unsigned integer type
|
||||
*/
|
||||
typedef unsigned int uint32_t;
|
||||
/**
|
||||
* 64 bit unsigned integer type
|
||||
*/
|
||||
typedef unsigned long long uint64_t;
|
||||
/**
|
||||
* 8 bit unsigned integer type
|
||||
*/
|
||||
typedef uint8_t uchar;
|
||||
/**
|
||||
* 16 bit unsigned integer type
|
||||
*/
|
||||
typedef uint16_t ushort;
|
||||
/**
|
||||
* 32 bit unsigned integer type
|
||||
*/
|
||||
typedef uint32_t uint;
|
||||
/**
|
||||
* Typedef for unsigned long (use for 64-bit unsigned integers)
|
||||
*/
|
||||
typedef uint64_t ulong;
|
||||
/**
|
||||
* Typedef for unsigned int
|
||||
*/
|
||||
typedef uint32_t size_t;
|
||||
/**
|
||||
* Typedef for int (use for 32-bit integers)
|
||||
*/
|
||||
typedef int32_t ssize_t;
|
||||
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript element.
|
||||
*
|
||||
* See: android.renderscript.Element
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_element;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript type.
|
||||
*
|
||||
* See: android.renderscript.Type
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_type;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript allocation.
|
||||
*
|
||||
* See: android.renderscript.Allocation
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_allocation;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript sampler object.
|
||||
*
|
||||
* See: android.renderscript.Sampler
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_sampler;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript script object.
|
||||
*
|
||||
* See: android.renderscript.ScriptC
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_script;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript mesh object.
|
||||
*
|
||||
* See: android.renderscript.Mesh
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_mesh;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript Path object.
|
||||
*
|
||||
* See: android.renderscript.Path
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_path;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript ProgramFragment object.
|
||||
*
|
||||
* See: android.renderscript.ProgramFragment
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_fragment;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript ProgramVertex object.
|
||||
*
|
||||
* See: android.renderscript.ProgramVertex
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_vertex;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript ProgramRaster object.
|
||||
*
|
||||
* See: android.renderscript.ProgramRaster
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_raster;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript ProgramStore object.
|
||||
*
|
||||
* See: android.renderscript.ProgramStore
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_store;
|
||||
/**
|
||||
* \brief Opaque handle to a RenderScript font object.
|
||||
*
|
||||
* See: android.renderscript.Font
|
||||
*/
|
||||
typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_font;
|
||||
|
||||
/**
|
||||
* Vector version of the basic float type.
|
||||
* Provides two float fields packed into a single 64 bit field with 64 bit
|
||||
* alignment.
|
||||
*/
|
||||
typedef float float2 __attribute__((ext_vector_type(2)));
|
||||
/**
|
||||
* Vector version of the basic float type. Provides three float fields packed
|
||||
* into a single 128 bit field with 128 bit alignment.
|
||||
*/
|
||||
typedef float float3 __attribute__((ext_vector_type(3)));
|
||||
/**
|
||||
* Vector version of the basic float type.
|
||||
* Provides four float fields packed into a single 128 bit field with 128 bit
|
||||
* alignment.
|
||||
*/
|
||||
typedef float float4 __attribute__((ext_vector_type(4)));
|
||||
|
||||
/**
|
||||
* Vector version of the basic double type. Provides two double fields packed
|
||||
* into a single 128 bit field with 128 bit alignment.
|
||||
*/
|
||||
typedef double double2 __attribute__((ext_vector_type(2)));
|
||||
/**
|
||||
* Vector version of the basic double type. Provides three double fields packed
|
||||
* into a single 256 bit field with 256 bit alignment.
|
||||
*/
|
||||
typedef double double3 __attribute__((ext_vector_type(3)));
|
||||
/**
|
||||
* Vector version of the basic double type. Provides four double fields packed
|
||||
* into a single 256 bit field with 256 bit alignment.
|
||||
*/
|
||||
typedef double double4 __attribute__((ext_vector_type(4)));
|
||||
|
||||
/**
|
||||
* Vector version of the basic uchar type. Provides two uchar fields packed
|
||||
* into a single 16 bit field with 16 bit alignment.
|
||||
*/
|
||||
typedef uchar uchar2 __attribute__((ext_vector_type(2)));
|
||||
/**
|
||||
* Vector version of the basic uchar type. Provides three uchar fields packed
|
||||
* into a single 32 bit field with 32 bit alignment.
|
||||
*/
|
||||
typedef uchar uchar3 __attribute__((ext_vector_type(3)));
|
||||
/**
|
||||
* Vector version of the basic uchar type. Provides four uchar fields packed
|
||||
* into a single 32 bit field with 32 bit alignment.
|
||||
*/
|
||||
typedef uchar uchar4 __attribute__((ext_vector_type(4)));
|
||||
|
||||
/**
|
||||
* Vector version of the basic ushort type. Provides two ushort fields packed
|
||||
* into a single 32 bit field with 32 bit alignment.
|
||||
*/
|
||||
typedef ushort ushort2 __attribute__((ext_vector_type(2)));
|
||||
/**
|
||||
* Vector version of the basic ushort type. Provides three ushort fields packed
|
||||
* into a single 64 bit field with 64 bit alignment.
|
||||
*/
|
||||
typedef ushort ushort3 __attribute__((ext_vector_type(3)));
|
||||
/**
|
||||
* Vector version of the basic ushort type. Provides four ushort fields packed
|
||||
* into a single 64 bit field with 64 bit alignment.
|
||||
*/
|
||||
typedef ushort ushort4 __attribute__((ext_vector_type(4)));
|
||||
|
||||
/**
|
||||
* Vector version of the basic uint type. Provides two uint fields packed into a
|
||||
* single 64 bit field with 64 bit alignment.
|
||||
*/
|
||||
typedef uint uint2 __attribute__((ext_vector_type(2)));
|
||||
/**
|
||||
* Vector version of the basic uint type. Provides three uint fields packed into
|
||||
* a single 128 bit field with 128 bit alignment.
|
||||
*/
|
||||
typedef uint uint3 __attribute__((ext_vector_type(3)));
|
||||
/**
|
||||
* Vector version of the basic uint type. Provides four uint fields packed into
|
||||
* a single 128 bit field with 128 bit alignment.
|
||||
*/
|
||||
typedef uint uint4 __attribute__((ext_vector_type(4)));
|
||||
|
||||
/**
|
||||
* Vector version of the basic ulong type. Provides two ulong fields packed into
|
||||
* a single 128 bit field with 128 bit alignment.
|
||||
*/
|
||||
typedef ulong ulong2 __attribute__((ext_vector_type(2)));
|
||||
/**
|
||||
* Vector version of the basic ulong type. Provides three ulong fields packed
|
||||
* into a single 256 bit field with 256 bit alignment.
|
||||
*/
|
||||
typedef ulong ulong3 __attribute__((ext_vector_type(3)));
|
||||
/**
|
||||
* Vector version of the basic ulong type. Provides four ulong fields packed
|
||||
* into a single 256 bit field with 256 bit alignment.
|
||||
*/
|
||||
typedef ulong ulong4 __attribute__((ext_vector_type(4)));
|
||||
|
||||
/**
|
||||
* Vector version of the basic char type. Provides two char fields packed into a
|
||||
* single 16 bit field with 16 bit alignment.
|
||||
*/
|
||||
typedef char char2 __attribute__((ext_vector_type(2)));
|
||||
/**
|
||||
* Vector version of the basic char type. Provides three char fields packed into
|
||||
* a single 32 bit field with 32 bit alignment.
|
||||
*/
|
||||
typedef char char3 __attribute__((ext_vector_type(3)));
|
||||
/**
|
||||
* Vector version of the basic char type. Provides four char fields packed into
|
||||
* a single 32 bit field with 32 bit alignment.
|
||||
*/
|
||||
typedef char char4 __attribute__((ext_vector_type(4)));
|
||||
|
||||
/**
|
||||
* Vector version of the basic short type. Provides two short fields packed into
|
||||
* a single 32 bit field with 32 bit alignment.
|
||||
*/
|
||||
typedef short short2 __attribute__((ext_vector_type(2)));
|
||||
/**
|
||||
* Vector version of the basic short type. Provides three short fields packed
|
||||
* into a single 64 bit field with 64 bit alignment.
|
||||
*/
|
||||
typedef short short3 __attribute__((ext_vector_type(3)));
|
||||
/**
|
||||
* Vector version of the basic short type. Provides four short fields packed
|
||||
* into a single 64 bit field with 64 bit alignment.
|
||||
*/
|
||||
typedef short short4 __attribute__((ext_vector_type(4)));
|
||||
|
||||
/**
|
||||
* Vector version of the basic int type. Provides two int fields packed into a
|
||||
* single 64 bit field with 64 bit alignment.
|
||||
*/
|
||||
typedef int int2 __attribute__((ext_vector_type(2)));
|
||||
/**
|
||||
* Vector version of the basic int type. Provides three int fields packed into a
|
||||
* single 128 bit field with 128 bit alignment.
|
||||
*/
|
||||
typedef int int3 __attribute__((ext_vector_type(3)));
|
||||
/**
|
||||
* Vector version of the basic int type. Provides two four fields packed into a
|
||||
* single 128 bit field with 128 bit alignment.
|
||||
*/
|
||||
typedef int int4 __attribute__((ext_vector_type(4)));
|
||||
|
||||
/**
|
||||
* Vector version of the basic long type. Provides two long fields packed into a
|
||||
* single 128 bit field with 128 bit alignment.
|
||||
*/
|
||||
typedef long long2 __attribute__((ext_vector_type(2)));
|
||||
/**
|
||||
* Vector version of the basic long type. Provides three long fields packed into
|
||||
* a single 256 bit field with 256 bit alignment.
|
||||
*/
|
||||
typedef long long3 __attribute__((ext_vector_type(3)));
|
||||
/**
|
||||
* Vector version of the basic long type. Provides four long fields packed into
|
||||
* a single 256 bit field with 256 bit alignment.
|
||||
*/
|
||||
typedef long long4 __attribute__((ext_vector_type(4)));
|
||||
|
||||
/**
|
||||
* \brief 4x4 float matrix
|
||||
*
|
||||
* Native holder for RS matrix. Elements are stored in the array at the
|
||||
* location [row*4 + col]
|
||||
*/
|
||||
typedef struct {
|
||||
float m[16];
|
||||
} rs_matrix4x4;
|
||||
/**
|
||||
* \brief 3x3 float matrix
|
||||
*
|
||||
* Native holder for RS matrix. Elements are stored in the array at the
|
||||
* location [row*3 + col]
|
||||
*/
|
||||
typedef struct {
|
||||
float m[9];
|
||||
} rs_matrix3x3;
|
||||
/**
|
||||
* \brief 2x2 float matrix
|
||||
*
|
||||
* Native holder for RS matrix. Elements are stored in the array at the
|
||||
* location [row*2 + col]
|
||||
*/
|
||||
typedef struct {
|
||||
float m[4];
|
||||
} rs_matrix2x2;
|
||||
|
||||
/**
|
||||
* quaternion type for use with the quaternion functions
|
||||
*/
|
||||
typedef float4 rs_quaternion;
|
||||
|
||||
#define RS_PACKED __attribute__((packed, aligned(4)))
|
||||
#define NULL ((void *)0)
|
||||
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 14))
|
||||
|
||||
/**
|
||||
* \brief Enum for selecting cube map faces
|
||||
*/
|
||||
typedef enum {
|
||||
RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X = 0,
|
||||
RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_X = 1,
|
||||
RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Y = 2,
|
||||
RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Y = 3,
|
||||
RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Z = 4,
|
||||
RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Z = 5
|
||||
} rs_allocation_cubemap_face;
|
||||
|
||||
/**
|
||||
* \brief Bitfield to specify the usage types for an allocation.
|
||||
*
|
||||
* These values are ORed together to specify which usages or memory spaces are
|
||||
* relevant to an allocation or an operation on an allocation.
|
||||
*/
|
||||
typedef enum {
|
||||
RS_ALLOCATION_USAGE_SCRIPT = 0x0001,
|
||||
RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE = 0x0002,
|
||||
RS_ALLOCATION_USAGE_GRAPHICS_VERTEX = 0x0004,
|
||||
RS_ALLOCATION_USAGE_GRAPHICS_CONSTANTS = 0x0008,
|
||||
RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010
|
||||
} rs_allocation_usage_type;
|
||||
|
||||
#endif //defined(RS_VERSION) && (RS_VERSION >= 14)
|
||||
|
||||
// New API's
|
||||
#if (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
/**
|
||||
* Describes the way mesh vertex data is interpreted when rendering
|
||||
*
|
||||
**/
|
||||
typedef enum {
|
||||
/**
|
||||
* Vertex data will be rendered as a series of points
|
||||
*/
|
||||
RS_PRIMITIVE_POINT = 0,
|
||||
/**
|
||||
* Vertex pairs will be rendered as lines
|
||||
*/
|
||||
RS_PRIMITIVE_LINE = 1,
|
||||
/**
|
||||
* Vertex data will be rendered as a connected line strip
|
||||
*/
|
||||
RS_PRIMITIVE_LINE_STRIP = 2,
|
||||
/**
|
||||
* Vertices will be rendered as individual triangles
|
||||
*/
|
||||
RS_PRIMITIVE_TRIANGLE = 3,
|
||||
/**
|
||||
* Vertices will be rendered as a connected triangle strip
|
||||
* defined by the first three vertices with each additional
|
||||
* triangle defined by a new vertex
|
||||
*/
|
||||
RS_PRIMITIVE_TRIANGLE_STRIP = 4,
|
||||
/**
|
||||
* Vertices will be rendered as a sequence of triangles that all
|
||||
* share first vertex as the origin
|
||||
*/
|
||||
RS_PRIMITIVE_TRIANGLE_FAN = 5,
|
||||
|
||||
/**
|
||||
* Invalid primitive
|
||||
*/
|
||||
RS_PRIMITIVE_INVALID = 100,
|
||||
} rs_primitive;
|
||||
|
||||
/**
|
||||
* \brief Enumeration for possible element data types
|
||||
*
|
||||
* DataType represents the basic type information for a basic element. The
|
||||
* naming convention follows. For numeric types it is FLOAT,
|
||||
* SIGNED, or UNSIGNED followed by the _BITS where BITS is the
|
||||
* size of the data. BOOLEAN is a true / false (1,0)
|
||||
* represented in an 8 bit container. The UNSIGNED variants
|
||||
* with multiple bit definitions are for packed graphical data
|
||||
* formats and represent vectors with per vector member sizes
|
||||
* which are treated as a single unit for packing and alignment
|
||||
* purposes.
|
||||
*
|
||||
* MATRIX the three matrix types contain FLOAT_32 elements and are treated
|
||||
* as 32 bits for alignment purposes.
|
||||
*
|
||||
* RS_* objects. 32 bit opaque handles.
|
||||
*/
|
||||
typedef enum {
|
||||
RS_TYPE_NONE = 0,
|
||||
RS_TYPE_FLOAT_32 = 2,
|
||||
RS_TYPE_FLOAT_64 = 3,
|
||||
RS_TYPE_SIGNED_8 = 4,
|
||||
RS_TYPE_SIGNED_16 = 5,
|
||||
RS_TYPE_SIGNED_32 = 6,
|
||||
RS_TYPE_SIGNED_64 = 7,
|
||||
RS_TYPE_UNSIGNED_8 = 8,
|
||||
RS_TYPE_UNSIGNED_16 = 9,
|
||||
RS_TYPE_UNSIGNED_32 = 10,
|
||||
RS_TYPE_UNSIGNED_64 = 11,
|
||||
|
||||
RS_TYPE_BOOLEAN = 12,
|
||||
|
||||
RS_TYPE_UNSIGNED_5_6_5 = 13,
|
||||
RS_TYPE_UNSIGNED_5_5_5_1 = 14,
|
||||
RS_TYPE_UNSIGNED_4_4_4_4 = 15,
|
||||
|
||||
RS_TYPE_MATRIX_4X4 = 16,
|
||||
RS_TYPE_MATRIX_3X3 = 17,
|
||||
RS_TYPE_MATRIX_2X2 = 18,
|
||||
|
||||
RS_TYPE_ELEMENT = 1000,
|
||||
RS_TYPE_TYPE = 1001,
|
||||
RS_TYPE_ALLOCATION = 1002,
|
||||
RS_TYPE_SAMPLER = 1003,
|
||||
RS_TYPE_SCRIPT = 1004,
|
||||
RS_TYPE_MESH = 1005,
|
||||
RS_TYPE_PROGRAM_FRAGMENT = 1006,
|
||||
RS_TYPE_PROGRAM_VERTEX = 1007,
|
||||
RS_TYPE_PROGRAM_RASTER = 1008,
|
||||
RS_TYPE_PROGRAM_STORE = 1009,
|
||||
RS_TYPE_FONT = 1010,
|
||||
|
||||
RS_TYPE_INVALID = 10000,
|
||||
} rs_data_type;
|
||||
|
||||
/**
|
||||
* \brief Enumeration for possible element data kind
|
||||
*
|
||||
* The special interpretation of the data if required. This is primarly
|
||||
* useful for graphical data. USER indicates no special interpretation is
|
||||
* expected. PIXEL is used in conjunction with the standard data types for
|
||||
* representing texture formats.
|
||||
*/
|
||||
typedef enum {
|
||||
RS_KIND_USER = 0,
|
||||
|
||||
RS_KIND_PIXEL_L = 7,
|
||||
RS_KIND_PIXEL_A = 8,
|
||||
RS_KIND_PIXEL_LA = 9,
|
||||
RS_KIND_PIXEL_RGB = 10,
|
||||
RS_KIND_PIXEL_RGBA = 11,
|
||||
RS_KIND_PIXEL_DEPTH = 12,
|
||||
RS_KIND_PIXEL_YUV = 13,
|
||||
|
||||
RS_KIND_INVALID = 100,
|
||||
} rs_data_kind;
|
||||
|
||||
typedef enum {
|
||||
/**
|
||||
* Always drawn
|
||||
*/
|
||||
RS_DEPTH_FUNC_ALWAYS = 0,
|
||||
/**
|
||||
* Drawn if the incoming depth value is less than that in the
|
||||
* depth buffer
|
||||
*/
|
||||
RS_DEPTH_FUNC_LESS = 1,
|
||||
/**
|
||||
* Drawn if the incoming depth value is less or equal to that in
|
||||
* the depth buffer
|
||||
*/
|
||||
RS_DEPTH_FUNC_LEQUAL = 2,
|
||||
/**
|
||||
* Drawn if the incoming depth value is greater than that in the
|
||||
* depth buffer
|
||||
*/
|
||||
RS_DEPTH_FUNC_GREATER = 3,
|
||||
/**
|
||||
* Drawn if the incoming depth value is greater or equal to that
|
||||
* in the depth buffer
|
||||
*/
|
||||
RS_DEPTH_FUNC_GEQUAL = 4,
|
||||
/**
|
||||
* Drawn if the incoming depth value is equal to that in the
|
||||
* depth buffer
|
||||
*/
|
||||
RS_DEPTH_FUNC_EQUAL = 5,
|
||||
/**
|
||||
* Drawn if the incoming depth value is not equal to that in the
|
||||
* depth buffer
|
||||
*/
|
||||
RS_DEPTH_FUNC_NOTEQUAL = 6,
|
||||
/**
|
||||
* Invalid depth function
|
||||
*/
|
||||
RS_DEPTH_FUNC_INVALID = 100,
|
||||
} rs_depth_func;
|
||||
|
||||
typedef enum {
|
||||
RS_BLEND_SRC_ZERO = 0,
|
||||
RS_BLEND_SRC_ONE = 1,
|
||||
RS_BLEND_SRC_DST_COLOR = 2,
|
||||
RS_BLEND_SRC_ONE_MINUS_DST_COLOR = 3,
|
||||
RS_BLEND_SRC_SRC_ALPHA = 4,
|
||||
RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA = 5,
|
||||
RS_BLEND_SRC_DST_ALPHA = 6,
|
||||
RS_BLEND_SRC_ONE_MINUS_DST_ALPHA = 7,
|
||||
RS_BLEND_SRC_SRC_ALPHA_SATURATE = 8,
|
||||
|
||||
RS_BLEND_SRC_INVALID = 100,
|
||||
} rs_blend_src_func;
|
||||
|
||||
typedef enum {
|
||||
RS_BLEND_DST_ZERO = 0,
|
||||
RS_BLEND_DST_ONE = 1,
|
||||
RS_BLEND_DST_SRC_COLOR = 2,
|
||||
RS_BLEND_DST_ONE_MINUS_SRC_COLOR = 3,
|
||||
RS_BLEND_DST_SRC_ALPHA = 4,
|
||||
RS_BLEND_DST_ONE_MINUS_SRC_ALPHA = 5,
|
||||
RS_BLEND_DST_DST_ALPHA = 6,
|
||||
RS_BLEND_DST_ONE_MINUS_DST_ALPHA = 7,
|
||||
|
||||
RS_BLEND_DST_INVALID = 100,
|
||||
} rs_blend_dst_func;
|
||||
|
||||
typedef enum {
|
||||
RS_CULL_BACK = 0,
|
||||
RS_CULL_FRONT = 1,
|
||||
RS_CULL_NONE = 2,
|
||||
|
||||
RS_CULL_INVALID = 100,
|
||||
} rs_cull_mode;
|
||||
|
||||
typedef enum {
|
||||
RS_SAMPLER_NEAREST = 0,
|
||||
RS_SAMPLER_LINEAR = 1,
|
||||
RS_SAMPLER_LINEAR_MIP_LINEAR = 2,
|
||||
RS_SAMPLER_WRAP = 3,
|
||||
RS_SAMPLER_CLAMP = 4,
|
||||
RS_SAMPLER_LINEAR_MIP_NEAREST = 5,
|
||||
RS_SAMPLER_MIRRORED_REPEAT = 6,
|
||||
|
||||
RS_SAMPLER_INVALID = 100,
|
||||
} rs_sampler_value;
|
||||
|
||||
#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
|
||||
|
||||
#endif // __RS_TYPES_RSH__
|
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/bc/armeabi-v7a/libclcore.bc
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/bc/armeabi-v7a/libclcore.bc
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/bc/mips/libclcore.bc
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/bc/mips/libclcore.bc
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/bc/x86/libclcore.bc
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/bc/x86/libclcore.bc
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/armeabi-v7a/libc.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/armeabi-v7a/libc.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/armeabi-v7a/libcompiler_rt.a
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/armeabi-v7a/libcompiler_rt.a
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/armeabi-v7a/libm.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/armeabi-v7a/libm.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/mips/libc.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/mips/libc.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/mips/libcompiler_rt.a
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/mips/libcompiler_rt.a
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/mips/libm.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/mips/libm.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/x86/libc.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/x86/libc.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/x86/libcompiler_rt.a
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/x86/libcompiler_rt.a
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/x86/libm.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/intermediates/x86/libm.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/armeabi-v7a/libRSSupport.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/armeabi-v7a/libRSSupport.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/armeabi-v7a/librsjni.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/armeabi-v7a/librsjni.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/mips/libRSSupport.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/mips/libRSSupport.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/mips/librsjni.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/mips/librsjni.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/x86/libRSSupport.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/x86/libRSSupport.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/x86/librsjni.so
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/packaged/x86/librsjni.so
Executable file
Binary file not shown.
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/renderscript-v8.jar
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/renderscript/lib/renderscript-v8.jar
Executable file
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/zipalign
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/build-tools/19.1.0/zipalign
Executable file
Binary file not shown.
14677
StartGamedev-160604-osx/tools/android-osx/platform-tools/NOTICE.txt
Executable file
14677
StartGamedev-160604-osx/tools/android-osx/platform-tools/NOTICE.txt
Executable file
File diff suppressed because it is too large
Load Diff
BIN
StartGamedev-160604-osx/tools/android-osx/platform-tools/adb
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/platform-tools/adb
Executable file
Binary file not shown.
57543
StartGamedev-160604-osx/tools/android-osx/platform-tools/api/api-versions.xml
Executable file
57543
StartGamedev-160604-osx/tools/android-osx/platform-tools/api/api-versions.xml
Executable file
File diff suppressed because it is too large
Load Diff
BIN
StartGamedev-160604-osx/tools/android-osx/platform-tools/dmtracedump
Executable file
BIN
StartGamedev-160604-osx/tools/android-osx/platform-tools/dmtracedump
Executable file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user