| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-08-20 | shader_bytecode: Replace some UNIMPLEMENTED logs. | bunnei | |
| 2018-08-20 | gl_shader_decompiler: Implement Texture3D for TEXS. | bunnei | |
| 2018-08-20 | gl_shader_decompiler: Implement TextureCube for TEX. | bunnei | |
| 2018-08-20 | Shaders: Fixed the coords in TEX with Texture2D. | Subv | |
| The X and Y coordinates should be in gpr8 and gpr8+1, respectively. This fixes the cutscene rendering in Sonic Mania. | |||
| 2018-08-20 | Shaders: Log and crash when using an unimplemented texture type in a texture ↵ | Subv | |
| sampling instruction. | |||
| 2018-08-20 | GPU: Implemented the logic op functionality of the GPU. | Subv | |
| This will ASSERT if blending is enabled at the same time as logic ops. | |||
| 2018-08-20 | GLState: Allow enabling/disabling GL_COLOR_LOGIC_OP independently from blending. | Subv | |
| 2018-08-20 | rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signature | Lioncash | |
| This is an OpenGL renderer-specific data type. Given that, this type shouldn't be used within the base interface for the rasterizer. Instead, we can pass this information to the rasterizer via reference. | |||
| 2018-08-20 | GPU: Added registers for the logicop functionality. | Subv | |
| 2018-08-20 | renderer_base: Make creation of the rasterizer, the responsibility of the ↵ | Lioncash | |
| renderers themselves Given we use a base-class type within the renderer for the rasterizer (RasterizerInterface), we want to allow renderers to perform more complex initialization if they need to do such a thing. This makes it important to reserve type information. Given the OpenGL renderer is quite simple settings-wise, this is just a simple shuffling of the initialization code. For something like Vulkan however this might involve doing something like: // Initialize and call rasterizer-specific function that requires // the full type of the instance created. auto raster = std::make_unique<VulkanRasterizer>(some, params); raster->CallSomeVulkanRasterizerSpecificFunction(); // Assign to base class variable rasterizer = std::move(raster) | |||
| 2018-08-21 | Port #3353 from Citra | fearlessTobi | |
| 2018-08-20 | Shaders: Write all the enabled color outputs when a fragment shader exits. | Subv | |
| We were only writing to the first render target before. Note that this is only the GLSL side of the implementation, supporting multiple render targets requires more changes in the OpenGL renderer. Dual Source blending is not implemented and stuff that uses it might not work at all. | |||
| 2018-08-20 | Rasterizer: Reinterpret the raw texture bytes instead of blitting (and thus ↵ | Subv | |
| doing format conversion) to a new texture when a game requests an old texture address with a different format. | |||
| 2018-08-20 | Rasterizer: Don't attempt to copy over the old texture's data when doing a ↵ | Subv | |
| format reinterpretation if we're only going to clear the framebuffer. | |||
| 2018-08-20 | Merge pull request #1104 from Subv/instanced_arrays | bunnei | |
| GLRasterizer: Implemented instanced vertex arrays. | |||
| 2018-08-20 | Merge pull request #1115 from Subv/texs_mask | bunnei | |
| Shaders/TEXS: Write to the correct output register when swizzling. | |||
| 2018-08-20 | Merge pull request #1112 from Subv/sampler_types | bunnei | |
| Shaders: Use the correct shader type when sampling textures. | |||
| 2018-08-20 | Implemented RGBA8_UINT | David Marcec | |
| Needed by kirby | |||
| 2018-08-19 | Shaders/TEXS: Fixed the component mask in the TEXS instruction. | Subv | |
| Previously we could end up with a TEXS that didn't write any outputs, this was wrong. | |||
| 2018-08-19 | Merge pull request #1089 from Subv/neg_bits | bunnei | |
| Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions. | |||
| 2018-08-19 | Merge pull request #1105 from Subv/convert_neg | bunnei | |
| Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions. | |||
| 2018-08-19 | Merge pull request #1113 from Subv/texs_mask | bunnei | |
| Shaders/TEXS: Fixed the component mask in the TEXS instruction. | |||
| 2018-08-19 | Shaders/TEXS: Fixed the component mask in the TEXS instruction. | Subv | |
| Previously we could end up with a TEXS that didn't write any outputs, this was wrong. | |||
| 2018-08-19 | Merge pull request #1102 from ogniK5377/mirror-clamp-edge | bunnei | |
| Added WrapMode MirrorOnceClampToEdge | |||
| 2018-08-19 | Merge pull request #1101 from Subv/ssy_stack | bunnei | |
| Shaders: Implemented a stack for the SSY/SYNC instructions. | |||
| 2018-08-19 | Shader: Implemented the TLD4 and TLD4S opcodes using GLSL's textureGather. | Subv | |
| It is unknown how TLD4S determines the sampler type, more research is needed. | |||
| 2018-08-19 | Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions. | Subv | |
| Different sampler types have their parameters in different registers. | |||
| 2018-08-19 | Shader: Added bitfields for the texture type of the various sampling ↵ | Subv | |
| instructions. | |||
| 2018-08-19 | Shaders: Added decodings for TLD4 and TLD4S | Subv | |
| 2018-08-19 | Merge pull request #1109 from Subv/ldg_decode | bunnei | |
| Shaders: Added decodings for the LDG and STG instructions. | |||
| 2018-08-19 | Merge pull request #1108 from Subv/front_facing | bunnei | |
| Shaders: Implemented the gl_FrontFacing input attribute (attr 63). | |||
| 2018-08-19 | Shaders: Added decodings for the LDG and STG instructions. | Subv | |
| 2018-08-19 | Shaders: Implemented the gl_FrontFacing input attribute (attr 63). | Subv | |
| 2018-08-18 | Shader: Remove an unneeded assert, the negate bit is implemented for ↵ | Subv | |
| conversion instructions. | |||
| 2018-08-18 | GLRasterizer: Implemented instanced vertex arrays. | Subv | |
| Before each draw call, for every enabled vertex array configured as instanced, we take the current instance id and divide it by its configured divisor, then we multiply that by the corresponding stride and increment the start address by the resulting amount. This way we can simulate the vertex array being incremented once per instance without actually using OpenGL's instancing functions. | |||
| 2018-08-18 | Shader: Implemented the predicate and mode arguments of LOP. | Subv | |
| The mode can be used to set the predicate to true depending on the result of the logic operation. In some cases, this means discarding the result (writing it to register 0xFF (Zero)). This is used by Super Mario Odyssey. | |||
| 2018-08-19 | Added WrapMode MirrorOnceClampToEdge | David Marcec | |
| Used by splatoon 2 | |||
| 2018-08-18 | Shaders: Implemented a stack for the SSY/SYNC instructions. | Subv | |
| The SSY instruction pushes an address into the stack, and the SYNC instruction pops it. The current stack depth is 20, we should figure out if this is enough or not. | |||
| 2018-08-18 | Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic ↵ | Subv | |
| instructions. We should definitely audit our shader generator for more errors like this. | |||
| 2018-08-18 | Added predcondition GreaterThanWithNan | David Marcec | |
| 2018-08-17 | Merge pull request #1096 from bunnei/supported-blits | bunnei | |
| gl_rasterizer_cache: Remove asserts for supported blits. | |||
| 2018-08-17 | gl_rasterizer_cache: Remove asserts for supported blits. | bunnei | |
| 2018-08-17 | renderer_opengl: Treat OpenGL errors as critical. | bunnei | |
| 2018-08-17 | Merge pull request #1019 from Subv/vertex_divisor | bunnei | |
| Rasterizer: Manually implemented instanced rendering. | |||
| 2018-08-15 | gl_rasterizer_cache: Treat Depth formats differently from DepthStencil. | bunnei | |
| 2018-08-15 | Shader/Conversion: Implemented the negate bit in F2F and I2I instructions. | Subv | |
| 2018-08-15 | Shader/I2F: Implemented the negate I2F_C instruction variant. | Subv | |
| 2018-08-15 | Shader/F2I: Implemented the negate bit in the I2F instruction | Subv | |
| 2018-08-15 | Shader/F2I: Implemented the F2I_C instruction variant. | Subv | |
| 2018-08-15 | Shader/F2I: Implemented the negate bit in the F2I instruction. | Subv | |
