vc2005: fix MMX load instrinsics, add GL and ozone

This commit is contained in:
Brad Parker 2019-02-16 19:13:32 -05:00
parent 09d409d5cc
commit 542f2f4262
3 changed files with 9 additions and 8 deletions

View File

@ -430,7 +430,7 @@ else ifeq ($(platform), windows_msvc2005_x86)
CXX = cl.exe
LD = link.exe
PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT=0x0410 -D__STDC_CONSTANT_MACROS -D_MBCS -DHAVE_EASTEREGG
PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT=0x0410 -D__STDC_CONSTANT_MACROS -D_MBCS -DHAVE_EASTEREGG -D__MMX__ -D__SSE__ -DHAVE_OPENGL -DHAVE_OPENGL1 -DHAVE_GLSL -DHAVE_SHADERPIPELINE -DHAVE_OZONE
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib msimg32.lib
PATH := $(shell IFS=$$'\n'; cygpath "$(VS80COMNTOOLS)../../VC/bin"):$(PATH)

View File

@ -254,7 +254,7 @@ void conv_rgb565_argb8888(void *output_, const void *input_,
{
__m64 res_lo, res_hi;
__m64 res_lo_bg, res_hi_bg, res_lo_ra, res_hi_ra;
const __m64 in = _mm_cvtsi64_m64(*((int64_t*)(input + w)));
const __m64 in = *((__m64*)(input + w));
__m64 r = _mm_and_si64(_mm_srli_pi16(in, 1), pix_mask_r);
__m64 g = _mm_and_si64(in, pix_mask_g);
__m64 b = _mm_and_si64(_mm_slli_pi16(in, 5), pix_mask_b);
@ -273,8 +273,8 @@ void conv_rgb565_argb8888(void *output_, const void *input_,
res_hi = _mm_or_si64(res_hi_bg,
_mm_slli_si64(res_hi_ra, 16));
*((int64_t*)(output + w + 0)) = _mm_cvtm64_si64(res_lo);
*((int64_t*)(output + w + 2)) = _mm_cvtm64_si64(res_hi);
*((__m64*)(output + w + 0)) = res_lo;
*((__m64*)(output + w + 2)) = res_hi;
}
_mm_empty();
@ -411,7 +411,7 @@ void conv_rgba4444_argb8888(void *output_, const void *input_,
{
__m64 res_lo, res_hi;
__m64 res_lo_bg, res_hi_bg, res_lo_ra, res_hi_ra;
const __m64 in = _mm_cvtsi64_m64(*((int64_t*)(input + w)));
const __m64 in = *((__m64*)(input + w));
__m64 r = _mm_and_si64(_mm_srli_pi16(in, 2), pix_mask_r);
__m64 g = _mm_and_si64(in, pix_mask_g);
__m64 b = _mm_and_si64(_mm_slli_pi16(in, 4), pix_mask_b);
@ -430,8 +430,8 @@ void conv_rgba4444_argb8888(void *output_, const void *input_,
res_hi = _mm_or_si64(res_hi_bg,
_mm_slli_si64(res_hi_ra, 16));
*((int64_t*)(output + w + 0)) = _mm_cvtm64_si64(res_lo);
*((int64_t*)(output + w + 2)) = _mm_cvtm64_si64(res_hi);
*((__m64*)(output + w + 0)) = res_lo;
*((__m64*)(output + w + 2)) = res_hi;
}
_mm_empty();

View File

@ -34,6 +34,7 @@
#include <streams/file_stream.h>
#include <features/features_cpu.h>
#include <formats/image.h>
#include <math/float_minmax.h>
#include "../menu_generic.h"
@ -1213,7 +1214,7 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
menu_animation_push(&entry);
}
ozone_draw_backdrop(video_info, fmin(ozone->animations.messagebox_alpha, 0.75f));
ozone_draw_backdrop(video_info, float_min(ozone->animations.messagebox_alpha, 0.75f));
if (draw_osk)
{