summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* renderer_gl: Port boilerplate rasterizer code over from Citra.bunnei2018-03-201-0/+269
|
* Remove references to PICA and rasterizers in video_coreJames Rowe2018-01-131-1686/+0
|
* core/video_core: Fix a bunch of u64 -> u32 warnings.bunnei2018-01-011-2/+2
|
* Fixed framebuffer warningHuw Pascoe2017-09-171-7/+18
|
* gl_rasterizer: implement custom clip planewwylele2017-08-251-0/+28
|
* gl_rasterizer: add clipping plane z<=0 defined in PICAwwylele2017-08-211-0/+3
|
* gl_rasterizer: use texture buffer for proctex LUTwwylele2017-07-011-30/+35
|
* gl_rasterizer: use texture buffer for fog LUTwwylele2017-06-221-13/+12
|
* gl_rasterizer: create the texture before applying the statewwylele2017-06-221-2/+2
| | | | this is a rebasing error from #2792. It doesn't affect much though, because the later more Apply() call fixes/hides it
* gl_rasterizer: fix glGetUniformLocation typewwylele2017-06-211-8/+8
|
* gl_rasterizer: manage texture ids in one placewwylele2017-06-211-23/+24
|
* gl_rasterizer/lighting: fix LUT interpolationwwylele2017-06-211-49/+22
|
* Merge pull request #2767 from yuriks/quaternion-flip-commentYuri Kunde Schlesner2017-06-131-8/+11
|\ | | | | OpenGL: Update comment on AreQuaternionsOpposite with new information
| * OpenGL: Update comment on AreQuaternionsOpposite with new informationYuri Kunde Schlesner2017-06-101-8/+11
| | | | | | | | | | | | | | While debugging the software renderer implementation, it was noticed that this is actually exactly what the hardware does, upgrading the status of this "hack" to being a proper implementation. And there was much rejoicing.
* | gl_rasterizer: sync spot light statuswwylele2017-05-301-0/+45
|/
* gl_rasterizer: implement procedural texturewwylele2017-05-201-0/+232
|
* pica: shader_dirty if texture2 coord changedwwylele2017-05-051-0/+4
|
* OpenGL: Pass Pica regs via parameterYuri Kunde Schlesner2017-04-171-1/+1
|
* OpenGL: Move PicaShaderConfig to gl_shader_gen.hYuri Kunde Schlesner2017-04-171-1/+1
| | | | Also move the implementation of CurrentConfig to the cpp file.
* OpenGL: Move Attributes enum to a more appropriate fileYuri Kunde Schlesner2017-04-171-1/+0
|
* OpenGL: Check if uniform block exists before updating it (#2581)Jannik Vogel2017-02-181-29/+30
|
* OpenGL: Remove unused duplicate of IsPassThroughTevStageYuri Kunde Schlesner2017-02-091-12/+0
| | | | | This copy was left behind when the shader generation code was moved to a separate file.
* VideoCore: Split regs.h inclusionsYuri Kunde Schlesner2017-02-091-1/+3
|
* VideoCore: Move Regs to its own fileYuri Kunde Schlesner2017-02-041-1/+1
|
* VideoCore: Split framebuffer regs from Regs structYuri Kunde Schlesner2017-02-041-49/+60
|
* VideoCore: Split texturing regs from Regs structYuri Kunde Schlesner2017-02-041-62/+67
|
* VideoCore: Split rasterizer regs from Regs structYuri Kunde Schlesner2017-02-041-25/+29
|
* Merge pull request #2476 from yuriks/shader-refactor3Yuri Kunde Schlesner2017-02-041-1/+1
|\ | | | | Oh No! More shader changes!
| * VideoCore: Change misleading register namesYuri Kunde Schlesner2017-01-301-1/+1
| | | | | | | | | | | | A few registers had names such as "count" or "number" when they actually contained the maximum (that is, count - 1). This can easily lead to hard to notice off by one errors.
* | video_core: gl_rasterizer.cpp removed unused type aliasKloen2017-01-301-2/+0
|/
* video_core: gl_rasterizer float to int warningKloen2017-01-231-1/+2
|
* Merge pull request #2319 from yuriks/profile-scopesbunnei2016-12-211-0/+12
|\ | | | | VideoCore: Make profiling scope more representative
| * VideoCore: Make profiling scope more representativeYuri Kunde Schlesner2016-12-151-0/+12
| |
* | Use GL_TRUE when setting color_maskAlbin Bernhardsson2016-12-191-4/+4
|/
* OpenGL: Drop framebuffer completeness check.Markus Wick2016-12-071-16/+0
| | | | | | | This OpenGL call synchronize the worker thread of the nvidia blob. It can be verified on linux with the __GL_THREADED_OPTIMIZATIONS=1 environment variable. Those errors should not happen on tested drivers. It was used as a workaround for https://bugs.freedesktop.org/show_bug.cgi?id=94148
* Report shader uniform block size in case of mismatchJannik Vogel2016-12-051-1/+3
|
* OpenGL: Non-zero stride only makes sense for linear buffersYuri Kunde Schlesner2016-12-041-1/+1
|
* OpenGL: Fix DisplayTransfer accel when input width != output widthYuri Kunde Schlesner2016-12-041-1/+10
| | | | Fixes #2246, #2261
* ClangFormat: Fixed the clang-format errorsSubv2016-11-301-4/+8
|
* Build: Fixed a few warnings.Subv2016-11-291-4/+4
|
* RasterizerGL: Use GL_TRUE and 0xFF in the stencil and depth masks instead of simply true and -1Subv2016-11-271-2/+2
|
* Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer.Subv2016-11-271-1/+1
|
* Merge pull request #2103 from wwylele/gpu-reg-cleanupbunnei2016-10-041-5/+5
|\ | | | | GPU: DisplayTransfer & MemoryFill cleanup and param check
| * rasterizer: separate TextureCopy from DisplayTransferwwylele2016-09-291-5/+5
| |
* | OpenGL: Take cached viewport sub-rect into account for scissorYuri Kunde Schlesner2016-09-301-21/+21
|/ | | | Fixes #1938
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-5/+1
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-191-5/+5
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-86/+148
|
* OpenGL: Add scaled resolution support to scissorYuri Kunde Schlesner2016-06-281-0/+8
|
* PICA: Scissor fixes and cleanupsYuri Kunde Schlesner2016-06-281-10/+10
|
* PICA: Implement scissor testSubv2016-06-281-0/+26
|
* OpenGL: Implement fogJannik Vogel2016-06-071-0/+68
|
* OpenGL: Set shader_dirty on lighting changesJannik Vogel2016-05-231-0/+23
|
* OpenGL: Use uniforms for dist_atten_bias and dist_atten_scaleJannik Vogel2016-05-231-0/+72
|
* Merge pull request #1786 from JayFoxRox/blend-equationbunnei2016-05-171-0/+2
|\ | | | | OpenGL: Support blend equation
| * OpenGL: Support blend equationJannik Vogel2016-05-121-0/+2
| |
* | OpenGL: Only update depth uniforms if the depth changedJannik Vogel2016-05-141-7/+17
|/
* OpenGL: Implement texture type 3Jannik Vogel2016-05-111-0/+8
|
* OpenGL: Implement W-Buffers and fix depth-mappingJannik Vogel2016-05-101-3/+8
|
* Pica: Implement W-Buffer in SW rasterizerJannik Vogel2016-05-101-2/+2
|
* fixup simple type conversions where possibleAlexander Laties2016-05-071-1/+1
|
* Merge pull request #1741 from linkmauve/iwyu-video_corebunnei2016-05-011-6/+7
|\ | | | | Fix video_core includes (and dependencies) using include-what-you-use
| * VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot2016-04-301-6/+7
| |
* | OpenGL: border_color was never set. Fixed. (#1740)Jannik Vogel2016-04-301-0/+1
|/
* Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner2016-04-291-1/+0
| | | | This has been entirely superseded by MicroProfile. The rest of the code can go when a simpler frametime/FPS meter is added to the GUI.
* HWRasterizer: sync specular uniform for new shaderstfarley2016-04-221-0/+2
|
* HWRasterizer: Texture forwardingtfarley2016-04-211-511/+328
|
* OpenGL: Respect buffer-write allow registersJannik Vogel2016-04-081-6/+28
|
* OpenGL: Split buffer-write mask sync into seperate functionsJannik Vogel2016-04-081-8/+30
|
* OpenGL: Keep stencil-test and framebuffer.depth_format in syncJannik Vogel2016-04-081-0/+1
|
* Merge pull request #1639 from linkmauve/fix-double-framebuffer-checkbunnei2016-04-081-4/+6
|\ | | | | OpenGL: Fix a double framebuffer completeness checks.
| * OpenGL: Fix a double framebuffer completeness checks.Emmanuel Gil Peyrot2016-04-031-4/+6
| |
* | Merge pull request #1643 from MerryMage/make_uniqueMathew Maidment2016-04-061-2/+1
|\ \ | |/ |/| Common: Remove Common::make_unique, use std::make_unique
| * Common: Remove Common::make_unique, use std::make_uniqueMerryMage2016-04-051-2/+1
| |
* | OpenGL: Check for framebuffer completenessJannik Vogel2016-04-031-0/+3
| |
* | OpenGL: Don't attempt to draw empty triangle batchesYuri Kunde Schlesner2016-03-241-0/+3
|/ | | | | Our code did not handle this well, causing random crashes in some situations.
* Pica: Write depth value even when depth test is disabledYuri Kunde Schlesner2016-03-061-2/+4
| | | | This has been confirmed on hardware. Fixes Etrian Odyssey IV.
* Add immediate mode vertex submissionDwayne Slater2016-03-031-0/+1
|
* renderer_opengl: Use GLvec3/GLvec4 aliases for commonly used types.bunnei2016-02-051-2/+2
|
* gl_rasterizer: Fix issue with interpolation of opposite quaternions.bunnei2016-02-051-3/+25
|
* pica_types: Replace float24/20/16 with a template class.bunnei2016-02-051-7/+7
|
* renderer_opengl: Use textures for fragment shader LUTs instead of UBOs.bunnei2016-02-051-12/+39
| | | | | - Gets us LUT interpolation for free. - Some older Intel GPU drivers did not support the big UBOs needed to store the LUTs.
* renderer_opengl: Initial implementation of basic specular lighting.bunnei2016-02-051-0/+68
|
* renderer_opengl: Implement HW fragment lighting LUTs within our default UBO.bunnei2016-02-051-13/+52
|
* renderer_opengl: Implement diffuse component of HW fragment lighting.bunnei2016-02-051-0/+141
|
* hwrasterizer: Use proper cached fb addr/sizetfarley2016-02-031-40/+32
|
* hwrasterizer: Use depth offsettfarley2016-01-211-0/+16
|
* Merge pull request #1267 from yuriks/flipped-framebufferYuri Kunde Schlesner2015-12-101-11/+10
|\ | | | | OpenGL: Flip framebuffers during transfer rather than when rendering
| * OpenGL: Flip framebuffers during transfer rather than when renderingYuri Kunde Schlesner2015-12-051-11/+10
| |
* | VideoCore: Unify interface to OpenGL and SW rasterizersYuri Kunde Schlesner2015-12-081-9/+0
| | | | | | | | | | | | This removes explicit checks sprinkled all over the codebase to instead just have the SW rasterizer expose an implementation with no-ops for most operations.
* | VideoCore: Rename HWRasterizer methods to be less confusingYuri Kunde Schlesner2015-12-071-3/+3
| |
* | OpenGL: Rename cache functions to better match what they actually doYuri Kunde Schlesner2015-12-071-4/+4
|/
* renderer_opengl: Fix uniform issues introduced with kemenaran/avoid-explicit-uniform-location.bunnei2015-11-261-4/+6
|
* Use regular uniform locationPierre de La Morinerie2015-11-251-3/+4
| | | | | | The support for GL_ARB_explicit_uniform_location is not that good (53% according to http://feedback.wildfiregames.com/report/opengl/feature/GL_ARB_explicit_uniform_location). This fix the shader compilation on Intel HD 4000 (#1222).
* FragShader: Use an UBO instead of several individual uniformsSubv2015-11-191-4/+29
|
* gl_rasterizer: Define enum types for each vertex texcoord attribute.bunnei2015-10-221-6/+6
|
* gl_rasterizer: Use MMH3 hash for shader cache hey.bunnei2015-10-221-4/+3
| | | | - Includes a check to confirm no hash collisions.
* gl_shader_gen: Require explicit uniform locations.bunnei2015-10-221-19/+8
| | | | - Fixes uniform issue on AMD.
* renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.bunnei2015-10-221-74/+57
|
* gl_rasterizer: Move logic for creating ShaderCacheKey to a static function.bunnei2015-10-221-17/+2
|
* gl_rasterizer: Fix typo in uploading TEV const color uniforms.bunnei2015-10-221-5/+5
|
* gl_shader_util: Fix precision bug with alpha testing.bunnei2015-10-221-2/+2
| | | | - Alpha testing is not done with float32 precision, this makes the HW renderer match the SW renderer.
* Initial implementation of fragment shader generation with caching.Subv2015-10-221-227/+124
|
* Silence -Wsign-compare warnings.Rohit Nirmal2015-10-071-3/+3
|
* video_core: Reorganize headersLioncash2015-09-111-1/+1
|
* gl_rasterizer: Replace push_back calls with emplace_back in AddTriangleLioncash2015-09-101-3/+3
|
* OpenGL: Use Sampler Objects to decouple sampler config from texturesYuri Kunde Schlesner2015-09-031-0/+46
| | | | Fixes #978
* OpenGL: Remove ugly and endian-unsafe color pointer castsYuri Kunde Schlesner2015-09-031-3/+3
|
* Replace the previous OpenGL loader with a glad-generated 3.3 oneYuri Kunde Schlesner2015-08-301-2/+2
| | | | | | The main advantage of switching to glad from glLoadGen is that, apart from being actively maintained, it supports a customizable entrypoint loader function, which makes it possible to also support OpenGL ES.
* Merge pull request #1049 from Subv/stencilbunnei2015-08-301-4/+20
|\ | | | | Rasterizer: Corrected the stencil implementation.
| * HWRenderer: Added a workaround for the Intel Windows driver bug that causes glTexSubImage2D to not change the stencil buffer.Subv2015-08-241-2/+9
| | | | | | | | Reported here https://communities.intel.com/message/324464
| * GLRasterizer: Implemented stencil testing in the hw renderer.Subv2015-08-201-2/+11
| |
* | gl_rasterizer_cache: Detect and ignore unnecessary texture flushes.bunnei2015-08-281-2/+2
| |
* | Integrate the MicroProfile profiling libraryYuri Kunde Schlesner2015-08-251-0/+10
|/ | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view.
* GPU: Refactor "VertexShader" namespace to "Shader".bunnei2015-08-151-3/+3
| | | | - Also renames "vertex_shader.*" to "shader_interpreter.*"
* OpenGL: Remove redundant texture.enable_2d field from OpenGLStateYuri Kunde Schlesner2015-08-061-10/+1
| | | | | All uses of this field where it's false can just set the texture id to 0 instead.
* OpenGL: Add a profiler category measuring framebuffer readbackYuri Kunde Schlesner2015-07-281-0/+7
|
* GLRasterizer: Don't try to get a pointer to the depth buffer if it doesn't exist.Subv2015-07-191-3/+7
|
* Core: Cleanup hw includes.Emmanuel Gil Peyrot2015-06-281-0/+1
|
* Common: Cleanup key_map includes.Emmanuel Gil Peyrot2015-06-281-3/+5
|
* Renderer formatting editstfarley2015-06-091-12/+12
|
* Render-to-texture flush, interval math fixtfarley2015-06-091-1/+13
|
* Liberal texture unbind (clout menu)tfarley2015-06-091-4/+34
|
* Depth format fix (crush3d intro/black screens)tfarley2015-06-091-46/+46
|
* Implemented glColorMasktfarley2015-06-091-0/+4
|
* Merge pull request #811 from archshift/commonifyarchshift2015-05-311-1/+2
|\ | | | | Commonify video_core utility headers
| * Move video_core/color.h to common/color.harchshift2015-05-301-1/+2
| |
* | Pica: Implement LogicOp function.bunnei2015-05-311-0/+10
|/
* Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot2015-05-291-1/+1
|
* Pica: Create 'State' structure and move state memory there.bunnei2015-05-231-108/+126
|
* OpenGL renderertfarley2015-05-231-0/+879