- Apr 15, 2020
- 
- 
Mat M authoredmaxwell_to_vk: Add uint16 vertex formats 
- 
Mat M authoredgl_shader_cache: Use CompileDepth::FullDecompile on GLSL 
- 
Mat M authoredgl_texture_cache: Fix layered texture attachment base level 
- 
Mat M authoredshader/arithmetic: Add FCMP_CR variant 
- 
Mat M authoredRevert "gl_shader_decompiler: Implement merges with bitfieldInsert" 
- 
Mat M authoredvk_blit_screen: Initialize all members in VkPipelineViewportStateCreateInfo 
- 
ReinUsesLisp authored
- 
ReinUsesLisp authoredAvoid invalid fallbacks. 
- 
ReinUsesLisp authoredWhen the dynamic state is specified, pViewports and pScissors are ignored, quoting the specification: pViewports is a pointer to an array of VkViewport structures, defining the viewport transforms. If the viewport state is dynamic, this member is ignored. That said, AMD's proprietary driver itself seem to read it regardless of what the specification says. 
- 
Rodrigo Locatti authoredvk_rasterizer: Default to 1 viewports with a size of 0 
- 
Fernando Sahmkow authoredThis is a simple optimization as Buffer Copies are mostly used for texture recycling. They are, however, useful when games abuse undefined behavior but most 3D APIs forbid it. 
- 
ReinUsesLisp authoredThis reverts commit 05cf2708. Apparently the first approach using floats instead of bitfieldInert worked better for Fire Emblem: Three Houses. Reverting to get that behavior back. 
 
- 
- Apr 14, 2020
- 
- 
ReinUsesLisp authoredAdds another variant of FCMP. 
- 
Zach Hilman authoredservice: friend: Stub IFriendService::GetBlockedUserListIds. 
- 
Zach Hilman authoredfile_sys: patch_manager: Return early when there are no layers to apply. 
- 
bunnei authored
- 
bunnei authored- This is safe to stub, as there should be no adverse consequences from reporting no blocked users. 
- 
ReinUsesLisp authoredSilence validation layer errors. 
- 
ReinUsesLisp authoredFrom my testing on a Splatoon 2 shader that takes 3800ms on average to compile changing to FullDecompile reduces it to 900ms on average. The shader decoder will automatically fallback to a more naive method if it can't use full decompile. 
 
- 
- Apr 13, 2020
- 
- 
ReinUsesLisp authoredThe base level is already included in the texture view. If we specify the base level in the texture again, this will end up in the incorrect level and potentially out of bounds. 
- 
Rodrigo Locatti authoredrenderer_vulkan: Drop Vulkan-Hpp 
- 
Mat M authoredgl_rasterizer: Implement line widths and smooth lines 
- 
Mat M authoredtexture_cache: Remove preserve_contents 
- 
Mat M authoredtexture/astc: More small ASTC optimizations 
- 
Mat M authoredshader/conversion: Implement I2I sign extension, saturation and selection 
- 
Mat M authoredgl_texture_cache: Attach view instead of base texture for layered attchments 
- 
Mat M authoredgl_shader_decompiler: Improve generated code in HMergeH* 
- 
Mat M authoredshader/texture: Remove type mismatches management from shader decoder 
- 
ReinUsesLisp authoredImplements "legacy" features from OpenGL present on hardware such as smooth lines and line width. 
- 
ReinUsesLisp authoredThis also fixes Turing issues but it avoids doing more bitcasts. This should improve the generated code while also avoiding more points where compilers can flush floats. 
 
- 
- Apr 12, 2020
- 
- 
bunnei authoredservice/vi: Partially implement BufferQueue disconnect 
- 
Fernando Sahmkow authoredshader/video: Partially implement VMNMX 
- 
Mat M authoredvideo_core: Add MSAA registers in 3D engine and TIC 
- 
ReinUsesLisp authoredAvoiding bitwise expressions, this fixes Turing issues in shaders using half float merges that affected several games. 
- 
ReinUsesLisp authoredImplements the common usages for VMNMX. Inputs with a different size than 32 bits are not supported and sign mismatches aren't supported either. VMNMX works as follows: It grabs Ra and Rb and applies a maximum/minimum on them (this is defined by .MX), having in mind the input sign. This result can then be saturated. After the intermediate result is calculated, it applies another operation on it using Rc. These operations are merges, accumulations or another min/max pass. This instruction allows to implement with a more flexible approach GCN's min3 and max3 instructions (for instance). 
- 
ReinUsesLisp authoredThis adds the registers used for multisampling. It doesn't implement anything for now. 
 
- 
- Apr 11, 2020
- 
- 
Rodrigo Locatti authoredBuffer queue: Correct behavior of free buffer. 
- 
bunnei authoredPort citra-emu/citra#4956: "Fixes to game list sorting" 
- 
ReinUsesLisp authoredpreserve_contents was always true. We can't assume we don't have to preserve clears because scissored and color masked clears exist. This removes preserve_contents and assumes it as true at all times. 
- 
ReinUsesLisp authored
 
-