aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
AgeCommit message (Collapse)Author
2019-02-03maxwell_3d: Allow texture handles with TIC id zeroReinUsesLisp
Also remove "enabled" field from Tegra::Texture::FullTextureInfo because it would become unused.
2019-02-01Merge pull request #2074 from ReinUsesLisp/shader-ir-unify-offsetbunnei
shader_ir: Unify constant buffer offset values
2019-02-01Merge pull request #2067 from ReinUsesLisp/workaround-fbbunnei
gl_rasterizer: Workaround invalid zeta clears
2019-02-01rasterizer_interface: Remove unused AccelerateFill operationReinUsesLisp
2019-02-01video_core: Remove unused Fill surface typeReinUsesLisp
2019-01-30gl_rasterizer_cache: Fixup test clauseReinUsesLisp
2019-01-30gl_rasterizer_cache: Guard clause swizzle testingMat M
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-01-30gl_state: Remove texture target trackingReinUsesLisp
2019-01-30gl_rasterizer_cache: Move swizzling to textures instead of stateReinUsesLisp
2019-01-30gl_state: Use DSA and multi bind to update texture bindingsReinUsesLisp
2019-01-30gl_rasterizer: Use DSA for texturesReinUsesLisp
2019-01-30Merge pull request #1485 from FernandoS27/render-infobunnei
Add more info into textures' object labels
2019-01-30shader_ir: Unify constant buffer offset valuesReinUsesLisp
Constant buffer values on the shader IR were using different offsets if the access direct or indirect. cbuf34 has a non-multiplied offset while cbuf36 does. On shader decoding this commit multiplies it by four on cbuf34 queries.
2019-01-29Merge pull request #2070 from ReinUsesLisp/cubearray-viewbunnei
gl_shader_cache: Fix texture view for cubemaps as cubemap arrays
2019-01-30gl_shader_cache: Use explicit bindingsReinUsesLisp
2019-01-30gl_rasterizer: Implement global memory managementReinUsesLisp
2019-01-30shader_decode: Implement LDG and basic cbuf trackingReinUsesLisp
2019-01-29gl_shader_cache: Fix texture view for cubemaps as cubemap arraysReinUsesLisp
Cubemaps are considered layered and to create a texture view the texture mustn't be a layered texture, resulting in cubemaps being bound as cubemap arrays. To fix this issue this commit introduces an extra surface parameter called "is_array" and uses this to query for texture view creation. Now that texture views for cubemaps are actually being created, this also fixes the number of layers created for the texture view (since they have to be 6 to create a texture view of cubemaps).
2019-01-29gl_rasterizer: Workaround invalid zeta clearsReinUsesLisp
Some games (like Xenoblade Chronicles 2) clear both depth and stencil buffers while there's a depth-only texture attached (e.g. D16 Unorm). This commit reads the zeta format of the bound surface on ConfigureFramebuffers and returns if depth and/or stencil attachments were set. This is ignored on DrawArrays but on Clear it's used to just clear those attachments, bypassing an OpenGL error.
2019-01-25Merge pull request #1927 from ReinUsesLisp/shader-irbunnei
video_core: Replace gl_shader_decompiler with an IR based decompiler
2019-01-23frontend: Refactor ScopeAcquireWindowContext out of renderer_opengl.bunnei
2019-01-22maxwell_3d: Set rt_separate_frag_data to 1 by defaultReinUsesLisp
Commercial games assume that this value is 1 but they never set it. On the other hand nouveau manually sets this register. On ConfigureFramebuffers we were asserting for what we are actually implementing (according to envytools).
2019-01-20Merge pull request #2008 from ReinUsesLisp/dirty-framebuffersbunnei
gl_rasterizer_cache: Use dirty flags for framebuffers
2019-01-20Merge pull request #2002 from ReinUsesLisp/dsa-vao-bufferbunnei
gl_rasterizer: Use DSA for VAOs and buffers
2019-01-18gl_rasterizer: Silent unsafe mix warningReinUsesLisp
2019-01-15gl_shader_decompiler: replace std::get<> with std::get_if<> for macOS ↵ReinUsesLisp
compatibility
2019-01-15gl_shader_decompiler: Inline textureGather componentReinUsesLisp
2019-01-15shader_ir: Remove composite primitives and use temporals insteadReinUsesLisp
2019-01-15gl_shader_decompiler: Fixup AssignCompositeHalfReinUsesLisp
2019-01-15shader_decode: Use proper primitive namesReinUsesLisp
2019-01-15shader_decode: Use BitfieldExtract instead of shift + andReinUsesLisp
2019-01-15shader_ir: Remove Ipa primitiveReinUsesLisp
2019-01-15gl_shader_decompiler: Use rasterizer's UBO size limitReinUsesLisp
2019-01-15gl_shader_gen: Fixup code formattingReinUsesLisp
2019-01-15video_core: Rename glsl_decompiler to gl_shader_decompilerReinUsesLisp
2019-01-15glsl_decompiler: Fixup geometry shadersReinUsesLisp
2019-01-15video_core: Implement IR based geometry shadersReinUsesLisp
2019-01-15video_core: Replace gl_shader_decompilerReinUsesLisp
2019-01-09gl_rasterizer: Workaround Intel VAO DSA bugReinUsesLisp
There is a bug on Intel's blob driver where it fails to properly build a vertex array object if it's not bound even after creating it with glCreateVertexArrays. This workaround binds it after creating it to bypass the issue.
2019-01-08gl_global_cache: Add dummy global cache managerReinUsesLisp
2019-01-07gl_rasterizer: Skip framebuffer configuration if rendertargets have not been ↵ReinUsesLisp
changed
2019-01-07Merge pull request #1999 from ReinUsesLisp/dirty-shaderbunnei
gl_shader_cache: Use dirty flags for shaders
2019-01-07gl_rasterizer_cache: Use dirty flags for the depth bufferReinUsesLisp
2019-01-07gl_rasterizer_cache: Use dirty flags for color buffersReinUsesLisp
2019-01-07gl_shader_cache: Use dirty flags for shadersReinUsesLisp
2019-01-06gl_stream_buffer: Use DSA for buffer managementReinUsesLisp
2019-01-06gl_rasterizer: Use DSA for vertex array objectsReinUsesLisp
2019-01-06gl_state: Drop uniform buffer state trackingReinUsesLisp
2019-01-05gl_rasterizer_cache: Use GL_STREAM_COPY for PBOsReinUsesLisp
Since the data is doing the path CPU -> GPU -> GPU copy is the most approximate hint. Using GL_STREAM_DRAW generated a performance warning on Nvidia's stack. Changing this hint removed the warning.
2019-01-02Merge pull request #1961 from ReinUsesLisp/tex-view-2dbunnei
gl_rasterizer_cache: Texture view if shader samples array but OGL is not