Add intrinsic NEON versions for float_to_s16/s16_to_float (#12933)

* Add intrinsic NEON versions for float_to_s16/s16_to_float courtesy
of davidgfnet

* Define -DDONT_WANT_ARM_OPTIMIZATIONS for resampler sinc - this should
default to intrinsic versions

* Default to ARM NEON intrinsic codepath and make the ASM codepaths
optional by defining HAVE_ARM_NEON_ASM_OPTIMIZATIONS

* (Pkg/apple/Android) Take out ASM files being compiled in
This commit is contained in:
Autechre 2021-09-04 00:25:21 +02:00 committed by GitHub
parent 19f4504943
commit 9a5f4602cc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 221 additions and 427 deletions

View file

@ -134,7 +134,6 @@ ifneq ($(findstring Darwin,$(OS)),)
MINVERFLAGS=
ifeq ($(shell uname -p),arm)
MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit)
MINVERFLAGS += -DDONT_WANT_ARM_ASM_OPTIMIZATIONS
else ifeq ($(HAVE_METAL),1)
MINVERFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++ # macOS (Metal, x86 64bit)
else ifeq ($(shell uname -p),powerpc)
@ -148,7 +147,6 @@ ifneq ($(findstring Darwin,$(OS)),)
# Build for a specific architecture when ARCH is defined as a switch
ifeq ($(ARCH),arm64)
MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit)
MINVERFLAGS += -DDONT_WANT_ARM_ASM_OPTIMIZATIONS
ARCHFLAGS = -arch arm64
else ifeq ($(ARCH),x86_64)
ifeq ($(HAVE_METAL),1)

View file

@ -29,12 +29,6 @@
#include <audio/audio_resampler.h>
#if (defined(__ARM_NEON__) && !defined(DONT_WANT_ARM_ASM_OPTIMIZATIONS)) || defined(HAVE_NEON)
#ifndef HAVE_ARM_NEON_ASM_OPTIMIZATIONS
#define HAVE_ARM_NEON_ASM_OPTIMIZATIONS
#endif
#endif
/* Since SSE and NEON don't provide support for trigonometric functions
* we approximate those with polynoms
*

View file

@ -54,7 +54,6 @@ ldflags := -dynamiclib
MINVERFLAGS=
ifeq ($(shell uname -p),arm)
MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit)
MINVERFLAGS += -DDONT_WANT_ARM_ASM_OPTIMIZATIONS
else ifeq ($(HAVE_METAL),1)
MINVERFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++ # macOS (Metal, x86 64bit)
else ifeq ($(shell uname -p),powerpc)
@ -68,7 +67,6 @@ ldflags := -dynamiclib
# Build for a specific architecture when ARCH is defined as a switch
ifeq ($(ARCH),arm64)
MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit)
MINVERFLAGS += -DDONT_WANT_ARM_ASM_OPTIMIZATIONS
ARCHFLAGS = -arch arm64
else ifeq ($(ARCH),x86_64)
ifeq ($(HAVE_METAL),1)

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2010-2020 The RetroArch team
/* Copyright (C) 2010-2021 The RetroArch team
*
* ---------------------------------------------------------------------------------------
* The following license statement only applies to this file (float_to_s16.c).
@ -28,37 +28,75 @@
#include <altivec.h>
#endif
#if (defined(__ARM_NEON__) && !defined(DONT_WANT_ARM_ASM_OPTIMIZATIONS)) || defined(HAVE_NEON)
#ifndef HAVE_ARM_NEON_ASM_OPTIMIZATIONS
#define HAVE_ARM_NEON_ASM_OPTIMIZATIONS
#endif
#endif
#include <features/features_cpu.h>
#include <audio/conversion/float_to_s16.h>
#if defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
#if (defined(__ARM_NEON__) || defined(HAVE_NEON))
static bool float_to_s16_neon_enabled = false;
void convert_float_s16_asm(int16_t *out, const float *in, size_t samples);
#ifdef HAVE_ARM_NEON_ASM_OPTIMIZATIONS
void convert_float_s16_asm(int16_t *out,
const float *in, size_t samples);
#else
#include <arm_neon.h>
#endif
/**
* convert_float_to_s16:
* @out : output buffer
* @in : input buffer
* @samples : size of samples to be converted
*
* Converts floating point
* to signed integer 16-bit.
*
* C implementation callback function.
**/
void convert_float_to_s16(int16_t *out,
const float *in, size_t samples)
{
size_t i = 0;
size_t i = 0;
if (float_to_s16_neon_enabled)
{
float gf = (1<<15);
float32x4_t vgf = {gf, gf, gf, gf};
while (samples >= 8)
{
#ifdef HAVE_ARM_NEON_ASM_OPTIMIZATIONS
size_t aligned_samples = samples & ~7;
if (aligned_samples)
convert_float_s16_asm(out, in, aligned_samples);
out = out + aligned_samples;
in = in + aligned_samples;
samples = samples - aligned_samples;
i = 0;
#else
int16x4x2_t oreg;
int32x4x2_t creg;
float32x4x2_t inreg = vld2q_f32(in);
creg.val[0] = vcvtq_s32_f32(vmulq_f32(inreg.val[0], vgf));
creg.val[1] = vcvtq_s32_f32(vmulq_f32(inreg.val[1], vgf));
oreg.val[0] = vqmovn_s32(creg.val[0]);
oreg.val[1] = vqmovn_s32(creg.val[1]);
vst2_s16(out, oreg);
in += 8;
out += 8;
samples -= 8;
#endif
}
}
for (; i < samples; i++)
{
int32_t val = (int32_t)(in[i] * 0x8000);
out[i] = (val > 0x7FFF) ? 0x7FFF :
(val < -0x8000 ? -0x8000 : (int16_t)val);
}
}
void convert_float_to_s16_init_simd(void)
{
unsigned cpu = cpu_features_get();
if (cpu & RETRO_SIMD_NEON)
float_to_s16_neon_enabled = true;
}
#else
void convert_float_to_s16(int16_t *out,
const float *in, size_t samples)
{
size_t i = 0;
#if defined(__SSE2__)
__m128 factor = _mm_set1_ps((float)0x8000);
__m128 factor = _mm_set1_ps((float)0x8000);
for (i = 0; i + 8 <= samples; i += 8, in += 8, out += 8)
{
@ -73,10 +111,10 @@ void convert_float_to_s16(int16_t *out,
_mm_storeu_si128((__m128i *)out, packed);
}
samples = samples - i;
i = 0;
samples = samples - i;
i = 0;
#elif defined(__ALTIVEC__)
int samples_in = samples;
int samples_in = samples;
/* Unaligned loads/store is a bit expensive,
* so we optimize for the good path (very likely). */
@ -92,25 +130,12 @@ void convert_float_to_s16(int16_t *out,
vec_st(vec_packs(result0, result1), 0, out);
}
samples_in -= i;
samples_in -= i;
}
samples = samples_in;
i = 0;
#elif defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
if (float_to_s16_neon_enabled)
{
size_t aligned_samples = samples & ~7;
if (aligned_samples)
convert_float_s16_asm(out, in, aligned_samples);
out = out + aligned_samples;
in = in + aligned_samples;
samples = samples - aligned_samples;
i = 0;
}
samples = samples_in;
i = 0;
#elif defined(_MIPS_ARCH_ALLEGREX)
#ifdef DEBUG
/* Make sure the buffers are 16 byte aligned, this should be
* the default behaviour of malloc in the PSPSDK.
@ -138,29 +163,16 @@ void convert_float_to_s16(int16_t *out,
".set pop \n"
:: "r"(in + i), "r"(out + i));
}
#endif
for (; i < samples; i++)
{
int32_t val = (int32_t)(in[i] * 0x8000);
out[i] = (val > 0x7FFF) ? 0x7FFF :
(val < -0x8000 ? -0x8000 : (int16_t)val);
int32_t val = (int32_t)(in[i] * 0x8000);
out[i] = (val > 0x7FFF)
? 0x7FFF
: (val < -0x8000 ? -0x8000 : (int16_t)val);
}
}
/**
* convert_float_to_s16_init_simd:
*
* Sets up function pointers for conversion
* functions based on CPU features.
**/
void convert_float_to_s16_init_simd(void)
{
#if defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
unsigned cpu = cpu_features_get();
if (cpu & RETRO_SIMD_NEON)
float_to_s16_neon_enabled = true;
void convert_float_to_s16_init_simd(void) { }
#endif
}

View file

@ -19,7 +19,7 @@
* 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(__ARM_NEON__) && !defined(DONT_WANT_ARM_ASM_OPTIMIZATIONS)
#if defined(__ARM_NEON__) && defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
#ifndef __MACH__
.arm

View file

@ -19,7 +19,7 @@
* 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(__ARM_NEON__) && !defined(DONT_WANT_ARM_ASM_OPTIMIZATIONS)
#if defined(__ARM_NEON__) && defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
#if defined(__thumb__)
#define DECL_ARMMODE(x) " .align 2\n" " .global " x "\n" " .thumb\n" " .thumb_func\n" " .type " x ", %function\n" x ":\n"

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2010-2020 The RetroArch team
/* Copyright (C) 2010-2021 The RetroArch team
*
* ---------------------------------------------------------------------------------------
* The following license statement only applies to this file (s16_to_float.c).
@ -29,30 +29,67 @@
#include <features/features_cpu.h>
#include <audio/conversion/s16_to_float.h>
#if (defined(__ARM_NEON__) && !defined(DONT_WANT_ARM_ASM_OPTIMIZATIONS)) || defined(HAVE_NEON)
#ifndef HAVE_ARM_NEON_ASM_OPTIMIZATIONS
#define HAVE_ARM_NEON_ASM_OPTIMIZATIONS
#endif
#endif
#if defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
#if (defined(__ARM_NEON__) || defined(HAVE_NEON))
static bool s16_to_float_neon_enabled = false;
#ifdef HAVE_ARM_NEON_ASM_OPTIMIZATIONS
/* Avoid potential hard-float/soft-float ABI issues. */
void convert_s16_float_asm(float *out, const int16_t *in,
size_t samples, const float *gain);
#else
#include <arm_neon.h>
#endif
/**
* convert_s16_to_float:
* @out : output buffer
* @in : input buffer
* @samples : size of samples to be converted
* @gain : gain applied (.e.g. audio volume)
*
* Converts from signed integer 16-bit
* to floating point.
**/
void convert_s16_to_float(float *out,
const int16_t *in, size_t samples, float gain)
{
unsigned i = 0;
if (s16_to_float_neon_enabled)
{
#ifdef HAVE_ARM_NEON_ASM_OPTIMIZATIONS
size_t aligned_samples = samples & ~7;
if (aligned_samples)
convert_s16_float_asm(out, in, aligned_samples, &gain);
/* Could do all conversion in ASM, but keep it simple for now. */
out = out + aligned_samples;
in = in + aligned_samples;
samples = samples - aligned_samples;
i = 0;
#else
float gf = gain / (1<<15);
float32x4_t vgf = {gf, gf, gf, gf};
while (samples >= 8)
{
float32x4x2_t oreg;
int16x4x2_t inreg = vld2_s16(in);
int32x4_t p1 = vmovl_s16(inreg.val[0]);
int32x4_t p2 = vmovl_s16(inreg.val[1]);
oreg.val[0] = vmulq_f32(vcvtq_f32_s32(p1), vgf);
oreg.val[1] = vmulq_f32(vcvtq_f32_s32(p2), vgf);
vst2q_f32(out, oreg);
in += 8;
out += 8;
samples -= 8;
}
#endif
}
gain /= 0x8000;
for (; i < samples; i++)
out[i] = (float)in[i] * gain;
}
void convert_s16_to_float_init_simd(void)
{
unsigned cpu = cpu_features_get();
if (cpu & RETRO_SIMD_NEON)
s16_to_float_neon_enabled = true;
}
#else
void convert_s16_to_float(float *out,
const int16_t *in, size_t samples, float gain)
{
@ -103,24 +140,9 @@ void convert_s16_to_float(float *out,
samples = samples_in;
i = 0;
#elif defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
if (s16_to_float_neon_enabled)
{
size_t aligned_samples = samples & ~7;
if (aligned_samples)
convert_s16_float_asm(out, in, aligned_samples, &gain);
/* Could do all conversion in ASM, but keep it simple for now. */
out = out + aligned_samples;
in = in + aligned_samples;
samples = samples - aligned_samples;
i = 0;
}
#endif
gain = gain / 0x8000;
gain /= 0x8000;
#if defined(_MIPS_ARCH_ALLEGREX)
#ifdef DEBUG
@ -172,25 +194,12 @@ void convert_s16_to_float(float *out,
".set pop \n"
:: "r"(in + i), "r"(out + i));
}
#endif
for (; i < samples; i++)
out[i] = (float)in[i] * gain;
}
/**
* convert_s16_to_float_init_simd:
*
* Sets up function pointers for conversion
* functions based on CPU features.
**/
void convert_s16_to_float_init_simd(void)
{
#if defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
unsigned cpu = cpu_features_get();
if (cpu & RETRO_SIMD_NEON)
s16_to_float_neon_enabled = true;
void convert_s16_to_float_init_simd(void) { }
#endif
}

View file

@ -19,7 +19,7 @@
* 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(__ARM_NEON__) && !defined(DONT_WANT_ARM_ASM_OPTIMIZATIONS)
#if defined(__ARM_NEON__) && defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
#ifndef __MACH__
.arm

View file

@ -19,7 +19,7 @@
* 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(__ARM_NEON__) && !defined(DONT_WANT_ARM_ASM_OPTIMIZATIONS)
#if defined(__ARM_NEON__) && defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
#if defined(__thumb__)
#define DECL_ARMMODE(x) " .align 2\n" " .global " x "\n" " .thumb\n" " .thumb_func\n" " .type " x ", %function\n" x ":\n"

View file

@ -54,7 +54,6 @@ else ifeq ($(platform), osx)
MINVERFLAGS=
ifeq ($(shell uname -p),arm)
MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit)
MINVERFLAGS += -DDONT_WANT_ARM_ASM_OPTIMIZATIONS
else ifeq ($(HAVE_METAL),1)
MINVERFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++ # macOS (Metal, x86 64bit)
else ifeq ($(shell uname -p),powerpc)
@ -68,7 +67,6 @@ else ifeq ($(platform), osx)
# Build for a specific architecture when ARCH is defined as a switch
ifeq ($(ARCH),arm64)
MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit)
MINVERFLAGS += -DDONT_WANT_ARM_ASM_OPTIMIZATIONS
ARCHFLAGS = -arch arm64
else ifeq ($(ARCH),x86_64)
ifeq ($(HAVE_METAL),1)

View file

@ -86,7 +86,63 @@ typedef struct rarch_sinc_resampler
} rarch_sinc_resampler_t;
#if (defined(__ARM_NEON__) || defined(HAVE_NEON))
#ifdef DONT_WANT_ARM_ASM_OPTIMIZATIONS
#ifdef HAVE_ARM_NEON_ASM_OPTIMIZATIONS
/* Assumes that taps >= 8, and that taps is a multiple of 8. */
void process_sinc_neon_asm(float *out, const float *left,
const float *right, const float *coeff, unsigned taps);
static void resampler_sinc_process_neon(void *re_, struct resampler_data *data)
{
rarch_sinc_resampler_t *resamp = (rarch_sinc_resampler_t*)re_;
unsigned phases = 1 << (resamp->phase_bits + resamp->subphase_bits);
uint32_t ratio = phases / data->ratio;
const float *input = data->data_in;
float *output = data->data_out;
size_t frames = data->input_frames;
size_t out_frames = 0;
while (frames)
{
while (frames && resamp->time >= phases)
{
/* Push in reverse to make filter more obvious. */
if (!resamp->ptr)
resamp->ptr = resamp->taps;
resamp->ptr--;
resamp->buffer_l[resamp->ptr + resamp->taps] =
resamp->buffer_l[resamp->ptr] = *input++;
resamp->buffer_r[resamp->ptr + resamp->taps] =
resamp->buffer_r[resamp->ptr] = *input++;
resamp->time -= phases;
frames--;
}
{
const float *buffer_l = resamp->buffer_l + resamp->ptr;
const float *buffer_r = resamp->buffer_r + resamp->ptr;
unsigned taps = resamp->taps;
while (resamp->time < phases)
{
unsigned phase = resamp->time >> resamp->subphase_bits;
const float *phase_table = resamp->phase_table + phase * taps;
process_sinc_neon_asm(output, buffer_l, buffer_r, phase_table, taps);
output += 2;
out_frames++;
resamp->time += ratio;
}
}
}
data->output_frames = out_frames;
}
#else
#include <arm_neon.h>
/* Assumes that taps >= 8, and that taps is a multiple of 8. */
@ -159,62 +215,8 @@ static void resampler_sinc_process_neon_intrin(void *re_, struct resampler_data
data->output_frames = out_frames;
}
#else
/* Assumes that taps >= 8, and that taps is a multiple of 8. */
void process_sinc_neon_asm(float *out, const float *left,
const float *right, const float *coeff, unsigned taps);
static void resampler_sinc_process_neon(void *re_, struct resampler_data *data)
{
rarch_sinc_resampler_t *resamp = (rarch_sinc_resampler_t*)re_;
unsigned phases = 1 << (resamp->phase_bits + resamp->subphase_bits);
uint32_t ratio = phases / data->ratio;
const float *input = data->data_in;
float *output = data->data_out;
size_t frames = data->input_frames;
size_t out_frames = 0;
while (frames)
{
while (frames && resamp->time >= phases)
{
/* Push in reverse to make filter more obvious. */
if (!resamp->ptr)
resamp->ptr = resamp->taps;
resamp->ptr--;
resamp->buffer_l[resamp->ptr + resamp->taps] =
resamp->buffer_l[resamp->ptr] = *input++;
resamp->buffer_r[resamp->ptr + resamp->taps] =
resamp->buffer_r[resamp->ptr] = *input++;
resamp->time -= phases;
frames--;
}
{
const float *buffer_l = resamp->buffer_l + resamp->ptr;
const float *buffer_r = resamp->buffer_r + resamp->ptr;
unsigned taps = resamp->taps;
while (resamp->time < phases)
{
unsigned phase = resamp->time >> resamp->subphase_bits;
const float *phase_table = resamp->phase_table + phase * taps;
process_sinc_neon_asm(output, buffer_l, buffer_r, phase_table, taps);
output += 2;
out_frames++;
resamp->time += ratio;
}
}
}
data->output_frames = out_frames;
}
#endif
#endif
#if defined(__AVX__)
@ -969,10 +971,10 @@ static void *resampler_sinc_new(const struct resampler_config *config,
else if (mask & RESAMPLER_SIMD_NEON && window_type != SINC_WINDOW_KAISER)
{
#if (defined(__ARM_NEON__) || defined(HAVE_NEON))
#ifdef DONT_WANT_ARM_ASM_OPTIMIZATIONS
sinc_resampler.process = resampler_sinc_process_neon_intrin;
#else
#ifdef HAVE_ARM_NEON_ASM_OPTIMIZATIONS
sinc_resampler.process = resampler_sinc_process_neon;
#else
sinc_resampler.process = resampler_sinc_process_neon_intrin;
#endif
#endif
}

View file

@ -20,7 +20,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#if defined(__ARM_NEON__) && !defined(DONT_WANT_ARM_ASM_OPTIMIZATIONS)
#if defined(__ARM_NEON__) && defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
#ifndef __MACH__
.arm

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2010-2020 The RetroArch team
/* Copyright (C) 2010-2021 The RetroArch team
*
* ---------------------------------------------------------------------------------------
* The following license statement only applies to this file (float_to_s16.h).

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2010-2020 The RetroArch team
/* Copyright (C) 2010-2021 The RetroArch team
*
* ---------------------------------------------------------------------------------------
* The following license statement only applies to this file (s16_to_float.h).

View file

@ -40,10 +40,6 @@ ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
ifeq ($(HAVE_NEON),1)
DEFINES += -D__ARM_NEON__ -DHAVE_NEON
LOCAL_SRC_FILES += $(LIBRETRO_COMM_DIR)/audio/conversion/s16_to_float_neon.S.neon \
$(LIBRETRO_COMM_DIR)/audio/conversion/float_to_s16_neon.S.neon \
$(LIBRETRO_COMM_DIR)/audio/resampler/drivers/sinc_resampler_neon.S.neon \
$(RARCH_DIR)/audio/drivers_resampler/cc_resampler_neon.S.neon
endif
DEFINES += -DANDROID_ARM_V7
endif

View file

@ -176,7 +176,7 @@
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAs>CompileAsCpp</CompileAs>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\..\libretro-common\include;$(SolutionDir)\..\..\..\deps;$(SolutionDir)\..\..\..\deps\libFLAC\include;$(SolutionDir)\..\..\..\deps\stb;$(SolutionDir)\..\..\..\deps\7zip;$(SolutionDir)\..\..\..\gfx\include;$(SolutionDir)\..\..\..\deps\glslang;$(SolutionDir)\..\..\..\deps\glslang\glslang\Public;$(SolutionDir)\..\..\..\deps\glslang\glslang\MachineIndependent;$(SolutionDir)\..\..\..\deps\glslang\glslang\SPIRV;$(SolutionDir)\..\..\..\deps\SPIRV-Cross;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_CONFIGFILE;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;DONT_WANT_ARM_ASM_OPTIMIZATIONS;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_CONFIGFILE;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Enabled</ExceptionHandling>
</ClCompile>
<Link>
@ -188,7 +188,7 @@
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAs>CompileAsCpp</CompileAs>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\..\libretro-common\include;$(SolutionDir)\..\..\..\deps;$(SolutionDir)\..\..\..\deps\libFLAC\include;$(SolutionDir)\..\..\..\deps\stb;$(SolutionDir)\..\..\..\deps\7zip;$(SolutionDir)\..\..\..\gfx\include;$(SolutionDir)\..\..\..\deps\glslang;$(SolutionDir)\..\..\..\deps\glslang\glslang\Public;$(SolutionDir)\..\..\..\deps\glslang\glslang\MachineIndependent;$(SolutionDir)\..\..\..\deps\glslang\glslang\SPIRV;$(SolutionDir)\..\..\..\deps\SPIRV-Cross;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;DONT_WANT_ARM_ASM_OPTIMIZATIONS;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Enabled</ExceptionHandling>
</ClCompile>
<Link>
@ -200,7 +200,7 @@
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAs>CompileAsCpp</CompileAs>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\..\libretro-common\include;$(SolutionDir)\..\..\..\deps;$(SolutionDir)\..\..\..\deps\libFLAC\include;$(SolutionDir)\..\..\..\deps\stb;$(SolutionDir)\..\..\..\deps\7zip;$(SolutionDir)\..\..\..\gfx\include;$(SolutionDir)\..\..\..\deps\glslang;$(SolutionDir)\..\..\..\deps\glslang\glslang\Public;$(SolutionDir)\..\..\..\deps\glslang\glslang\MachineIndependent;$(SolutionDir)\..\..\..\deps\glslang\glslang\SPIRV;$(SolutionDir)\..\..\..\deps\SPIRV-Cross;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;DONT_WANT_ARM_ASM_OPTIMIZATIONS;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Enabled</ExceptionHandling>
</ClCompile>
<Link>
@ -212,7 +212,7 @@
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAs>CompileAsCpp</CompileAs>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\..\libretro-common\include;$(SolutionDir)\..\..\..\deps;$(SolutionDir)\..\..\..\deps\libFLAC\include;$(SolutionDir)\..\..\..\deps\stb;$(SolutionDir)\..\..\..\deps\7zip;$(SolutionDir)\..\..\..\gfx\include;$(SolutionDir)\..\..\..\deps\glslang;$(SolutionDir)\..\..\..\deps\glslang\glslang\Public;$(SolutionDir)\..\..\..\deps\glslang\glslang\MachineIndependent;$(SolutionDir)\..\..\..\deps\glslang\glslang\SPIRV;$(SolutionDir)\..\..\..\deps\SPIRV-Cross;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;DONT_WANT_ARM_ASM_OPTIMIZATIONS;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Enabled</ExceptionHandling>
</ClCompile>
<Link>
@ -224,7 +224,7 @@
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAs>CompileAsCpp</CompileAs>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\..\libretro-common\include;$(SolutionDir)\..\..\..\deps;$(SolutionDir)\..\..\..\deps\libFLAC\include;$(SolutionDir)\..\..\..\deps\stb;$(SolutionDir)\..\..\..\deps\7zip;$(SolutionDir)\..\..\..\gfx\include;$(SolutionDir)\..\..\..\deps\glslang;$(SolutionDir)\..\..\..\deps\glslang\glslang\Public;$(SolutionDir)\..\..\..\deps\glslang\glslang\MachineIndependent;$(SolutionDir)\..\..\..\deps\glslang\glslang\SPIRV;$(SolutionDir)\..\..\..\deps\SPIRV-Cross;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;DONT_WANT_ARM_ASM_OPTIMIZATIONS;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Enabled</ExceptionHandling>
</ClCompile>
<Link>
@ -236,7 +236,7 @@
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAs>CompileAsCpp</CompileAs>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\..\libretro-common\include;$(SolutionDir)\..\..\..\deps;$(SolutionDir)\..\..\..\deps\libFLAC\include;$(SolutionDir)\..\..\..\deps\stb;$(SolutionDir)\..\..\..\deps\7zip;$(SolutionDir)\..\..\..\gfx\include;$(SolutionDir)\..\..\..\deps\glslang;$(SolutionDir)\..\..\..\deps\glslang\glslang\Public;$(SolutionDir)\..\..\..\deps\glslang\glslang\MachineIndependent;$(SolutionDir)\..\..\..\deps\glslang\glslang\SPIRV;$(SolutionDir)\..\..\..\deps\SPIRV-Cross;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;DONT_WANT_ARM_ASM_OPTIMIZATIONS;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Enabled</ExceptionHandling>
</ClCompile>
<Link>
@ -248,7 +248,7 @@
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAs>CompileAsCpp</CompileAs>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\..\libretro-common\include;$(SolutionDir)\..\..\..\deps;$(SolutionDir)\..\..\..\deps\libFLAC\include;$(SolutionDir)\..\..\..\deps\stb;$(SolutionDir)\..\..\..\deps\7zip;$(SolutionDir)\..\..\..\gfx\include;$(SolutionDir)\..\..\..\deps\glslang;$(SolutionDir)\..\..\..\deps\glslang\glslang\Public;$(SolutionDir)\..\..\..\deps\glslang\glslang\MachineIndependent;$(SolutionDir)\..\..\..\deps\glslang\glslang\SPIRV;$(SolutionDir)\..\..\..\deps\SPIRV-Cross;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;DONT_WANT_ARM_ASM_OPTIMIZATIONS;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Enabled</ExceptionHandling>
</ClCompile>
<Link>
@ -260,7 +260,7 @@
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAs>CompileAsCpp</CompileAs>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\..\libretro-common\include;$(SolutionDir)\..\..\..\deps;$(SolutionDir)\..\..\..\deps\libFLAC\include;$(SolutionDir)\..\..\..\deps\stb;$(SolutionDir)\..\..\..\deps\7zip;$(SolutionDir)\..\..\..\gfx\include;$(SolutionDir)\..\..\..\deps\glslang;$(SolutionDir)\..\..\..\deps\glslang\glslang\Public;$(SolutionDir)\..\..\..\deps\glslang\glslang\MachineIndependent;$(SolutionDir)\..\..\..\deps\glslang\glslang\SPIRV;$(SolutionDir)\..\..\..\deps\SPIRV-Cross;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;DONT_WANT_ARM_ASM_OPTIMIZATIONS;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>HAVE_OPENGLES2;RARCH_MOBILE;HAVE_GRIFFIN;HAVE_STB_VORBIS;HAVE_LANGEXTRA;ANDROID;HAVE_DYNAMIC;HAVE_OPENGL;HAVE_OVERLAY;HAVE_VIDEO_LAYOUT;HAVE_OPENGLES;HAVE_DYLIB;HAVE_EGL;HAVE_GLSL;HAVE_MENU;HAVE_RGUI;HAVE_ZLIB;HAVE_RPNG;HAVE_RJPEG;HAVE_RBMP;HAVE_RTGA;INLINE=inline;HAVE_THREADS;__LIBRETRO__;HAVE_RSOUND;HAVE_NETWORKGAMEPAD;HAVE_NETWORKING;RARCH_INTERNAL;HAVE_FILTERS_BUILTIN;HAVE_MATERIALUI;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_LIBRETRODB;HAVE_STB_FONT;HAVE_IMAGEVIEWER;HAVE_UPDATE_ASSETS;HAVE_CC_RESAMPLER;HAVE_MINIUPNPC;HAVE_BUILTINMINIUPNPC;MINIUPNPC_SET_SOCKET_TIMEOUT;MINIUPNPC_GET_SRC_ADDR;HAVE_KEYMAPPER;HAVE_FLAC;HAVE_DR_FLAC;HAVE_DR_MP3;HAVE_CHD;HAVE_RUNAHEAD;ENABLE_HLSL;WANT_IFADDRS;HAVE_7ZIP;HAVE_CHEEVOS;HAVE_SL;FLAC_PACKAGE_VERSION="\"retroarch\"";HAVE_LROUND;FLAC__HAS_OGG=0;__STDC_LIMIT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Enabled</ExceptionHandling>
</ClCompile>
<Link>

View file

@ -620,7 +620,6 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DHAVE_GETOPT_LONG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
);
PREBINDING = NO;
SDKROOT = macosx;
@ -707,7 +706,6 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DHAVE_GETOPT_LONG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
);
PREBINDING = NO;
SDKROOT = macosx;

View file

@ -1723,7 +1723,6 @@
"-DHAVE_COCOA_METAL",
"-UHAVE_GLSL",
"-UHAVE_OPENGL",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
);
OTHER_CODE_SIGN_FLAGS = "--deep --timestamp";
OTHER_CPLUSPLUSFLAGS = (
@ -1759,7 +1758,6 @@
"-DHAVE_COCOA_METAL",
"-UHAVE_GLSL",
"-UHAVE_OPENGL",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
);
OTHER_CODE_SIGN_FLAGS = "--deep --timestamp";
OTHER_CPLUSPLUSFLAGS = (

View file

@ -481,7 +481,6 @@
MARKETING_VERSION = 1.9.8;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -586,7 +585,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -654,7 +652,6 @@
"OTHER_CFLAGS[arch=*]" = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -757,7 +754,6 @@
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -842,7 +838,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",

View file

@ -484,7 +484,6 @@
MARKETING_VERSION = 1.9.8;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_APPLE_STORE",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
@ -588,7 +587,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_APPLE_STORE",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
@ -656,7 +654,6 @@
"OTHER_CFLAGS[arch=*]" = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_APPLE_STORE",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
@ -759,7 +756,6 @@
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_APPLE_STORE",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
@ -842,7 +838,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_APPLE_STORE",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",

View file

@ -631,7 +631,6 @@
MARKETING_VERSION = 1.9.8;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -732,7 +731,6 @@
"OTHER_CFLAGS[arch=*]" = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -863,7 +861,6 @@
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -992,7 +989,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -1092,7 +1088,6 @@
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -1176,7 +1171,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",

View file

@ -1304,7 +1304,6 @@
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -1423,7 +1422,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -1479,7 +1477,6 @@
"OTHER_CFLAGS[arch=*]" = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -1626,7 +1623,6 @@
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -1764,7 +1760,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -1872,7 +1867,6 @@
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",
@ -1949,7 +1943,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
"-DHAVE_HID",

View file

@ -484,7 +484,6 @@
MARKETING_VERSION = 1.9.8;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_APPLE_STORE",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
@ -588,7 +587,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_APPLE_STORE",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
@ -656,7 +654,6 @@
"OTHER_CFLAGS[arch=*]" = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_APPLE_STORE",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
@ -759,7 +756,6 @@
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_APPLE_STORE",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",
@ -842,7 +838,6 @@
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DDONT_WANT_ARM_ASM_OPTIMIZATIONS",
"-DHAVE_APPLE_STORE",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_STB_FONT",

View file

@ -24,10 +24,7 @@
04193A3322A0F51200684552 /* GCDWebUploader.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 04193A2222A0F51200684552 /* GCDWebUploader.bundle */; };
04193A3422A0F51200684552 /* GCDWebUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = 04193A2422A0F51200684552 /* GCDWebUploader.m */; };
04306A8324A2C521002CAEFE /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 04306A8224A2C521002CAEFE /* libz.tbd */; };
503700881ACA18E400A51A37 /* cc_resampler_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */; };
503700891ACA18E400A51A37 /* griffin_objc.m in Sources */ = {isa = PBXBuildFile; fileRef = 50521A431AA23BF500185CC9 /* griffin_objc.m */; };
5037008A1ACA18E400A51A37 /* s16_to_float_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 501232CD192E5FE30063A359 /* s16_to_float_neon.S */; };
5037008B1ACA18E400A51A37 /* sinc_resampler_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 501232CB192E5FDC0063A359 /* sinc_resampler_neon.S */; };
5037008C1ACA18E400A51A37 /* griffin.c in Sources */ = {isa = PBXBuildFile; fileRef = 501232C9192E5FC40063A359 /* griffin.c */; };
5037008E1ACA18E400A51A37 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50C3B1AD1AB1107100F478D3 /* QuartzCore.framework */; };
503700901ACA18E400A51A37 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 696012F119F3389A006A1088 /* CoreText.framework */; };
@ -44,7 +41,6 @@
5037009B1ACA18E400A51A37 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96AFAE3116C1D4EA009DE44C /* OpenGLES.framework */; };
503700A01ACA18E400A51A37 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 967894611788EBD800D6CA69 /* InfoPlist.strings */; };
503700A11ACA18E400A51A37 /* iOS/Resources/Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 69D31DE31A547EC800EF4C92 /* iOS/Resources/Media.xcassets */; };
507E056C1CE9C69300E023D3 /* float_to_s16_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 507E056A1CE9C67500E023D3 /* float_to_s16_neon.S */; };
50EDFC742610544800569B76 /* assets.zip in Resources */ = {isa = PBXBuildFile; fileRef = 50EDFC732610544800569B76 /* assets.zip */; };
50EDFC782610549B00569B76 /* .gitignore in Resources */ = {isa = PBXBuildFile; fileRef = 50EDFC762610549B00569B76 /* .gitignore */; };
50EDFC792610549B00569B76 /* .empty in Resources */ = {isa = PBXBuildFile; fileRef = 50EDFC772610549B00569B76 /* .empty */; };
@ -88,17 +84,13 @@
04193A2422A0F51200684552 /* GCDWebUploader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDWebUploader.m; sourceTree = "<group>"; };
04306A8224A2C521002CAEFE /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
501232C9192E5FC40063A359 /* griffin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = griffin.c; path = ../../griffin/griffin.c; sourceTree = SOURCE_ROOT; };
501232CB192E5FDC0063A359 /* sinc_resampler_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = sinc_resampler_neon.S; path = "../../libretro-common/audio/resampler/drivers/sinc_resampler_neon.S"; sourceTree = SOURCE_ROOT; };
501232CD192E5FE30063A359 /* s16_to_float_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = s16_to_float_neon.S; path = "../../libretro-common/audio/conversion/s16_to_float_neon.S"; sourceTree = SOURCE_ROOT; };
501881EB184BAD6D006F665D /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
501881ED184BB54C006F665D /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
503700AD1ACA18E400A51A37 /* RetroArch iOS6.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RetroArch iOS6.app"; sourceTree = BUILT_PRODUCTS_DIR; };
503700AE1ACA18E400A51A37 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = iOS/Info.plist; sourceTree = SOURCE_ROOT; };
50521A431AA23BF500185CC9 /* griffin_objc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = griffin_objc.m; path = ../../griffin/griffin_objc.m; sourceTree = SOURCE_ROOT; };
507E056A1CE9C67500E023D3 /* float_to_s16_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = float_to_s16_neon.S; path = "../../libretro-common/audio/conversion/float_to_s16_neon.S"; sourceTree = SOURCE_ROOT; };
50C3B1AD1AB1107100F478D3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
50CCC827185E0E7D001F5BC8 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; name = cc_resampler_neon.S; path = ../../audio/drivers_resampler/cc_resampler_neon.S; sourceTree = SOURCE_ROOT; };
50E7189E184B88AA001956CE /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
50EDFC732610544800569B76 /* assets.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = assets.zip; sourceTree = "<group>"; };
50EDFC762610549B00569B76 /* .gitignore */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
@ -228,14 +220,6 @@
path = GCDWebUploader;
sourceTree = "<group>";
};
500B12CD20185CAB0047A788 /* Recovered References */ = {
isa = PBXGroup;
children = (
501232CB192E5FDC0063A359 /* sinc_resampler_neon.S */,
);
name = "Recovered References";
sourceTree = "<group>";
};
50EDFC752610549B00569B76 /* modules */ = {
isa = PBXGroup;
children = (
@ -259,10 +243,8 @@
isa = PBXGroup;
children = (
50EDFC732610544800569B76 /* assets.zip */,
507E056A1CE9C67500E023D3 /* float_to_s16_neon.S */,
50EDFC752610549B00569B76 /* modules */,
83D632D719ECFCC4009E3161 /* Assets */,
50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */,
96AFAE9C16C1D976009DE44C /* core */,
96AFAE2816C1D4EA009DE44C /* Frameworks */,
96AFAE2616C1D4EA009DE44C /* Products */,
@ -327,15 +309,6 @@
name = core;
sourceTree = "<group>";
};
96AFAEE516C1DC73009DE44C /* audio */ = {
isa = PBXGroup;
children = (
501232CD192E5FE30063A359 /* s16_to_float_neon.S */,
);
name = audio;
path = ../audio;
sourceTree = "<group>";
};
96AFAF3116C1E00A009DE44C /* gfx */ = {
isa = PBXGroup;
children = (
@ -437,13 +410,10 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
507E056C1CE9C69300E023D3 /* float_to_s16_neon.S in Sources */,
503700881ACA18E400A51A37 /* cc_resampler_neon.S in Sources */,
503700891ACA18E400A51A37 /* griffin_objc.m in Sources */,
04193A3222A0F51200684552 /* WebServer.m in Sources */,
04193A2D22A0F51200684552 /* GCDWebServerStreamedResponse.m in Sources */,
04193A2C22A0F51200684552 /* GCDWebServerDataResponse.m in Sources */,
5037008A1ACA18E400A51A37 /* s16_to_float_neon.S in Sources */,
04193A2622A0F51200684552 /* GCDWebServerRequest.m in Sources */,
04193A2F22A0F51200684552 /* GCDWebServerMultiPartFormRequest.m in Sources */,
04193A3022A0F51200684552 /* GCDWebServerDataRequest.m in Sources */,
@ -452,7 +422,6 @@
04193A3122A0F51200684552 /* GCDWebServerFileRequest.m in Sources */,
04193A2A22A0F51200684552 /* GCDWebServerErrorResponse.m in Sources */,
04193A2522A0F51200684552 /* GCDWebServerResponse.m in Sources */,
5037008B1ACA18E400A51A37 /* sinc_resampler_neon.S in Sources */,
04193A2E22A0F51200684552 /* GCDWebServerURLEncodedFormRequest.m in Sources */,
04193A2B22A0F51200684552 /* GCDWebServerFileResponse.m in Sources */,
04193A2822A0F51200684552 /* GCDWebServer.m in Sources */,
@ -538,6 +507,7 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DIOS",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -639,6 +609,7 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DIOS",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -703,6 +674,7 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DIOS",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -802,6 +774,7 @@
"-DHAVE_RWAV",
"-DIOS",
"-DHAVE_DYNAMIC",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -885,6 +858,7 @@
"-DHAVE_RWAV",
"-DIOS",
"-DHAVE_DYNAMIC",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",

View file

@ -25,16 +25,12 @@
041939FD22A0F4E400684552 /* GCDWebUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = 041939ED22A0F4E400684552 /* GCDWebUploader.m */; };
04306A8524A2C580002CAEFE /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 04306A8424A2C57F002CAEFE /* libz.tbd */; };
501232CA192E5FC40063A359 /* griffin.c in Sources */ = {isa = PBXBuildFile; fileRef = 501232C9192E5FC40063A359 /* griffin.c */; };
501232CC192E5FDC0063A359 /* sinc_resampler_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 501232CB192E5FDC0063A359 /* sinc_resampler_neon.S */; };
501232CE192E5FE30063A359 /* s16_to_float_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 501232CD192E5FE30063A359 /* s16_to_float_neon.S */; };
501881EC184BAD6D006F665D /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 501881EB184BAD6D006F665D /* AVFoundation.framework */; };
501881EE184BB54C006F665D /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 501881ED184BB54C006F665D /* CoreMedia.framework */; };
5041BAF41A9D40D000A77A33 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 963C3C33186E3DED00A6EB1E /* GameController.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
50521A441AA23BF500185CC9 /* griffin_objc.m in Sources */ = {isa = PBXBuildFile; fileRef = 50521A431AA23BF500185CC9 /* griffin_objc.m */; };
507E056B1CE9C67500E023D3 /* float_to_s16_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 507E056A1CE9C67500E023D3 /* float_to_s16_neon.S */; };
50C3B1AE1AB1107200F478D3 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50C3B1AD1AB1107100F478D3 /* QuartzCore.framework */; };
50CCC828185E0E7D001F5BC8 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50CCC827185E0E7D001F5BC8 /* CoreLocation.framework */; };
50D00E8E19D117C400EBA71E /* cc_resampler_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */; };
50E7189F184B88AA001956CE /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50E7189E184B88AA001956CE /* CoreVideo.framework */; };
696012F219F3389A006A1088 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 696012F119F3389A006A1088 /* CoreText.framework */; };
69D31DE41A547EC800EF4C92 /* iOS/Resources/Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 69D31DE31A547EC800EF4C92 /* iOS/Resources/Media.xcassets */; };
@ -87,16 +83,12 @@
04306A8424A2C57F002CAEFE /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
0FDA2A921BE1AFA800F2B5DA /* RetroArch_iOS9-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "RetroArch_iOS9-Info.plist"; sourceTree = SOURCE_ROOT; };
501232C9192E5FC40063A359 /* griffin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = griffin.c; path = ../../griffin/griffin.c; sourceTree = SOURCE_ROOT; };
501232CB192E5FDC0063A359 /* sinc_resampler_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = sinc_resampler_neon.S; path = "../../libretro-common/audio/resampler/drivers/sinc_resampler_neon.S"; sourceTree = SOURCE_ROOT; };
501232CD192E5FE30063A359 /* s16_to_float_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = s16_to_float_neon.S; path = "../../libretro-common/audio/conversion/s16_to_float_neon.S"; sourceTree = SOURCE_ROOT; };
501881EB184BAD6D006F665D /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
501881ED184BB54C006F665D /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
503700AE1ACA18E400A51A37 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = iOS/Info.plist; sourceTree = SOURCE_ROOT; };
50521A431AA23BF500185CC9 /* griffin_objc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = griffin_objc.m; path = ../../griffin/griffin_objc.m; sourceTree = SOURCE_ROOT; };
507E056A1CE9C67500E023D3 /* float_to_s16_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = float_to_s16_neon.S; path = "../../libretro-common/audio/conversion/float_to_s16_neon.S"; sourceTree = SOURCE_ROOT; };
50C3B1AD1AB1107100F478D3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
50CCC827185E0E7D001F5BC8 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; name = cc_resampler_neon.S; path = ../../audio/drivers_resampler/cc_resampler_neon.S; sourceTree = SOURCE_ROOT; };
50E7189E184B88AA001956CE /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
696012F119F3389A006A1088 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
69D31DE31A547EC800EF4C92 /* iOS/Resources/Media.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = iOS/Resources/Media.xcassets; sourceTree = SOURCE_ROOT; };
@ -225,14 +217,6 @@
path = GCDWebUploader;
sourceTree = "<group>";
};
500B12CE20185D000047A788 /* Recovered References */ = {
isa = PBXGroup;
children = (
501232CB192E5FDC0063A359 /* sinc_resampler_neon.S */,
);
name = "Recovered References";
sourceTree = "<group>";
};
83D632D719ECFCC4009E3161 /* Assets */ = {
isa = PBXGroup;
children = (
@ -245,9 +229,7 @@
96AFAE1A16C1D4EA009DE44C = {
isa = PBXGroup;
children = (
507E056A1CE9C67500E023D3 /* float_to_s16_neon.S */,
83D632D719ECFCC4009E3161 /* Assets */,
50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */,
96AFAE9C16C1D976009DE44C /* core */,
96AFAE2816C1D4EA009DE44C /* Frameworks */,
96AFAE2616C1D4EA009DE44C /* Products */,
@ -313,15 +295,6 @@
name = core;
sourceTree = "<group>";
};
96AFAEE516C1DC73009DE44C /* audio */ = {
isa = PBXGroup;
children = (
501232CD192E5FE30063A359 /* s16_to_float_neon.S */,
);
name = audio;
path = ../audio;
sourceTree = "<group>";
};
96AFAF3116C1E00A009DE44C /* gfx */ = {
isa = PBXGroup;
children = (
@ -419,13 +392,10 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
507E056B1CE9C67500E023D3 /* float_to_s16_neon.S in Sources */,
50D00E8E19D117C400EBA71E /* cc_resampler_neon.S in Sources */,
50521A441AA23BF500185CC9 /* griffin_objc.m in Sources */,
041939FB22A0F4E400684552 /* WebServer.m in Sources */,
041939F622A0F4E400684552 /* GCDWebServerStreamedResponse.m in Sources */,
041939F522A0F4E400684552 /* GCDWebServerDataResponse.m in Sources */,
501232CE192E5FE30063A359 /* s16_to_float_neon.S in Sources */,
041939EF22A0F4E400684552 /* GCDWebServerRequest.m in Sources */,
041939F822A0F4E400684552 /* GCDWebServerMultiPartFormRequest.m in Sources */,
041939F922A0F4E400684552 /* GCDWebServerDataRequest.m in Sources */,
@ -434,7 +404,6 @@
041939FA22A0F4E400684552 /* GCDWebServerFileRequest.m in Sources */,
041939F322A0F4E400684552 /* GCDWebServerErrorResponse.m in Sources */,
041939EE22A0F4E400684552 /* GCDWebServerResponse.m in Sources */,
501232CC192E5FDC0063A359 /* sinc_resampler_neon.S in Sources */,
041939F722A0F4E400684552 /* GCDWebServerURLEncodedFormRequest.m in Sources */,
041939F422A0F4E400684552 /* GCDWebServerFileResponse.m in Sources */,
041939F122A0F4E400684552 /* GCDWebServer.m in Sources */,
@ -518,6 +487,7 @@
"-DHAVE_RWAV",
"-DIOS",
"-DHAVE_DYNAMIC",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -602,6 +572,7 @@
"-DHAVE_RWAV",
"-DIOS",
"-DHAVE_DYNAMIC",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -694,6 +665,7 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DIOS",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -797,6 +769,7 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DIOS",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -864,6 +837,7 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DIOS",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",

View file

@ -24,10 +24,7 @@
040A5A5722953F3300BD075F /* GCDWebUploader.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 040A5A4622953F3300BD075F /* GCDWebUploader.bundle */; };
040A5A5822953F3300BD075F /* GCDWebUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = 040A5A4822953F3300BD075F /* GCDWebUploader.m */; };
04306A8724A2C600002CAEFE /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 04306A8624A2C600002CAEFE /* libz.tbd */; };
0FDA2A721BE1AFA800F2B5DA /* cc_resampler_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */; };
0FDA2A731BE1AFA800F2B5DA /* griffin_objc.m in Sources */ = {isa = PBXBuildFile; fileRef = 50521A431AA23BF500185CC9 /* griffin_objc.m */; };
0FDA2A741BE1AFA800F2B5DA /* s16_to_float_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 501232CD192E5FE30063A359 /* s16_to_float_neon.S */; };
0FDA2A751BE1AFA800F2B5DA /* sinc_resampler_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 501232CB192E5FDC0063A359 /* sinc_resampler_neon.S */; };
0FDA2A761BE1AFA800F2B5DA /* griffin.c in Sources */ = {isa = PBXBuildFile; fileRef = 501232C9192E5FC40063A359 /* griffin.c */; };
0FDA2A791BE1AFA800F2B5DA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50C3B1AD1AB1107100F478D3 /* QuartzCore.framework */; };
0FDA2A7A1BE1AFA800F2B5DA /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 963C3C33186E3DED00A6EB1E /* GameController.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
@ -45,7 +42,6 @@
0FDA2A861BE1AFA800F2B5DA /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96AFAE3116C1D4EA009DE44C /* OpenGLES.framework */; platformFilter = ios; };
0FDA2A891BE1AFA800F2B5DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 967894611788EBD800D6CA69 /* InfoPlist.strings */; };
0FDA2A8A1BE1AFA800F2B5DA /* iOS/Resources/Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 69D31DE31A547EC800EF4C92 /* iOS/Resources/Media.xcassets */; };
507E056D1CE9C69400E023D3 /* float_to_s16_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 507E056A1CE9C67500E023D3 /* float_to_s16_neon.S */; };
92411A35260E4E120069C692 /* assets.zip in Resources */ = {isa = PBXBuildFile; fileRef = 92411A34260E4E120069C692 /* assets.zip */; };
92411A38260E4E2C0069C692 /* modules in Resources */ = {isa = PBXBuildFile; fileRef = 92411A37260E4E2C0069C692 /* modules */; };
92CC05C521FEDC9F00FF79F0 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 92CC05C421FEDC9F00FF79F0 /* CFNetwork.framework */; };
@ -90,15 +86,11 @@
0FDA2A911BE1AFA800F2B5DA /* RetroArchiOS9.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RetroArchiOS9.app; sourceTree = BUILT_PRODUCTS_DIR; };
0FDA2A921BE1AFA800F2B5DA /* RetroArch_iOS9-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "RetroArch_iOS9-Info.plist"; sourceTree = SOURCE_ROOT; };
501232C9192E5FC40063A359 /* griffin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = griffin.c; path = ../../griffin/griffin.c; sourceTree = SOURCE_ROOT; };
501232CB192E5FDC0063A359 /* sinc_resampler_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = sinc_resampler_neon.S; path = "../../libretro-common/audio/resampler/drivers/sinc_resampler_neon.S"; sourceTree = SOURCE_ROOT; };
501232CD192E5FE30063A359 /* s16_to_float_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = s16_to_float_neon.S; path = "../../libretro-common/audio/conversion/s16_to_float_neon.S"; sourceTree = SOURCE_ROOT; };
501881EB184BAD6D006F665D /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
501881ED184BB54C006F665D /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
50521A431AA23BF500185CC9 /* griffin_objc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = griffin_objc.m; path = ../../griffin/griffin_objc.m; sourceTree = SOURCE_ROOT; };
507E056A1CE9C67500E023D3 /* float_to_s16_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = float_to_s16_neon.S; path = "../../libretro-common/audio/conversion/float_to_s16_neon.S"; sourceTree = SOURCE_ROOT; };
50C3B1AD1AB1107100F478D3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
50CCC827185E0E7D001F5BC8 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; name = cc_resampler_neon.S; path = ../../audio/drivers_resampler/cc_resampler_neon.S; sourceTree = SOURCE_ROOT; };
50E7189E184B88AA001956CE /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
696012F119F3389A006A1088 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
69D31DE31A547EC800EF4C92 /* iOS/Resources/Media.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = iOS/Resources/Media.xcassets; sourceTree = SOURCE_ROOT; };
@ -229,14 +221,6 @@
path = GCDWebUploader;
sourceTree = "<group>";
};
508E6B1420185D3200A16D1F /* Recovered References */ = {
isa = PBXGroup;
children = (
501232CB192E5FDC0063A359 /* sinc_resampler_neon.S */,
);
name = "Recovered References";
sourceTree = "<group>";
};
83D632D719ECFCC4009E3161 /* Assets */ = {
isa = PBXGroup;
children = (
@ -252,9 +236,7 @@
children = (
92411A37260E4E2C0069C692 /* modules */,
D42013DA260825EE00A1DEFD /* RetroArchiOS9.entitlements */,
507E056A1CE9C67500E023D3 /* float_to_s16_neon.S */,
83D632D719ECFCC4009E3161 /* Assets */,
50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */,
96AFAE9C16C1D976009DE44C /* core */,
96AFAE2816C1D4EA009DE44C /* Frameworks */,
96AFAE2616C1D4EA009DE44C /* Products */,
@ -319,15 +301,6 @@
name = core;
sourceTree = "<group>";
};
96AFAEE516C1DC73009DE44C /* audio */ = {
isa = PBXGroup;
children = (
501232CD192E5FE30063A359 /* s16_to_float_neon.S */,
);
name = audio;
path = ../audio;
sourceTree = "<group>";
};
96AFAF3116C1E00A009DE44C /* gfx */ = {
isa = PBXGroup;
children = (
@ -447,11 +420,7 @@
040A5A4A22953F3300BD075F /* GCDWebServerRequest.m in Sources */,
040A5A5222953F3300BD075F /* GCDWebServerURLEncodedFormRequest.m in Sources */,
040A5A5022953F3300BD075F /* GCDWebServerDataResponse.m in Sources */,
507E056D1CE9C69400E023D3 /* float_to_s16_neon.S in Sources */,
0FDA2A721BE1AFA800F2B5DA /* cc_resampler_neon.S in Sources */,
0FDA2A731BE1AFA800F2B5DA /* griffin_objc.m in Sources */,
0FDA2A741BE1AFA800F2B5DA /* s16_to_float_neon.S in Sources */,
0FDA2A751BE1AFA800F2B5DA /* sinc_resampler_neon.S in Sources */,
040A5A4B22953F3300BD075F /* GCDWebServerFunctions.m in Sources */,
040A5A5122953F3300BD075F /* GCDWebServerStreamedResponse.m in Sources */,
0FDA2A761BE1AFA800F2B5DA /* griffin.c in Sources */,
@ -537,6 +506,7 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DIOS",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -638,6 +608,7 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DIOS",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -704,6 +675,7 @@
"-DHAVE_AUDIOMIXER",
"-DHAVE_RWAV",
"-DIOS",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -806,6 +778,7 @@
"-DHAVE_RWAV",
"-DIOS",
"-DHAVE_DYNAMIC",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
@ -889,6 +862,7 @@
"-DHAVE_RWAV",
"-DIOS",
"-DHAVE_DYNAMIC",
"-DDONT_WANT_ARM_OPTIMIZATIONS",
"-DHAVE_OPENGL",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",

View file

@ -12,10 +12,7 @@ SRC_DIR := ../..
APPLICATION_NAME = RetroArch
${APPLICATION_NAME}_FRAMEWORKS = Foundation UIKit CoreGraphics AudioToolbox GLKit OpenGLES CoreText CoreLocation CoreAudio AVFoundation CoreMedia CoreVideo GameController
${APPLICATION_NAME}_FILES = $(SRC_DIR)/griffin/griffin.c \
$(SRC_DIR)/griffin/griffin_objc.m \
$(SRC_DIR)/audio/audio_utils_neon.S \
$(SRC_DIR)/audio/drivers_resampler/sinc_neon.S \
$(SRC_DIR)/audio/drivers_resampler/cc_resampler_neon.S
$(SRC_DIR)/griffin/griffin_objc.m
COMMON_FLAGS := -DIOS -DHAVE_GRIFFIN -DHAVE_NETWORKING -DHAVE_RGUI -DHAVE_MENU -DHAVE_DYNAMIC -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_GLSL -DINLINE=inline -DHAVE_THREADS -D__LIBRETRO__ -DRARCH_MOBILE -std=gnu99 -DHAVE_COREAUDIO -DHAVE_OVERLAY -DHAVE_VIDEO_LAYOUT -DHAVE_ZLIB -DRARCH_INTERNAL -DHAVE_FILTERS_BUILTIN -DHAVE_XMB -D_LZMA_UINT32_IS_ULONG -DHAVE_STRL
COMMON_IOS_FLAGS := -Wno-deprecated-declarations -Wno-error

View file

@ -177,26 +177,6 @@
<tool id="com.qnx.qcc.tool.archiver.235941332" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
</toolChain>
</folderInfo>
<fileInfo id="com.qnx.qcc.configuration.exe.debug.381170420.1258732047" name="sinc_neon.S" rcbsApplicability="disable" resourcePath="src/sinc_resampler_neon.S" toolsToInvoke="com.qnx.qcc.tool.assembler.2035959754.991633861">
<tool command="qcc" commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} ${FLAGS}" id="com.qnx.qcc.tool.assembler.2035959754.991633861" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler.2035959754">
<option id="com.qnx.qcc.option.assembler.qccoptions.1129161676" name="QCC Options" superClass="com.qnx.qcc.option.assembler.qccoptions" valueType="stringList">
<listOptionValue builtIn="false" value="-mcpu=cortex-a9"/>
<listOptionValue builtIn="false" value="-marm"/>
<listOptionValue builtIn="false" value="-mfpu=neon"/>
</option>
<inputType id="com.qnx.qcc.inputType.assembler.1085916531" superClass="com.qnx.qcc.inputType.assembler"/>
</tool>
</fileInfo>
<fileInfo id="com.qnx.qcc.configuration.exe.debug.381170420.973423226" name="audio_utils_neon.S" rcbsApplicability="disable" resourcePath="src/audio_utils_neon.S" toolsToInvoke="com.qnx.qcc.tool.assembler.2035959754.347573070">
<tool id="com.qnx.qcc.tool.assembler.2035959754.347573070" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler.2035959754">
<option id="com.qnx.qcc.option.assembler.qccoptions.1775882432" name="QCC Options" superClass="com.qnx.qcc.option.assembler.qccoptions" valueType="stringList">
<listOptionValue builtIn="false" value="-mcpu=cortex-a9"/>
<listOptionValue builtIn="false" value="-marm"/>
<listOptionValue builtIn="false" value="-mfpu=neon"/>
</option>
<inputType id="com.qnx.qcc.inputType.assembler.1121112632" superClass="com.qnx.qcc.inputType.assembler"/>
</tool>
</fileInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>
@ -372,26 +352,6 @@
<tool id="com.qnx.qcc.tool.archiver.1590791010" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
</toolChain>
</folderInfo>
<fileInfo id="com.qnx.qcc.configuration.exe.release.648144057.1567247301" name="sinc_neon.S" rcbsApplicability="disable" resourcePath="src/sinc_resampler_neon.S" toolsToInvoke="com.qnx.qcc.tool.assembler.599691721.61424297">
<tool id="com.qnx.qcc.tool.assembler.599691721.61424297" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler.599691721">
<option id="com.qnx.qcc.option.assembler.qccoptions.1232679431" name="QCC Options" superClass="com.qnx.qcc.option.assembler.qccoptions" valueType="stringList">
<listOptionValue builtIn="false" value="-mcpu=cortex-a9"/>
<listOptionValue builtIn="false" value="-marm"/>
<listOptionValue builtIn="false" value="-mfpu=neon"/>
</option>
<inputType id="com.qnx.qcc.inputType.assembler.1064746892" superClass="com.qnx.qcc.inputType.assembler"/>
</tool>
</fileInfo>
<fileInfo id="com.qnx.qcc.configuration.exe.release.648144057.1910510900" name="audio_utils_neon.S" rcbsApplicability="disable" resourcePath="src/audio_utils_neon.S" toolsToInvoke="com.qnx.qcc.tool.assembler.599691721.237427487">
<tool id="com.qnx.qcc.tool.assembler.599691721.237427487" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler.599691721">
<option id="com.qnx.qcc.option.assembler.qccoptions.1196541901" name="QCC Options" superClass="com.qnx.qcc.option.assembler.qccoptions" valueType="stringList">
<listOptionValue builtIn="false" value="-mcpu=cortex-a9"/>
<listOptionValue builtIn="false" value="-marm"/>
<listOptionValue builtIn="false" value="-mfpu=neon"/>
</option>
<inputType id="com.qnx.qcc.inputType.assembler.1045628756" superClass="com.qnx.qcc.inputType.assembler"/>
</tool>
</fileInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>
@ -570,26 +530,6 @@
<tool id="com.qnx.qcc.tool.archiver.1197180708" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
</toolChain>
</folderInfo>
<fileInfo id="com.qnx.qcc.configuration.exe.debug.381170420.1569968395.src/sinc_resampler_neon.S" name="sinc_neon.S" rcbsApplicability="disable" resourcePath="src/sinc_resampler_neon.S" toolsToInvoke="com.qnx.qcc.tool.assembler.48637936">
<tool command="qcc" commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} ${FLAGS}" id="com.qnx.qcc.tool.assembler.48637936" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler.531077521">
<option id="com.qnx.qcc.option.assembler.qccoptions.687937025" name="QCC Options" superClass="com.qnx.qcc.option.assembler.qccoptions" valueType="stringList">
<listOptionValue builtIn="false" value="-mcpu=cortex-a9"/>
<listOptionValue builtIn="false" value="-marm"/>
<listOptionValue builtIn="false" value="-mfpu=neon"/>
</option>
<inputType id="com.qnx.qcc.inputType.assembler.110957011" superClass="com.qnx.qcc.inputType.assembler"/>
</tool>
</fileInfo>
<fileInfo id="com.qnx.qcc.configuration.exe.debug.381170420.1569968395.src/audio_utils_neon.S" name="audio_utils_neon.S" rcbsApplicability="disable" resourcePath="src/audio_utils_neon.S" toolsToInvoke="com.qnx.qcc.tool.assembler.1424635866">
<tool id="com.qnx.qcc.tool.assembler.1424635866" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler.531077521">
<option id="com.qnx.qcc.option.assembler.qccoptions.1578077765" name="QCC Options" superClass="com.qnx.qcc.option.assembler.qccoptions" valueType="stringList">
<listOptionValue builtIn="false" value="-mcpu=cortex-a9"/>
<listOptionValue builtIn="false" value="-marm"/>
<listOptionValue builtIn="false" value="-mfpu=neon"/>
</option>
<inputType id="com.qnx.qcc.inputType.assembler.1218782009" superClass="com.qnx.qcc.inputType.assembler"/>
</tool>
</fileInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>
@ -765,26 +705,6 @@
<tool id="com.qnx.qcc.tool.archiver.437734291" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
</toolChain>
</folderInfo>
<fileInfo id="com.qnx.qcc.configuration.exe.release.648144057.76343805.src/sinc_resampler_neon.S" name="sinc_neon.S" rcbsApplicability="disable" resourcePath="src/sinc_resampler_neon.S" toolsToInvoke="com.qnx.qcc.tool.assembler.148149390">
<tool id="com.qnx.qcc.tool.assembler.148149390" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler.689750306">
<option id="com.qnx.qcc.option.assembler.qccoptions.149021029" name="QCC Options" superClass="com.qnx.qcc.option.assembler.qccoptions" valueType="stringList">
<listOptionValue builtIn="false" value="-mcpu=cortex-a9"/>
<listOptionValue builtIn="false" value="-marm"/>
<listOptionValue builtIn="false" value="-mfpu=neon"/>
</option>
<inputType id="com.qnx.qcc.inputType.assembler.1691230153" superClass="com.qnx.qcc.inputType.assembler"/>
</tool>
</fileInfo>
<fileInfo id="com.qnx.qcc.configuration.exe.release.648144057.76343805.src/audio_utils_neon.S" name="audio_utils_neon.S" rcbsApplicability="disable" resourcePath="src/audio_utils_neon.S" toolsToInvoke="com.qnx.qcc.tool.assembler.588943843">
<tool id="com.qnx.qcc.tool.assembler.588943843" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler.689750306">
<option id="com.qnx.qcc.option.assembler.qccoptions.1322262019" name="QCC Options" superClass="com.qnx.qcc.option.assembler.qccoptions" valueType="stringList">
<listOptionValue builtIn="false" value="-mcpu=cortex-a9"/>
<listOptionValue builtIn="false" value="-marm"/>
<listOptionValue builtIn="false" value="-mfpu=neon"/>
</option>
<inputType id="com.qnx.qcc.inputType.assembler.469879186" superClass="com.qnx.qcc.inputType.assembler"/>
</tool>
</fileInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>

View file

@ -31,30 +31,10 @@
<nature>com.qnx.tools.ide.bbt.core.bbtnature</nature>
</natures>
<linkedResources>
<link>
<name>src/cc_resampler_neon.S</name>
<type>1</type>
<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/audio/drivers_resampler/cc_resampler_neon.S</locationURI>
</link>
<link>
<name>src/float_to_s16_neon.S</name>
<type>1</type>
<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/libretro-common/audio/conversion/float_to_s16_neon.S</locationURI>
</link>
<link>
<name>src/griffin.c</name>
<type>1</type>
<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/griffin/griffin.c</locationURI>
</link>
<link>
<name>src/s16_to_float_neon.S</name>
<type>1</type>
<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/libretro-common/audio/conversion/s16_to_float_neon.S</locationURI>
</link>
<link>
<name>src/sinc_resampler_neon.S</name>
<type>1</type>
<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/libretro-common/audio/resampler/drivers/sinc_resampler_neon.S</locationURI>
</link>
</linkedResources>
</projectDescription>