Small cleanups

This commit is contained in:
twinaphex 2021-02-20 10:05:41 +01:00
parent ffaa7fcd40
commit 4d8db1a091
2 changed files with 40 additions and 46 deletions

View File

@ -752,9 +752,7 @@ typedef struct MTLALIGN(16)
- (void)setSize:(CGSize)size
{
if (CGSizeEqualToSize(_size, size))
{
return;
}
_size = size;
@ -763,9 +761,9 @@ typedef struct MTLALIGN(16)
if (_format != RPixelFormatBGRA8Unorm && _format != RPixelFormatBGRX8Unorm)
{
MTLTextureDescriptor *td = [MTLTextureDescriptor texture2DDescriptorWithPixelFormat:MTLPixelFormatR16Uint
width:(NSUInteger)size.width
height:(NSUInteger)size.height
mipmapped:NO];
width:(NSUInteger)size.width
height:(NSUInteger)size.height
mipmapped:NO];
_src = [_context.device newTextureWithDescriptor:td];
}
}
@ -778,15 +776,13 @@ typedef struct MTLALIGN(16)
- (void)setFrame:(CGRect)frame
{
if (CGRectEqualToRect(_frame, frame))
{
return;
}
_frame = frame;
// update vertices
CGPoint o = frame.origin;
CGSize s = frame.size;
CGSize s = frame.size;
CGFloat l = o.x;
CGFloat t = o.y;
@ -809,7 +805,8 @@ typedef struct MTLALIGN(16)
- (void)_convertFormat
{
if (_format == RPixelFormatBGRA8Unorm || _format == RPixelFormatBGRX8Unorm)
if ( _format == RPixelFormatBGRA8Unorm
|| _format == RPixelFormatBGRX8Unorm)
return;
if (!_srcDirty)
@ -873,25 +870,21 @@ typedef struct MTLALIGN(16)
{
if (_shader && (_engine.frame.output_size.x != _viewport->width ||
_engine.frame.output_size.y != _viewport->height))
{
resize_render_targets = YES;
}
_engine.frame.viewport.originX = _viewport->x;
_engine.frame.viewport.originY = _viewport->y;
_engine.frame.viewport.width = _viewport->width;
_engine.frame.viewport.height = _viewport->height;
_engine.frame.viewport.znear = 0.0f;
_engine.frame.viewport.zfar = 1.0f;
_engine.frame.output_size.x = _viewport->width;
_engine.frame.output_size.y = _viewport->height;
_engine.frame.output_size.z = 1.0f / _viewport->width;
_engine.frame.output_size.w = 1.0f / _viewport->height;
_engine.frame.viewport.width = _viewport->width;
_engine.frame.viewport.height = _viewport->height;
_engine.frame.viewport.znear = 0.0f;
_engine.frame.viewport.zfar = 1.0f;
_engine.frame.output_size.x = _viewport->width;
_engine.frame.output_size.y = _viewport->height;
_engine.frame.output_size.z = 1.0f / _viewport->width;
_engine.frame.output_size.w = 1.0f / _viewport->height;
if (resize_render_targets)
{
[self _updateRenderTargets];
}
[self _updateHistory];
@ -922,16 +915,15 @@ typedef struct MTLALIGN(16)
- (void)_initHistory
{
int i;
MTLTextureDescriptor *td = [MTLTextureDescriptor texture2DDescriptorWithPixelFormat:MTLPixelFormatBGRA8Unorm
width:(NSUInteger)_size.width
height:(NSUInteger)_size.height
mipmapped:false];
width:(NSUInteger)_size.width
height:(NSUInteger)_size.height
mipmapped:false];
td.usage = MTLTextureUsageShaderRead | MTLTextureUsageShaderWrite | MTLTextureUsageRenderTarget;
for (int i = 0; i < _shader->history_size + 1; i++)
{
for (i = 0; i < _shader->history_size + 1; i++)
[self _initTexture:&_engine.frame.texture[i] withDescriptor:td];
}
init_history = NO;
}
@ -948,15 +940,14 @@ typedef struct MTLALIGN(16)
- (void)drawWithContext:(Context *)ctx
{
unsigned i;
_texture = _engine.frame.texture[0].view;
[self _convertFormat];
if (!_shader || _shader->passes == 0)
{
return;
}
for (unsigned i = 0; i < _shader->passes; i++)
for (i = 0; i < _shader->passes; i++)
{
if (_shader->pass[i].feedback)
{

View File

@ -28364,10 +28364,9 @@ void audio_driver_set_buffer_size(size_t bufsize)
p_rarch->audio_driver_buffer_size = bufsize;
}
static void audio_driver_monitor_adjust_system_rates(
static float audio_driver_monitor_adjust_system_rates(
struct rarch_state *p_rarch)
{
float timing_skew;
settings_t *settings = p_rarch->configuration_settings;
bool vrr_runloop_enable = settings->bools.vrr_runloop_enable;
const float target_video_sync_rate =
@ -28376,19 +28375,13 @@ static void audio_driver_monitor_adjust_system_rates(
struct retro_system_av_info *av_info = &p_rarch->video_driver_av_info;
const struct retro_system_timing *info =
(const struct retro_system_timing*)&av_info->timing;
if (info->sample_rate <= 0.0)
return;
timing_skew =
float timing_skew =
fabs(1.0f - info->fps / target_video_sync_rate);
p_rarch->audio_driver_input = info->sample_rate;
float ret = info->sample_rate;
if (timing_skew <= max_timing_skew && !vrr_runloop_enable)
p_rarch->audio_driver_input *= target_video_sync_rate / info->fps;
RARCH_LOG("[Audio]: Set audio input rate to: %.2f Hz.\n",
p_rarch->audio_driver_input);
ret *= target_video_sync_rate / info->fps;
return ret;
}
#ifdef HAVE_REWIND
@ -32627,9 +32620,19 @@ static void camera_driver_find_driver(struct rarch_state *p_rarch)
static void driver_adjust_system_rates(struct rarch_state *p_rarch)
{
settings_t *settings = p_rarch->configuration_settings;
settings_t *settings = p_rarch->configuration_settings;
struct retro_system_av_info *av_info = &p_rarch->video_driver_av_info;
const struct retro_system_timing *info =
(const struct retro_system_timing*)&av_info->timing;
audio_driver_monitor_adjust_system_rates(p_rarch);
if (info->sample_rate > 0.0)
{
p_rarch->audio_driver_input =
audio_driver_monitor_adjust_system_rates(p_rarch);
RARCH_LOG("[Audio]: Set audio input rate to: %.2f Hz.\n",
p_rarch->audio_driver_input);
}
p_rarch->runloop_force_nonblock = false;