aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics
AgeCommit message (Collapse)Author
2018-12-27Add RG16 Sint (#517)HorrorTroll
2018-12-26Do not attempt to read unused attribute, fix attributes count (#520)gdkchan
2018-12-17Move MaxUboSize definition (#530)Thomas Guillemard
* Move MaxUboSize definition This fix a crash on Ryujinx.ShaderTools caused by the absence of an OpenGL context. * Use a constant for the value in ShaderTools * Address comments
2018-12-11Optimized memory modified check (#538)Roderick Sieben
* Optimized memory modified check This was initially in some cases more expensive than plainly sending the data. Now it should have way better performance. * Small refactoring * renamed InvalidAccessEventArgs * Renamed PtPageBits * Removed ValueRange(set) They are currently unused and won't be likely to be used in the near future
2018-12-03NVDEC implementation using FFmpeg (#443)gdkchan
* Initial nvdec implementation using FFmpeg * Fix swapped channels on the video decoder and the G8R8 texture format * Fix texture samplers not being set properly (regression) * Rebased * Remove unused code introduced on the rebase * Add support for RGBA8 output format on the video image composer * Correct spacing * Some fixes for rebase and other tweaks * Allow size mismatch on frame copy * Get rid of GetHostAddress calls on VDec
2018-11-28Add support for bigger UBOs, fix sRGB regression, small improvement t… (#503)gdkchan
* Add support for bigger UBOs, fix sRGB regression, small improvement to the 2D copy engine * Break into multiple lines * Read fractions for source/step values on the 2d copy engine aswell * Use fixed point math for more speed * Fix reinterpret when texture sizes are different
2018-11-28Better process implementation (#491)gdkchan
* Initial implementation of KProcess * Some improvements to the memory manager, implement back guest stack trace printing * Better GetInfo implementation, improve checking in some places with information from process capabilities * Allow the cpu to read/write from the correct memory locations for accesses crossing a page boundary * Change long -> ulong for address/size on memory related methods to avoid unnecessary casts * Attempt at implementing ldr:ro with new KProcess * Allow BSS with size 0 on ldr:ro * Add checking for memory block slab heap usage, return errors if full, exit gracefully * Use KMemoryBlockSize const from KMemoryManager * Allow all methods to read from non-contiguous locations * Fix for TransactParcelAuto * Address PR feedback, additionally fix some small issues related to the KIP loader and implement SVCs GetProcessId, GetProcessList, GetSystemInfo, CreatePort and ManageNamedPort * Fix wrong check for source pages count from page list on MapPhysicalMemory * Fix some issues with UnloadNro on ldr:ro
2018-11-23Add RGBA16 Unorm (#513)HorrorTroll
2018-11-21GPU: Allow depth textures to be loaded (#511)jduncanator
Allow depth textures to be loaded when their component types do not match.
2018-11-19Add BGRA8 Srgb (#505)HorrorTroll
2018-11-17Enable SRGB framebuffers by default (#502)gdkchan
2018-11-17Improved GPU command lists decoding (#499)gdkchan
* Better implementation of the DMA pusher, misc fixes * Remove some debug code * Correct RGBX8 format * Add support for linked Texture Sampler Control * Attempt to fix upside down screen issue
2018-11-14Force cache to remove entries when memory usage exceeds a given threshold (#492)gdkchan
2018-11-14Initialize blend registers with default values (#497)gdkchan
2018-11-11Add BGR5A1 Image Format (#495)Ac_K
* Add `BGR5A1` to ImageUtils.cs Add `BGR5A1` Image Format. * Add BGR5A1 to OGLEnumConverter.cs
2018-11-09Update ImageUtils.cs (#494)Ac_K
Fix `GalImageFormat.D32S8` definition.
2018-11-01Implment common and independent blend properly (fixes #458) (#485)gdkchan
* Implment common and independent blend properly * Nits
2018-10-30Adjust naming conventions for Ryujinx and ChocolArm64 projects (#484)Alex Barney
* Change naming convention for Ryujinx project * Change naming convention for ChocolArm64 project * Fix NaN * Remove unneeded this. from Ryujinx project * Adjust naming from new PRs * Name changes based on feedback * How did this get removed? * Rebasing fix * Change FP enum case * Remove prefix from ChocolArm64 classes - Part 1 * Remove prefix from ChocolArm64 classes - Part 2 * Fix alignment from last commit's renaming * Rename namespaces * Rename stragglers * Fix alignment * Rename OpCode class * Missed a few * Adjust alignment
2018-10-30Fix regression caused by wrong time delta calculation on cache deletion methodsgdkchan
2018-10-28Timing: Optimize Timestamp Aquisition (#479)jduncanator
* Timing: Optimize Timestamp Aquisition Currently, we make use of Environment.TickCount in a number of places. This has some downsides, mainly being that the TickCount is a signed 32-bit integer, and has an effective limit of ~25 days before overflowing and wrapping around. Due to the signed-ness of the value, this also caused issues with negative numbers. This resolves these issues by using a 64-bit tick count obtained from Performance Counters (via the Stopwatch class). This has a beneficial side effect of being significantly more accurate than the TickCount. * Timing: Rename ElapsedTicks to ElapsedMilliseconds and expose TicksPerX * Timing: Some style changes * Timing: Align static variable initialization
2018-10-27Crop instead of resizing on 2d engine texture copies (#482)gdkchan
* Crop instead of resizing on 2d engine texture copies * Remove unused local
2018-10-25Fix Color Mask values (#473)gdkchan
* Fix color mask common, set default value on first color mask register * Missing check * Better exception messages * Address PR feedback * Add fixme as per review feedback
2018-10-23Fix for render target and a shader compilation issue (#471)gdkchan
* Fix render target using possibly deleted or wrong handles * Fix basic blocks with only a KIL instruction on the shader translator * Formatting fix
2018-10-23Add depth range support on the GPU (#472)gdkchan
* Add depth range support on the GPU * Address PR feedback
2018-10-17Improve texture tables (#457)gdkchan
* Improve texture tables * More renaming and other tweaks * Minor tweaks
2018-10-17Move logging to Ryujinx.Common and make it a static class (#413)ReinUsesLisp
2018-10-14Add G8R8Unorm, G8R8Snorm, B8G8R8A8, D24_S8 Uint, R8Uint, R32Uint (#426)HorrorTroll
* Implement B5G6R5Unorm & BGR5A1Unorm * Fix R8G8 Unorm to G8R8 Unorm * Added back R8G8 Unorm * Fix G8R8Unorm, add R8G8B8A8 * Add D24_S8 Uint * Add R8Uint & R32Uint * Another fixed * Reverting back * R8G8B8A8 change to B8G8R8A8 * Add G8R8 Snorm
2018-10-14Add RG16Unorm & R16Uint (#456)HorrorTroll
* Implement B5G6R5Unorm & BGR5A1Unorm * Add RG16Unorm, R16Uint
2018-10-13Add support for saturation on some shader instructions, fix ReadTexture ↵gdkchan
alignment and add ColorMask support (#451) * Add support for saturation on some shader instructions, fix ReadTexture alignment * Add ColorMask support, other tweaks
2018-10-13Quads, QuadStrip, const attributes and half-float attributes support (#447)gdkchan
* Quads, QuadStrip and const attributes support * Add support for half float attributes and fix texture pitch alignment * Throw when an unsupported float type is used as const attribute aswell
2018-09-26Fix multiple rendertargets (#427)ReinUsesLisp
* Simplify render target bindings * Implement multiple viewports * Pack glViewportIndexed calls into a single glViewportArray * Use ARB_viewport_array when available * Cache framebuffer attachments * Use get accessors in OGLExtension * Address feedback
2018-09-19Implement DepthWriteMask and add R16G16 (#425)ReinUsesLisp
2018-09-19General improvements for GpuResourceManager (#421)ReinUsesLisp
* General improvements to GpuResourceManager * Address feedback * Address feedback
2018-09-19Fixup SSY (#424)ReinUsesLisp
2018-09-18Fix d32s8 format on OGLEnumConverter (#420)gdkchan
2018-09-18Allow "reinterpretation" of framebuffer/zeta formats (#418)gdkchan
* (Re)Implement format reinterpretation, other changes * Implement writeback to guest memory, some refactoring * More refactoring, implement reinterpretation the old way again * Clean up * Some fixes on M2MF (old Dma engine), added partial support for P2MF, fix conditional ssy, add Z24S8 zeta format, other fixes * nit: Formatting * Address PR feedback
2018-09-17Implement B5G6R5Unorm, BGR5A1Unorm, RGBA32Uint, R16Unorm and Z16 texture ↵HorrorTroll
format. Fix BC6H_UF16 from Unorm to Sfloat (#417) * Implement B5G6R5Unorm & BGR5A1Unorm * Implement RGBA32Uint * Implement R16Unorm & Z16 texture format * Fix BC6H_UF16 from Unorm to Sfloat
2018-09-11Fixup image error message and add G8R8 to size query (#410)ReinUsesLisp
2018-09-08Move GPU emulation from Ryujinx.HLE to Ryujinx.Graphics and misc changes (#402)ReinUsesLisp
* Move GPU LLE emulation from HLE to Graphics * Graphics: Move Gal/Texture to Texture * Remove Engines/ directory and namespace * Use tables for image formats * Abstract OpCode decoding * Simplify image table * Do not leak Read* symbols in TextureReader * Fixups * Rename IGalFrameBuffer -> IGalRenderTarget * Remove MaxBpp hardcoded value * Change yet again texture data and add G8R8 flipping * Rename GalFrameBufferFormat to GalSurfaceFormat * Unident EnsureSetup in ImageHandler * Add IsCompressed * Address some feedback
2018-09-01Fix exception throw message for unimpl texture formats (#398)gdkchan
2018-09-01Shaders: Handle Ipa PASS argument as needed in Fragment Shaders (#392)ReinUsesLisp
2018-09-01Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format (#377)HorrorTroll
* Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format * Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format * Revert "Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format" This reverts commit aea5c9db3a5e0b11545c3520f885e411a3587113. * Conflicts fix * Wrong fix * E * e
2018-08-31Implement SSY/SYNC shader instructions (#382)ReinUsesLisp
* Use a program counter to control shaders' flow * Cleanup * Implement SSY/SYNC * Address feedback * Fixup commentary * Fixup Ssy instruction
2018-08-30Fixup HasColor for depth/stencil values (#379)ReinUsesLisp
2018-08-27Add R32_G32 texture format (#383)HorrorTroll
2018-08-25Use mirrored texture wraps when available (#361)ReinUsesLisp
2018-08-25Implement vertex instancing (#381)ReinUsesLisp
2018-08-23Implement multiple rendertarget attachments and depth writting (#375)ReinUsesLisp
* Add depth writting * Implement multiple attachments * Address feedback
2018-08-23Avoid querying and setting texture bindings in hot code (#376)ReinUsesLisp
2018-08-20Avoid gpr overwritting on Ld_C instruction (#371)ReinUsesLisp
* Avoid gpr overwritting on LD_C instruction * Address feedback * Ignore invalid registers