mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	code: Add texture sampling option (#7118)
* This replaces the nearest neighbour filter that shouldn't have existed in the first place
This commit is contained in:
		
							parent
							
								
									c17ec1d1aa
								
							
						
					
					
						commit
						85bd1be852
					
				
					 11 changed files with 110 additions and 59 deletions
				
			
		|  | @ -46,8 +46,6 @@ std::string_view GetTextureFilterName(TextureFilter filter) { | |||
|         return "Anime4K"; | ||||
|     case TextureFilter::Bicubic: | ||||
|         return "Bicubic"; | ||||
|     case TextureFilter::NearestNeighbor: | ||||
|         return "NearestNeighbor"; | ||||
|     case TextureFilter::ScaleForce: | ||||
|         return "ScaleForce"; | ||||
|     case TextureFilter::xBRZ: | ||||
|  | @ -59,6 +57,19 @@ std::string_view GetTextureFilterName(TextureFilter filter) { | |||
|     } | ||||
| } | ||||
| 
 | ||||
| std::string_view GetTextureSamplingName(TextureSampling sampling) { | ||||
|     switch (sampling) { | ||||
|     case TextureSampling::GameControlled: | ||||
|         return "GameControlled"; | ||||
|     case TextureSampling::NearestNeighbor: | ||||
|         return "NearestNeighbor"; | ||||
|     case TextureSampling::Linear: | ||||
|         return "Linear"; | ||||
|     default: | ||||
|         return "Invalid"; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| } // Anonymous namespace
 | ||||
| 
 | ||||
| Values values = {}; | ||||
|  | @ -87,6 +98,8 @@ void LogSettings() { | |||
|     log_setting("Renderer_PostProcessingShader", values.pp_shader_name.GetValue()); | ||||
|     log_setting("Renderer_FilterMode", values.filter_mode.GetValue()); | ||||
|     log_setting("Renderer_TextureFilter", GetTextureFilterName(values.texture_filter.GetValue())); | ||||
|     log_setting("Renderer_TextureSampling", | ||||
|                 GetTextureSamplingName(values.texture_sampling.GetValue())); | ||||
|     log_setting("Stereoscopy_Render3d", values.render_3d.GetValue()); | ||||
|     log_setting("Stereoscopy_Factor3d", values.factor_3d.GetValue()); | ||||
|     log_setting("Stereoscopy_MonoRenderOption", values.mono_render_option.GetValue()); | ||||
|  | @ -175,6 +188,7 @@ void RestoreGlobalState(bool is_powered_on) { | |||
|     values.resolution_factor.SetGlobal(true); | ||||
|     values.frame_limit.SetGlobal(true); | ||||
|     values.texture_filter.SetGlobal(true); | ||||
|     values.texture_sampling.SetGlobal(true); | ||||
|     values.layout_option.SetGlobal(true); | ||||
|     values.swap_screen.SetGlobal(true); | ||||
|     values.upright_screen.SetGlobal(true); | ||||
|  |  | |||
|  | @ -72,10 +72,15 @@ enum class TextureFilter : u32 { | |||
|     None = 0, | ||||
|     Anime4K = 1, | ||||
|     Bicubic = 2, | ||||
|     NearestNeighbor = 3, | ||||
|     ScaleForce = 4, | ||||
|     xBRZ = 5, | ||||
|     MMPX = 6 | ||||
|     ScaleForce = 3, | ||||
|     xBRZ = 4, | ||||
|     MMPX = 5, | ||||
| }; | ||||
| 
 | ||||
| enum class TextureSampling : u32 { | ||||
|     GameControlled = 0, | ||||
|     NearestNeighbor = 1, | ||||
|     Linear = 2, | ||||
| }; | ||||
| 
 | ||||
| namespace NativeButton { | ||||
|  | @ -451,6 +456,8 @@ struct Values { | |||
|     SwitchableSetting<u32, true> resolution_factor{1, 0, 10, "resolution_factor"}; | ||||
|     SwitchableSetting<u16, true> frame_limit{100, 0, 1000, "frame_limit"}; | ||||
|     SwitchableSetting<TextureFilter> texture_filter{TextureFilter::None, "texture_filter"}; | ||||
|     SwitchableSetting<TextureSampling> texture_sampling{TextureSampling::GameControlled, | ||||
|                                                         "texture_sampling"}; | ||||
| 
 | ||||
|     SwitchableSetting<LayoutOption> layout_option{LayoutOption::Default, "layout_option"}; | ||||
|     SwitchableSetting<bool> swap_screen{false, "swap_screen"}; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue