diff --git a/Source/OEShaderParamValue.h b/Source/OEShaderParamValue.h index a7d5a8d..d766392 100644 --- a/Source/OEShaderParamValue.h +++ b/Source/OEShaderParamValue.h @@ -55,7 +55,6 @@ typedef NSArray * OEShaderParamValues; @property (nonatomic, nonnull) NSNumber *step; @property (nonatomic) BOOL isInitial; -+ (nonnull instancetype)groupWithName:(NSString *)name; + (OEShaderParamValues)withParameters:(NSArray *)params; @end diff --git a/Source/OEShaderParamValue.m b/Source/OEShaderParamValue.m index 7502ed1..b87b8cc 100644 --- a/Source/OEShaderParamValue.m +++ b/Source/OEShaderParamValue.m @@ -37,7 +37,7 @@ p.groupIndex = groupIndex; p.name = param.name; p.desc = param.desc; - p.value = @(param.value); + p.value = @(param.initial); p.initial = @(param.initial); p.minimum = @(param.minimum); p.maximum = @(param.maximum); @@ -46,14 +46,6 @@ return p; } -+ (nonnull instancetype)groupWithName:(NSString *)name -{ - OEShaderParamValue *p = [OEShaderParamValue new]; - p.index = -1; // "group" - p.group = name; - return p; -} - + (NSArray *)withParameters:(NSArray *)params { __block NSMutableArray *res = [[NSMutableArray alloc] initWithCapacity:params.count]; diff --git a/Source/OpenEmuHelperApp.m b/Source/OpenEmuHelperApp.m index d48a314..670140f 100644 --- a/Source/OpenEmuHelperApp.m +++ b/Source/OpenEmuHelperApp.m @@ -147,7 +147,6 @@ static os_log_t LOG_DISPLAY; _commandQueue = [_device newCommandQueue]; _clearColor = MTLClearColorMake(0, 0, 0, 1); _filterChain = [[OEFilterChain alloc] initWithDevice:_device]; - [_filterChain setDefaultFilteringLinear:NO]; [self updateScreenSize]; [self updateGameRenderer]; @@ -289,14 +288,19 @@ static os_log_t LOG_DISPLAY; }]; } +- (ShaderCompilerOptions *)makeOptions +{ + return [ShaderCompilerOptions makeOptions]; +} + - (BOOL)setShaderURL:(NSURL *)url parameters:(NSDictionary *)parameters error:(NSError **)error { - BOOL success = [_filterChain setShaderFromURL:url error:error]; + BOOL success = [_filterChain setShaderFromURL:url options:[self makeOptions] error:error]; if (success) { - __block __auto_type shader = _filterChain.shader; + __block __auto_type filter = _filterChain; [parameters enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSNumber *obj, BOOL *stop) { - [shader setValue:obj.doubleValue forParameter:key]; + [filter setValue:obj.doubleValue forParameterName:key]; }]; } @@ -305,7 +309,7 @@ static os_log_t LOG_DISPLAY; - (void)setShaderParameterValue:(CGFloat)value forKey:(NSString *)key { - [_filterChain.shader setValue:value forParameter:key]; + [_filterChain setValue:value forParameterName:key]; } #pragma mark - Game Core methods