aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics
AgeCommit message (Collapse)Author
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
2018-08-20Use signed and unsigned vertex types (#370)ReinUsesLisp
2018-08-19Rendertarget attachments, texture and image changes (#358)ReinUsesLisp
* Add multiple color outputs for fragment shaders * Add registers and gal enums * Use textures for framebuffers and split color and zeta framebuffers * Abstract texture and framebuffer targets as an image * Share images between framebuffers and textures * Unstub formats * Add some formats * Disable multiple attachments * Cache framebuffer attachments * Handle format types * Add some rendertarget formats * Code cleanup * Fixup half float types * Address feedback * Disable multiple attachments in shaders * Add A4B4G4R4 image format * Add reversed section for image enums
2018-08-16Code style fixes and nits on the HLE project (#355)gdkchan
* Some style fixes and nits on ITimeZoneService * Remove some unneeded usings * Remove the Ryujinx.HLE.OsHle.Handles namespace * Remove hbmenu automatic load on process exit * Rename Ns to Device, rename Os to System, rename SystemState to State * Move Exceptions and Utilities out of OsHle * Rename OsHle to HOS * Rename OsHle folder to HOS * IManagerDisplayService and ISystemDisplayService style fixes * BsdError shouldn't be public * Add a empty new line before using static * Remove unused file * Some style fixes on NPDM * Exit gracefully when the application is closed * Code style fixes on IGeneralService * Add 0x prefix on values printed as hex * Small improvements on finalization code * Move ProcessId and ThreadId out of AThreadState * Rename VFs to FileSystem * FsAccessHeader shouldn't be public. Also fix file names casing * More case changes on NPDM * Remove unused files * Move using to the correct place on NPDM * Use properties on KernelAccessControlMmio * Address PR feedback
2018-08-16Implement PointCoord and PointSize shader attributes (#353)ReinUsesLisp
* Implement PointCoord and PointSize shader attributes * Address feedback
2018-08-15More flexible memory manager (#307)gdkchan
* Keep track mapped buffers with fixed offsets * Started rewriting the memory manager * Initial support for MapPhysicalMemory and UnmapPhysicalMemory, other tweaks * MapPhysicalMemory/UnmapPhysicalMemory support, other tweaks * Rebased * Optimize the map/unmap physical memory svcs * Integrate shared font support * Fix address space reserve alignment * Some fixes related to gpu memory mapping * Some cleanup * Only try uploading const buffers that are really used * Check if memory region is contiguous * Rebased * Add missing count increment on IsRegionModified * Check for reads/writes outside of the address space, optimize translation with a tail call
2018-08-13Fix FMUL and TEXS shader instructions (#347)gdkchan
2018-08-13Add partial support to the TEX.B shader instruction (#342)gdkchan
* Add partial support to the TEX.B shader instruction, fix for mixed indexed and non-indexed drawing * Better exception
2018-08-10Low level graphics API prerequisites (#319)ReinUsesLisp
* Add GalPipelineState and IGalPipeline * Separate UploadVertex call * Add ConstBuffer cache * Move Vertex Assembly into GalPipelineState * Move Uniform binds to GalPipelineState * Move framebuffer flip into a buffer * Rebase * Fix regression * Move clear values from VertexEndGl to ClearBuffers * Rename obscure names O->Old S->New
2018-08-06Changing shader decompiler to avoid vec2 and vec3 types, which were causing ↵Darabat
specific crashes. (#332) * Changing shader decompiler to avoid vec2 and vec3 types, which were causing specific crashes. * aligning code * step back * Redoing changes * Redoing changes * Redoing changes and avoiding concatenations * redoing changes
2018-08-03Fix for integer vertex attributes and iset bf flag (#323)gdkchan
2018-07-29Implement A2B10G10R10 TextureFormat (#248)greggameplayer
* add A2B10G10R10 TextureFormat * return correct PixelFormat & PixelType * return correct texture size * return correct Bytes Per Pixel
2018-07-26Avoid calling buffer binding when shader didn't change (#295)ReinUsesLisp
2018-07-23Blit framebuffer without shaders (#229)ReinUsesLisp
* Blit framebuffer without shaders * De-hardcode native size values * Adapt to dehardcoded framebuffers and address feedback * Remove framebuffer rebinding
2018-07-19Send data to OpenGL host without client-side copies (#285)ReinUsesLisp
* Directly send host address to buffer data * Cleanup OGLShader * Directly copy vertex and index data too * Revert shader bind "cache" * Address feedback
2018-07-19Implement Geometry shaders (#280)ReinUsesLisp
* Implement Geometry shaders * Add EmitVertex() and EndPrimitive() * Read output geometry data from header * Stub Vmad * Add Iadd_I32 * Stub Mov_S (S2R) * Stub Isberd * Change vertex index to gpr39 in Abuf * Add stub messages for consistency * Do not print input block when there is no attributes * Use GL_ARB_enhanced_layouts * Skip geometry shaders when there's no GL_ARB_enhanced_layouts * Address feedback * Address feedback
2018-07-19Support deswizzle of sparse tiled textures and some frame buffer fixes (#275)gdkchan
* Attempt to support deswizzle of sparse tiled textures * Use correct frame buffer and viewport sizes, started to clean up the copy engine * Correct texture width alignment * Use Scale/Translate registers to calculate viewport rect * Allow texture copy between frame buffers
2018-07-19Implement BF10GF11RF11 TextureFormat (#246)greggameplayer
* add BF10GF11RF11 TextureFormat * return correct PixelFormat & PixelType * return correct texture size * return correct Bytes Per Pixel * correct PixelType
2018-07-19Implement Z24S8 TextureFormat (#247)greggameplayer
* add Z24S8 TextureFormat * return correct PixelFormat & PixelType * return correct texture size * return correct Bytes Per Pixel * Correct PixelType
2018-07-17Implement some shader instructions (#252)ReinUsesLisp
* Add IADDI32, IADD and SEL shader instructions * Add LOP shader instruction and fix LOP32I pass_b * Add ISET shader instruction * Add IADD3 shader instruction * Address feedback * Fixup OperA in Iadd_I32
2018-07-16Implement BC6H_SF16 & BC6H_UF16 Texture Formats (#255)greggameplayer
* Implement BC6H_SF16 & BC6H_UF16 * correct coding style (1/5) * correct coding style (2/5) * correct coding style (3/5) * correct coding style (4/5) * correct coding style (5/5)
2018-07-15Add config key to dump shaders in local directory (#265)ReinUsesLisp
* Add config key to dump shaders in local directory * Address feedback