aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
AgeCommit message (Collapse)Author
2020-01-18Merge pull request #3317 from ReinUsesLisp/gl-decomp-cc-decompFernando Sahmkow
gl_shader_decompiler: Fix decompilation of condition codes
2020-01-18gl_state: Use bool instead of GLbooleanReinUsesLisp
This fixes template resolution considering GLboolean an integer instead of a bool.
2020-01-18Merge pull request #3305 from ReinUsesLisp/point-size-programbunnei
gl_state: Implement PROGRAM_POINT_SIZE
2020-01-18Merge pull request #3312 from ReinUsesLisp/atoms-u32bunnei
shader/memory: Implement ATOMS.ADD.U32
2020-01-17gl_shader_decompiler: Fix decompilation of condition codesReinUsesLisp
Use Visit instead of reimplementing it. Fixes unimplemented negations for condition codes.
2020-01-17Merge pull request #3306 from ReinUsesLisp/gl-texturebunnei
gl_texture_cache: Minor fixes and style changes
2020-01-16shader/memory: Implement ATOMS.ADD.U32ReinUsesLisp
2020-01-16Merge pull request #3304 from lioncash/fwd-declbunnei
renderer_opengl/utils: Forward declare private structs
2020-01-15gl_state: Implement PROGRAM_POINT_SIZEReinUsesLisp
For gl_PointSize to have effect we have to activate GL_PROGRAM_POINT_SIZE.
2020-01-15renderer_opengl/utils: Remove unused header inclusionsLioncash
Nothing from these headers are used, so they can be removed.
2020-01-15renderer_opengl/utils: Forward declare private structsLioncash
Keeps the definitions hidden and allows changes to the structs without needing to recompile all users of classes containing said structs.
2020-01-14gl_texture_cache: Use local variables to simplify DownloadTextureReinUsesLisp
2020-01-14gl_texture_cache: Fix format for RGBX16FReinUsesLisp
2020-01-14gl_texture_cache: Use Snorm internal format for RG8SReinUsesLisp
2020-01-14gl_texture_cache: Use Snorm internal format for ABGR8SReinUsesLisp
2020-01-14gl_shader_cache: Remove unused STAGE_RESERVED_UBOS constantLioncash
Given this isn't used, this can be removed entirely.
2020-01-14gl_shader_cache: std::move entries in CachedShader constructorLioncash
Avoids several reallocations of std::vector instances where applicable.
2020-01-14gl_shader_cache: Remove unused entries variable in BuildShader()Lioncash
Eliminates a few unnecessary constructions of std::vectors.
2020-01-04Merge pull request #3258 from FernandoS27/shader-amendbunnei
Shader_IR: add the ability to amend code in the shader ir.
2020-01-04Shader_IR: Address FeedbackFernando Sahmkow
2020-01-01Merge pull request #3243 from ReinUsesLisp/topologiesbunnei
maxwell_to_gl: Implement missing primitive topologies
2019-12-30Shader_IR: add the ability to amend code in the shader ir.Fernando Sahmkow
This commit introduces a mechanism by which shader IR code can be amended and extended. This useful for track algorithms where certain information can derived from before the track such as indexes to array samplers.
2019-12-28Merge pull request #3250 from ReinUsesLisp/empty-fragmentFernando Sahmkow
gl_rasterizer: Allow rendering without fragment shader
2019-12-26Merge pull request #3228 from ReinUsesLisp/ptpbunnei
shader/texture: Implement AOFFI and PTP for TLD4 and TLD4S
2019-12-26gl_rasterizer: Allow rendering without fragment shaderReinUsesLisp
Rendering without a fragment shader is usually used in depth-only passes.
2019-12-24Merge pull request #3236 from ReinUsesLisp/rasterize-enablebunnei
gl_rasterizer: Implement RASTERIZE_ENABLE
2019-12-22maxwell_to_gl: Implement missing primitive topologiesReinUsesLisp
Many of these topologies are exclusively available in OpenGL.
2019-12-20gl_shader_cache: Update commentary for shared memoryReinUsesLisp
Remove false commentary. Not dividing by 4 the size of shared memory is not a hack; it describes the number of integers, not bytes. While we are at it sort the generated code to put preprocessor lines on the top.
2019-12-20gl_shader_cache: Remove unused entry in GetPrimitiveDescriptionReinUsesLisp
2019-12-18gl_rasterizer: Implement RASTERIZE_ENABLEReinUsesLisp
RASTERIZE_ENABLE is the opposite of GL_RASTERIZER_DISCARD. Implement it naturally using this. NVN games expect rasterize to be enabled by default, reflect that in our initial GPU state.
2019-12-17gl_shader_decompiler: Add missing DeclareImagesReinUsesLisp
2019-12-16Merge pull request #3182 from ReinUsesLisp/renderer-openglbunnei
renderer_opengl: Miscellaneous clean ups
2019-12-16shader/texture: Implement TLD4.PTPReinUsesLisp
2019-12-16gl_shader_decompiler: Rename "sepparate" to "separate"ReinUsesLisp
2019-12-16Merge pull request #3219 from FernandoS27/fix-bindlessRodrigo Locatti
Corrections and fixes to TLD4S & bindless samplers failing
2019-12-14Merge pull request #3213 from ReinUsesLisp/intel-mesabunnei
gl_device: Enable compute shaders for Intel Mesa drivers
2019-12-13Merge pull request #3212 from ReinUsesLisp/fix-smem-lmembunnei
gl_shader_cache: Add missing new-line on emitted GLSL
2019-12-11Shader_IR: Correct TLD4S Depth Compare.Fernando Sahmkow
2019-12-11Gl_Shader_compiler: Correct Depth Compare for Texture Gather operations.Fernando Sahmkow
2019-12-11Gl_Rasterizer: Skip Tesselation Control and Eval stages as they are un ↵Fernando Sahmkow
implemented. This commit ensures the OGL backend does not execute tesselation shader stages as they are currently unimplemented.
2019-12-11Merge pull request #3210 from ReinUsesLisp/memory-barrierbunnei
shader: Implement MEMBAR.GL
2019-12-11gl_device: Enable compute shaders for Intel Mesa driversReinUsesLisp
Previously we naively checked for "Intel" in GL_VENDOR, but this includes both Intel's proprietary driver and the mesa driver. Re-enable compute shaders for mesa.
2019-12-10gl_shader_cache: Add missing new-line on emitted GLSLReinUsesLisp
Add missing new-line. This caused shaders using local memory and shared memory to inject a preprocessor GLSL line after an expression (resulting in invalid code). It looked like this: shared uint smem[8];#define LOCAL_MEMORY_SIZE 16 It should look like this (addressed by this commit): shared uint smem[8]; \#define LOCAL_MEMORY_SIZE 16
2019-12-10Maxwell3D: Implement Depth Mode.Fernando Sahmkow
This commit finishes adding depth mode that was reverted before due to other unresolved issues.
2019-12-10shader: Implement MEMBAR.GLReinUsesLisp
Implement using memoryBarrier in GLSL and OpMemoryBarrier on SPIR-V.
2019-12-09shader_ir/other: Implement S2R InvocationIdReinUsesLisp
2019-12-06Merge pull request #3109 from FernandoS27/new-instrbunnei
Implement FLO & TXD Instructions on GPU Shaders
2019-11-28gl_framebuffer_cache: Optimize framebuffer keyReinUsesLisp
Pack color attachment enumerations into a single u32. To determine the number of buffers, the highest color attachment with a shared pointer that doesn't point to null is used.
2019-11-28gl_rasterizer: Re-enable framebuffer cache for clear buffersReinUsesLisp
2019-11-28renderer_opengl: Make ScreenRectVertex's constructor constexprReinUsesLisp