More C89 build fixes

This commit is contained in:
twinaphex 2015-06-30 14:37:11 +02:00
parent 4fb3a7f1b7
commit e74e402cdc
7 changed files with 47 additions and 31 deletions

View File

@ -840,6 +840,8 @@ endif
# Record # Record
ifneq ($(C89_BUILD), 1)
# ffmpeg and friends are not C89-compliant APIs.
ifeq ($(HAVE_FFMPEG), 1) ifeq ($(HAVE_FFMPEG), 1)
OBJ += record/drivers/record_ffmpeg.o \ OBJ += record/drivers/record_ffmpeg.o \
cores/ffmpeg_core.o cores/ffmpeg_core.o
@ -847,6 +849,7 @@ ifeq ($(HAVE_FFMPEG), 1)
DEFINES += $(AVCODEC_CFLAGS) $(AVFORMAT_CFLAGS) $(AVUTIL_CFLAGS) $(SWSCALE_CFLAGS) $(SWRESAMPLE_CFLAGS) DEFINES += $(AVCODEC_CFLAGS) $(AVFORMAT_CFLAGS) $(AVUTIL_CFLAGS) $(SWSCALE_CFLAGS) $(SWRESAMPLE_CFLAGS)
DEFINES += -DHAVE_FFMPEG -Iffmpeg DEFINES += -DHAVE_FFMPEG -Iffmpeg
endif endif
endif
ifeq ($(HAVE_COMPRESSION), 1) ifeq ($(HAVE_COMPRESSION), 1)
DEFINES += -DHAVE_COMPRESSION DEFINES += -DHAVE_COMPRESSION

View File

@ -305,12 +305,13 @@ void CORE_PREFIX(retro_reset)(void)
static void check_variables(void) static void check_variables(void)
{ {
struct retro_variable color_var; struct retro_variable color_var, var, fft_var, fft_ms_var;
(void)var;
(void)fft_var;
#ifdef HAVE_OPENGL #ifdef HAVE_OPENGL
struct retro_variable var = { var.key = "ffmpeg_temporal_interp";
.key = "ffmpeg_temporal_interp"
};
if (CORE_PREFIX(environ_cb)(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) if (CORE_PREFIX(environ_cb)(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{ {
@ -322,9 +323,7 @@ static void check_variables(void)
#endif #endif
#ifdef HAVE_GL_FFT #ifdef HAVE_GL_FFT
struct retro_variable fft_var = { fft_var.key = "ffmpeg_fft_resolution";
.key = "ffmpeg_fft_resolution",
};
fft_width = 1280; fft_width = 1280;
fft_height = 720; fft_height = 720;
@ -339,9 +338,7 @@ static void check_variables(void)
} }
} }
struct retro_variable fft_ms_var = { fft_ms_var.key = "ffmpeg_fft_multisample";
.key = "ffmpeg_fft_multisample",
};
if (CORE_PREFIX(environ_cb)(RETRO_ENVIRONMENT_GET_VARIABLE, &fft_ms_var) && fft_ms_var.value) if (CORE_PREFIX(environ_cb)(RETRO_ENVIRONMENT_GET_VARIABLE, &fft_ms_var) && fft_ms_var.value)
fft_multisample = strtoul(fft_ms_var.value, NULL, 0); fft_multisample = strtoul(fft_ms_var.value, NULL, 0);
@ -1107,7 +1104,7 @@ static void decode_thread(void *data)
{ {
unsigned i; unsigned i;
AVFrame *aud_frame, *vid_frame; AVFrame *aud_frame, *vid_frame;
SwrContext *swr[audio_streams_num]; SwrContext *swr[audio_streams_num] = {NULL};
void *conv_frame_buf = NULL; void *conv_frame_buf = NULL;
size_t frame_size = 0; size_t frame_size = 0;
int16_t *audio_buffer = NULL; int16_t *audio_buffer = NULL;

View File

@ -236,7 +236,8 @@ static void wait_flip(bool block)
/* This buffer is not on-screen anymore. Release it to GBM. */ /* This buffer is not on-screen anymore. Release it to GBM. */
gbm_surface_release_buffer(drm->g_gbm_surface, drm->g_bo); gbm_surface_release_buffer(drm->g_gbm_surface, drm->g_bo);
drm->g_bo = drm->g_next_bo; // This buffer is being shown now. /* This buffer is being shown now. */
drm->g_bo = drm->g_next_bo;
} }
static void queue_flip(void) static void queue_flip(void)

View File

@ -315,7 +315,9 @@ static bool compile_shader(glsl_shader_data_t *glsl,
const char *define, const char *program) const char *define, const char *program)
{ {
GLint status; GLint status;
const char *source[4];
char version[32] = {0}; char version[32] = {0};
if (glsl_core && !strstr(program, "#version")) if (glsl_core && !strstr(program, "#version"))
{ {
unsigned version_no = 0; unsigned version_no = 0;
@ -341,11 +343,13 @@ static bool compile_shader(glsl_shader_data_t *glsl,
RARCH_LOG("[GL]: Using GLSL version %u.\n", version_no); RARCH_LOG("[GL]: Using GLSL version %u.\n", version_no);
} }
{ source[0]= version;
const char *source[] = { version, define, glsl->glsl_alias_define, program }; source[1] = define;
glShaderSource(shader, ARRAY_SIZE(source), source, NULL); source[2] = glsl->glsl_alias_define;
glCompileShader(shader); source[3] = program;
}
glShaderSource(shader, ARRAY_SIZE(source), source, NULL);
glCompileShader(shader);
glGetShaderiv(shader, GL_COMPILE_STATUS, &status); glGetShaderiv(shader, GL_COMPILE_STATUS, &status);
print_shader_log(shader); print_shader_log(shader);

View File

@ -139,7 +139,7 @@ static void hidpad_ps3_packet_handler(void *data, uint8_t *packet, uint16_t size
RETRO_DEVICE_ID_JOYPAD_A, RETRO_DEVICE_ID_JOYPAD_A,
RETRO_DEVICE_ID_JOYPAD_B, RETRO_DEVICE_ID_JOYPAD_B,
RETRO_DEVICE_ID_JOYPAD_Y, RETRO_DEVICE_ID_JOYPAD_Y,
16 //< PS Button 16 /* PS Button */
}; };
struct hidpad_ps3_data *device = (struct hidpad_ps3_data*)data; struct hidpad_ps3_data *device = (struct hidpad_ps3_data*)data;

View File

@ -31,7 +31,7 @@ enum connect_ps4_dpad_states
DPAD_DOWN_LEFT = 0x5, DPAD_DOWN_LEFT = 0x5,
DPAD_LEFT = 0x6, DPAD_LEFT = 0x6,
DPAD_LEFT_UP = 0x7, DPAD_LEFT_UP = 0x7,
DPAD_OFF = 0x8, DPAD_OFF = 0x8
}; };
struct ps4buttons struct ps4buttons

View File

@ -54,18 +54,29 @@ static bool png_write_crc(FILE *file, const uint8_t *data, size_t size)
static bool png_write_ihdr(FILE *file, const struct png_ihdr *ihdr) static bool png_write_ihdr(FILE *file, const struct png_ihdr *ihdr)
{ {
uint8_t ihdr_raw[] = { uint8_t ihdr_raw[21];
'0', '0', '0', '0', /* Size */
'I', 'H', 'D', 'R', ihdr_raw[0] = '0'; /* Size */
ihdr_raw[1] = '0';
0, 0, 0, 0, /* Width */ ihdr_raw[2] = '0';
0, 0, 0, 0, /* Height */ ihdr_raw[3] = '0';
ihdr->depth, ihdr_raw[4] = 'I';
ihdr->color_type, ihdr_raw[5] = 'H';
ihdr->compression, ihdr_raw[6] = 'D';
ihdr->filter, ihdr_raw[7] = 'R';
ihdr->interlace, ihdr_raw[8] = 0; /* Width */
}; ihdr_raw[9] = 0;
ihdr_raw[10] = 0;
ihdr_raw[11] = 0;
ihdr_raw[12] = 0; /* Height */
ihdr_raw[13] = 0;
ihdr_raw[14] = 0;
ihdr_raw[15] = 0;
ihdr_raw[16] = ihdr->depth; /* Depth */
ihdr_raw[17] = ihdr->color_type;
ihdr_raw[18] = ihdr->compression;
ihdr_raw[19] = ihdr->filter;
ihdr_raw[20] = ihdr->interlace;
dword_write_be(ihdr_raw + 0, sizeof(ihdr_raw) - 8); dword_write_be(ihdr_raw + 0, sizeof(ihdr_raw) - 8);
dword_write_be(ihdr_raw + 8, ihdr->width); dword_write_be(ihdr_raw + 8, ihdr->width);