summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
AgeCommit message (Collapse)Author
2024-12-20renderer: add area sampling scaling method (#57)lui
Adds Area Sampling to the list of scaling options. Works well to achieve a high-quality, smooth super-sampling effect. Dolphin has had this for a while, and now Ryujinx has recently added it too, so I decided to port it. Not sure if adding the extra uniform to the OpenGL WindowAdaptPass was a good idea or not, or if using the push constants under Vulkan was either, but I wasn't sure about the best way to get the window size for use in the shader, and other scaling methods still work fine. Implementation seems to work fine under both Vulkan and OpenGL, but might still need some minor tweaks to the shader. Should definitely do some testing before merging, I have tested on an Nvidia RTX 3080 under Windows. Adapted from these two PRs: https://github.com/Ryujinx/Ryujinx/pull/7304 https://github.com/dolphin-emu/dolphin/pull/11999 Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/57 Co-authored-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion> Co-committed-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
2024-12-20Add option to only optimize SPIRV during load (#13)echosys
Adds a new option "On Load" to the "Optimize SPIRV output" option that turns on optimizations during the loading of the shader cache from disk, but turns it off after that. The previous checkbox states have been named "Never" for unchecked and "Always" for checked. The idea is that once the shader cache has most of the shaders in a game cached they can be optimized during initial game startup (where a performance hit matters less) and the few shaders that get compiled during runtime are not optimized to reduce performance hits. Most of the commit is adding the setting to the Android app, the main logic is in the `gl_shader_cache.cpp` and `vk_pipeline_cache.cpp` files. Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/13 Co-authored-by: echosys <echosys@noreply.localhost> Co-committed-by: echosys <echosys@noreply.localhost>
2024-12-20Implemented LogicOp fixJarrod Norwell
2024-12-20Optionally optimize generated SPIRV with spirv-opt (#10)darktux
Reviewed-on: http://y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion/darktux/torzu/pulls/10 Co-authored-by: darktux <darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion> Co-committed-by: darktux <darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion>
2024-12-20Removed telemetry and anonymized SCM (git) stringsdarktux
2024-12-20Port changes from Early Accessniansa
2024-02-27vk_rasterizer: flip scissor y on lower left origin mode (#13122)liamwhite
2024-02-26renderer_opengl: declare geometry stream support in profileLiam
2024-02-19scope_exit: Make constexprFearlessTobi
Allows the use of the macro in constexpr-contexts. Also avoids some potential problems when nesting braces inside it.
2024-02-09gpu: dependency-inject scaling/antialiasing filter state for capture layersLiam
2024-02-09nvnflinger/gpu: implement applet captureLiam
2024-02-09nvnflinger/gpu: implement blendingLiam
2024-02-09video_core: defensively program around unmapped device pointersLiam
2024-02-05Buffer Cache: Refactor to use Range sets insteadFernando Sahmkow
2024-02-04VideoCore: Move Slot Vector to CommonFernando Sahmkow
2024-01-31nvnflinger/gpu: implement layer stack compositionLiam
2024-01-31renderer_opengl: implement layer stack compositionLiam
2024-01-31renderer_opengl: split up blit screen resources into antialias and window ↵Liam
adapt passes
2024-01-31renderer_opengl: move out ownership of FSR resourcesLiam
2024-01-31renderer_opengl: move out FSR shader source constructionLiam
2024-01-31renderer_opengl: split out FXAALiam
2024-01-31renderer_opengl: split out SMAALiam
2024-01-31renderer_opengl: isolate core presentation codeLiam
2024-01-31video_core: consistently account for resolution scaling when renderingLiam
2024-01-31video_core: simplify accelerated surface fetch and crop handling between APIsLiam
2024-01-18Core: Eliminate core/memory dependancies.Fernando Sahmkow
2024-01-18Core: Clang format and other small issues.Fernando Sahmkow
2024-01-18SMMU: Implement physical memory mirroringFernando Sahmkow
2024-01-18SMMU: Initial adaptation to video_core.Fernando Sahmkow
2024-01-04Merge pull request #12437 from ameerj/gl-amd-fixesliamwhite
OpenGL: Fixes and workaround updates for AMD
2023-12-26Merge pull request #12415 from ameerj/ogl-draw-autoliamwhite
gl_rasterizer: Implement DrawTransformFeedback macro
2023-12-22Merge pull request #12412 from ameerj/gl-query-primsliamwhite
OpenGL: Add GL_PRIMITIVES_GENERATED and GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries
2023-12-21shader_recompiler: use float image operations on load/store when requiredLiam
2023-12-20gl_device: Remove AMD blacklists that are no longer applicableAmeer J
2023-12-20Merge pull request #12403 from liamwhite/clipdistanceFernando S
shader_recompiler: use minimal clip distance array
2023-12-20gl_rasterizer: Less spammy log for unimplemented resetsAmeer J
2023-12-19gl_rasterizer: Implement DrawTransformFeedback macroAmeer J
2023-12-19OpenGL: Add GL_PRIMITIVES_GENERATED and ↵Ameer J
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries
2023-12-19gl_rasterizer: Silence spammy logsAmeer J
2023-12-19gl_buffer_cache: Reintroduce NV_vertex_buffer_unified_memoryAmeer J
Workaround Nvidia drivers complaining when a buffer is bound as both a vertex buffer and transform feedback buffer
2023-12-18shader_recompiler: ignore clip distances beyond driver support levelLiam
2023-12-16gl_buffer_cache: Fix tfb binding typoAmeer J
2023-12-03renderer_opengl: remove srgb conversion logicLiam
2023-12-03renderer_vulkan: do not recreate swapchain for srgbLiam
2023-12-03Merge pull request #12094 from ameerj/gl-buffer-cache-batch-vtxliamwhite
gl_buffer_cache: Batch vertex/tfb buffer binding
2023-12-01Merge pull request #12056 from ameerj/opengl-neglectliamwhite
OpenGL: Implement async downloads in buffer and texture caches
2023-11-29Merge pull request #12154 from liamwhite/more-driversliamwhite
vulkan_device: add names for more driverID enumeration values
2023-11-26Merge branch 'master' into ssbo-alignAmeer J
2023-11-26Merge pull request #11535 from GPUCode/upload_cmdbufFernando S
renderer_vulkan: Introduce separate cmd buffer for uploads
2023-11-24vulkan_device: add names for more driverID enumeration valuesLiam