aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
AgeCommit message (Collapse)Author
2018-04-28gl_shader_decompiler: Partially implement I2I_R, and I2F_R.bunnei
2018-04-28gl_shader_decompiler: More cleanups, etc. with how we handle register types.bunnei
2018-04-28GLSLRegister: Simplify register declarations, etc.bunnei
2018-04-28gl_shader_decompiler: Implement MOV32_IMM instruction.bunnei
2018-04-27Merge pull request #408 from bunnei/shader-ints-p2bunnei
gl_shader_decompiler: Add GLSLRegisterManager class to track register state.
2018-04-27renderer_opengl: Replace usages of LOG_GENERIC with fmt-capable equivalentsLioncash
2018-04-27gl_shader_decompiler: Add GLSLRegisterManager class to track register state.bunnei
2018-04-27general: Convert assertion macros over to be fmt-compatibleLioncash
2018-04-26gl_shader_decompiler: Boilerplate for handling integer instructions.bunnei
2018-04-26gl_shader_decompiler: Move color output to EXIT instruction.bunnei
2018-04-25Merge pull request #396 from Subv/shader_opsbunnei
Shaders: Implemented the FSET instruction.
2018-04-25Shaders: Implemented the FSET instruction.Subv
This instruction is similar to the FSETP instruction, but it doesn't set a predicate, it sets the destination register to 1.0 if the condition holds, and 0 otherwise.
2018-04-25video-core: Move logging macros over to new fmt-capable onesLioncash
2018-04-24Shaders: Added decodings for the FSET instructions.Subv
2018-04-24renderer_opengl: Use correct byte order for framebuffer pixel format ABGR8.bunnei
2018-04-24gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8.bunnei
2018-04-24gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU.bunnei
2018-04-24gl_rasterizer_cache: Use new logger.bunnei
2018-04-24gl_rasterizer_cache: Add a function for finding framebuffer GPU address.bunnei
2018-04-24gl_rasterizer_cache: Handle compressed texture sizes.bunnei
2018-04-24gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.bunnei
2018-04-24memory_manager: Make GpuToCpuAddress return an optional.bunnei
2018-04-24memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.bunnei
2018-04-24renderer_opengl: Silence a -Wdangling-else warning in DrawScreenTriangles()Lioncash
2018-04-24Merge pull request #379 from Subv/multi_buffersbunnei
GPU: Support multiple enabled vertex arrays.
2018-04-23GPU: Support multiple enabled vertex arrays.Subv
The vertex arrays will be copied to the stream buffer one after the other, and the attributes will be set using the ARB_vertex_attrib_binding extension. yuzu now thus requires OpenGL 4.3 or the ARB_vertex_attrib_binding extension.
2018-04-23GPU: Implement the RGB10_A2 RenderTarget format, it will use the same format ↵Subv
as the A2BGR10 texture format.
2018-04-21GPU: Implement the A2BGR10 texture format.Subv
2018-04-21Merge pull request #376 from bunnei/shader-decoderbunnei
Shader opcode decoding
2018-04-20Merge pull request #375 from lioncash/headerbunnei
opengl: Remove unnecessary header inclusions
2018-04-20gl_shader_decompiler: Skip RRO instruction.bunnei
2018-04-20gl_shader_decompiler: Cleanup error logging.bunnei
2018-04-20shader_bytecode: Decode instructions based on bit strings.bunnei
2018-04-20Merge pull request #369 from Subv/shader_instr2bunnei
ShaderGen: Implemented fsetp/kil and predicated instruction execution.
2018-04-20Merge pull request #374 from lioncash/noexceptbunnei
gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators
2018-04-20ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'.Subv
2018-04-20ShaderGen: Implemented predicated instruction execution.Subv
Each predicated instruction will be wrapped in an `if (predicate) { instruction_body; }` in the GLSL, where `predicate` is one of the predicate boolean variables previously set by fsetp.
2018-04-20ShaderGen: Implemented the fsetp instruction.Subv
Predicate variables are now added to the generated shader code in the form of 'pX' where X is the predicate id. These predicate variables are initialized to false on shader startup and are set via the fsetp instructions. TODO: * Not all the comparison types are implemented. * Only the single-predicate version is implemented.
2018-04-20opengl: Remove unnecessary header inclusionsLioncash
2018-04-20gl_resource_manager: Add missing noexcept specifiers to move constructors ↵Lioncash
and assignment operators Standard library containers may use std::move_if_noexcept to perform move operations. If a move cannot be performed under these circumstances, then a copy is attempted. Given we only intend for these types to be move-only this can be somewhat problematic. By defining these to be noexcept we prevent cases where copies may be attempted.
2018-04-20gl_rasterizer_cache: Make MatchFlags an enum classLioncash
Prevents implicit conversions and scope pollution.
2018-04-20ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).Subv
2018-04-20ShaderGen: Ignore the 'sched' instruction when generating shaders.Subv
The 'sched' instruction has a very convoluted encoding, but fortunately it seems to only appear on a fixed interval (once every 4 instructions).
2018-04-20Merge pull request #367 from lioncash/clampbunnei
math_util: Remove the Clamp() function
2018-04-20math_util: Remove the Clamp() functionLioncash
C++17 adds clamp() to the standard library, so we can remove ours in favor of it.
2018-04-20Merge pull request #363 from lioncash/array-sizebunnei
common_funcs: Remove ARRAY_SIZE macro
2018-04-19common_funcs: Remove ARRAY_SIZE macroLioncash
C++17 has non-member size() which we can just call where necessary.
2018-04-19renderer_opengl: Add missing header guardsLioncash
2018-04-19Merge pull request #356 from lioncash/shaderbunnei
glsl_shader_decompiler: Minor API changes to ShaderWriter
2018-04-19glsl_shader_decompiler: Use std::string_view instead of std::string for ↵Lioncash
AddLine() This function doesn't need to take ownership of the string data being given to it, considering all we do is append the characters to the internal string instance. Instead, use a string view to simply reference the string data without any potential heap allocation. Now anything that is a raw const char* won't need to be converted to a std::string before appending.