aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2018-04-24memory_manager: Add implement CpuToGpuAddress.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-24Merge pull request #386 from Subv/gpu_querybunnei
GPU: Added asserts to our code for handling the QUERY_GET GPU command.
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: Added asserts to our code for handling the QUERY_GET GPU command.Subv
This is based on research from nouveau. Many things are currently unknown and will require hwtests in the future. This commit also stubs QueryMode::Write2 to do the same as Write. Nouveau code treats them interchangeably, it is currently unknown what the difference is.
2018-04-23Merge pull request #383 from Subv/gpu_mmubunnei
GPU: Make the GPU virtual memory manager use 16 page bits and 10 pagetable bits.
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: Make the GPU virtual memory manager use 16 page bits and 10 page table ↵Subv
bits. Also removed some dead code and added memory map consistency asserts.
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: Add several more instruction decodings.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.
2018-04-19glsl_shader_decompiler: Add AddNewLine() function to ShaderWriterLioncash
Avoids constructing a std::string just to append a newline character
2018-04-19glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine()Lioncash
Avoids constructing a std::string just to append a character.
2018-04-19glsl_shader_decompiler: Append indentation without constructing a separate ↵Lioncash
std::string The interface of std::string already lets us append N copies of a character to an existing string.
2018-04-19ShaderGen: Implemented the fmul32i shader instruction.Subv
2018-04-19ShaderGen: Fixed a case where the TEXS instruction would use the same ↵Subv
registers for the input and the output. It will now save the coords before writing the outputs in a subscope.
2018-04-18GPU: Add support for the DXT23 and DXT45 compressed texture formats.Subv
2018-04-18Merge pull request #351 from Subv/tex_formatsbunnei
GPU: Implemented the B5G6R5 format.
2018-04-18GPU: Implemented the B5G6R5 format.Subv
2018-04-18gl_shader_gen: Support vertical/horizontal viewport flipping. (#347)bunnei
* gl_shader_gen: Support vertical/horizontal viewport flipping. * fixup! gl_shader_gen: Support vertical/horizontal viewport flipping.
2018-04-18GLCache: Added boilerplate code to make supporting configurable texture ↵Subv
component types. For now only the UNORM type is supported.
2018-04-18GLCache: Unify texture and framebuffer formats when converting to OpenGL.Subv
2018-04-18GPU: Texture format 8 and framebuffer format 0xD5 are actually ABGR8.Subv
2018-04-18GPU: Pitch textures are now supported, don't assert when encountering them.Subv
2018-04-18GLCache: Take into account the texture's block height when caching and ↵Subv
unswizzling.
2018-04-18GLCache: Added a function to convert cached PixelFormats back to texture ↵Subv
formats. TODO: The way we handle cached formats must change, framebuffer and texture formats are too different to keep them in the same place.