Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gl_rasterizer: Implement GL_POINT_SPRITE | ReinUsesLisp | 2020-02-04 | 1 | -0/+1 |
| | | | | | | OpenGL core defaults to GL_POINT_SPRITE, meanwhile on OpenGL compatibility we have to explicitly enable it. This fixes gl_PointCoord's behaviour. | ||||
* | gl_state: Implement PROGRAM_POINT_SIZE | ReinUsesLisp | 2020-01-15 | 1 | -0/+1 |
| | | | | | For gl_PointSize to have effect we have to activate GL_PROGRAM_POINT_SIZE. | ||||
* | gl_rasterizer: Implement RASTERIZE_ENABLE | ReinUsesLisp | 2019-12-18 | 1 | -0/+5 |
| | | | | | | | | 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. | ||||
* | Maxwell3D: Implement Depth Mode. | Fernando Sahmkow | 2019-12-11 | 1 | -2/+3 |
| | | | | | This commit finishes adding depth mode that was reverted before due to other unresolved issues. | ||||
* | gl_state: Skip null texture binds | ReinUsesLisp | 2019-11-23 | 1 | -1/+5 |
| | | | | glBindTextureUnit doesn't support null textures. Skip binding these. | ||||
* | gl_shader_cache: Remove dynamic BaseBinding specialization | ReinUsesLisp | 2019-11-23 | 1 | -4/+10 |
| | |||||
* | gl_rasterizer: Emulate viewport flipping with ARB_clip_control | ReinUsesLisp | 2019-11-07 | 1 | -0/+7 |
| | | | | | | | Emulates negative y viewports with ARB_clip_control. This allows us to more easily emulated pipelines with tessellation and/or geometry shader stages. It also avoids corrupting games with transform feedbacks and negative viewports (gl_Position.y was being modified). | ||||
* | gl_state: Use std::array::fill instead of std::fill | Rodrigo Locatti | 2019-10-30 | 1 | -1/+1 |
| | | | Co-Authored-By: Mat M. <mathew1800@gmail.com> | ||||
* | gl_state: Move dirty checks to individual apply calls instead of Apply | ReinUsesLisp | 2019-10-30 | 1 | -41/+49 |
| | | | | | This requires removing constness from some methods, but for consistency it's removed in all methods. | ||||
* | gl_state: Remove ApplyDefaultState | ReinUsesLisp | 2019-10-30 | 1 | -11/+0 |
| | | | | OpenGL has defaults values we can trust. Remove these. | ||||
* | gl_state: Change SetDefaultViewports to use default constructor | ReinUsesLisp | 2019-10-30 | 1 | -13/+2 |
| | |||||
* | gl_state: Minor style changes | ReinUsesLisp | 2019-10-30 | 1 | -3/+5 |
| | |||||
* | gl_state: Move initializers from constructor to class declaration | ReinUsesLisp | 2019-10-30 | 1 | -98/+1 |
| | |||||
* | renderer_opengl: Fix sRGB blits | ReinUsesLisp | 2019-09-11 | 1 | -3/+0 |
| | | | | | | | | | Removes the sRGB hack of tracking if a frame used an sRGB rendertarget to apply at least once to blit the final texture as sRGB. Instead of doing this apply sRGB if the presented image has sRGB. Also enable sRGB by default on Maxwell3D registers as some games seem to assume this. | ||||
* | gl_state: Split textures and samplers into two arrays | ReinUsesLisp | 2019-09-06 | 1 | -68/+31 |
| | |||||
* | gl_state: Add support for glBindImageTextures | ReinUsesLisp | 2019-09-06 | 1 | -0/+21 |
| | |||||
* | Maxwell3D: Address Feedback | Fernando Sahmkow | 2019-07-17 | 1 | -2/+1 |
| | |||||
* | GL_Rasterizer: Corrections to Clearing. | Fernando Sahmkow | 2019-07-17 | 1 | -0/+20 |
| | |||||
* | Maxwell3D: Implement State Dirty Flags. | Fernando Sahmkow | 2019-07-17 | 1 | -5/+17 |
| | |||||
* | GL_State: Add a microprofile timer to OpenGL state. | Fernando Sahmkow | 2019-07-14 | 1 | -0/+4 |
| | |||||
* | gl_rasterizer: Move alpha testing to the OpenGL pipeline | ReinUsesLisp | 2019-05-30 | 1 | -0/+13 |
| | | | | Removes the alpha testing code from each fragment shader invocation. | ||||
* | gl_state: Fix samplers memory corruption | ReinUsesLisp | 2019-04-19 | 1 | -3/+5 |
| | | | | | It was possible for "samplers" to be read without being written. This addresses that. | ||||
* | gl_state: Rework to enable individual applies | ReinUsesLisp | 2019-04-04 | 1 | -316/+294 |
| | |||||
* | gl_state: Fixup multibind bug | ReinUsesLisp | 2019-02-28 | 1 | -2/+2 |
| | |||||
* | gl_state: Synchronize gl_state even when state is disabled | ReinUsesLisp | 2019-02-15 | 1 | -83/+61 |
| | | | | | | There are some potential edge cases where gl_state may fail to track the state if a related state changes while the toggle is disabled or it didn't change. This addresses that. | ||||
* | gl_rasterizer_cache: Move swizzling to textures instead of state | ReinUsesLisp | 2019-01-30 | 1 | -12/+4 |
| | |||||
* | gl_state: Use DSA and multi bind to update texture bindings | ReinUsesLisp | 2019-01-30 | 1 | -8/+22 |
| | |||||
* | gl_rasterizer: Workaround Intel VAO DSA bug | ReinUsesLisp | 2019-01-09 | 1 | -6/+7 |
| | | | | | | | 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. | ||||
* | gl_rasterizer: Use DSA for vertex array objects | ReinUsesLisp | 2019-01-06 | 1 | -21/+5 |
| | |||||
* | gl_state: Drop uniform buffer state tracking | ReinUsesLisp | 2019-01-06 | 1 | -8/+0 |
| | |||||
* | Implement depth clamp | Rodolfo Bogado | 2018-11-27 | 1 | -9/+23 |
| | |||||
* | GPU States: Implement Polygon Offset. This is used in SMO all the time. (#1784) | Marcos | 2018-11-27 | 1 | -0/+57 |
| | | | | | | | | * GPU States: Implement Polygon Offset. This is used in SMO all the time. * Clang Format fixes. * Initialize polygon_offset in the constructor. | ||||
* | Merge pull request #1725 from FernandoS27/gl43 | bunnei | 2018-11-24 | 1 | -4/+4 |
|\ | | | | | Update OpenGL's backend version from 3.3 to 4.3 | ||||
| * | Removed pre 4.3 ARB extensions | FernandoS27 | 2018-11-21 | 1 | -4/+4 |
| | | |||||
* | | Add support for clear_flags register | Rodolfo Bogado | 2018-11-24 | 1 | -3/+26 |
|/ | |||||
* | drop support for non separate alpha as it seems to cause issues in some games | Rodolfo Bogado | 2018-11-18 | 1 | -42/+19 |
| | |||||
* | add AlphaToCoverage and AlphaToOne | Rodolfo Bogado | 2018-11-17 | 1 | -0/+17 |
| | |||||
* | add support for fragment_color_clamp | Rodolfo Bogado | 2018-11-17 | 1 | -0/+7 |
| | |||||
* | fix viewport and scissor behavior | Rodolfo Bogado | 2018-11-17 | 1 | -26/+41 |
| | |||||
* | gl_state: Amend compilation warnings | Lioncash | 2018-11-13 | 1 | -2/+3 |
| | | | | | Makes float -> integral conversions explicit via casts and also silences a sign conversion warning. | ||||
* | Improve state management by splitting some of the states id separated function to avoid a full apply overhead | Rodolfo Bogado | 2018-11-11 | 1 | -1/+7 |
| | |||||
* | Add support to color mask to avoid issues in blending caused by wrong values in the alpha channel in some render targets. | Rodolfo Bogado | 2018-11-05 | 1 | -14/+33 |
| | |||||
* | Implement multi-target viewports and blending | Rodolfo Bogado | 2018-11-05 | 1 | -62/+143 |
| | |||||
* | Improve OpenGL state handling | Rodolfo Bogado | 2018-10-31 | 1 | -101/+145 |
| | |||||
* | Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support | Rodolfo Bogado | 2018-10-28 | 1 | -1/+12 |
| | |||||
* | gl_rasterizer: Implement primitive restart. | bunnei | 2018-10-26 | 1 | -0/+15 |
| | |||||
* | gl_rasterizer: Implement depth range. | bunnei | 2018-10-26 | 1 | -0/+8 |
| | |||||
* | Merge pull request #1411 from ReinUsesLisp/point-size | bunnei | 2018-09-29 | 1 | -0/+7 |
|\ | | | | | video_core: Implement point_size and add point state sync | ||||
| * | video_core: Implement point_size and add point state sync | ReinUsesLisp | 2018-09-28 | 1 | -0/+7 |
| | | |||||
* | | gl_state: Pack sampler bindings into a single ARB_multi_bind | ReinUsesLisp | 2018-09-28 | 1 | -3/+21 |
|/ | |||||
* | gl_state: Remove unused type alias | Lioncash | 2018-09-22 | 1 | -0/+1 |
| | | | | | | This isn't used anywhere within the header, so we can remove it, along with the include that was previously necessary. This also uncovers an indirect include in the cpp file for the assertion macros. | ||||
* | Port #4182 from Citra: "Prefix all size_t with std::" | fearlessTobi | 2018-09-15 | 1 | -1/+1 |
| | |||||
* | gl_state: Keep track of texture target. | bunnei | 2018-09-08 | 1 | -4/+4 |
| | |||||
* | gl_state: Update to handle stencil front/back face separately. | bunnei | 2018-08-23 | 1 | -25/+28 |
| | |||||
* | renderer_opengl: Namespace OpenGL code | Lioncash | 2018-08-22 | 1 | -0/+4 |
| | | | | | | | Namespaces all OpenGL code under the OpenGL namespace. Prevents polluting the global namespace and allows clear distinction between other renderers' code in the future. | ||||
* | GLState: Allow enabling/disabling GL_COLOR_LOGIC_OP independently from blending. | Subv | 2018-08-21 | 1 | -5/+15 |
| | |||||
* | gl_state: Don't track constant buffer mappings. | Markus Wick | 2018-08-12 | 1 | -18/+0 |
| | |||||
* | gl_rasterizer: Use the stream buffer for constant buffers. | Markus Wick | 2018-08-12 | 1 | -3/+6 |
| | |||||
* | gl_state: Make references const where applicable in Apply() | Lioncash | 2018-07-20 | 1 | -2/+3 |
| | |||||
* | gl_state: Get rid of mismatched sign conversions | Lioncash | 2018-07-20 | 1 | -14/+17 |
| | | | | | While we're at it, amend the loop variable type to be the same width as that returned by the .size() call. | ||||
* | Merge pull request #593 from bunnei/fix-swizzle | bunnei | 2018-06-27 | 1 | -8/+3 |
|\ | | | | | gl_state: Fix state management for texture swizzle. | ||||
| * | gl_state: Fix state management for texture swizzle. | bunnei | 2018-06-26 | 1 | -8/+3 |
| | | |||||
* | | gl_state: Remove unused state management from 3DS. | bunnei | 2018-06-26 | 1 | -66/+0 |
|/ | |||||
* | Merge pull request #554 from Subv/constbuffer_ubo | bunnei | 2018-06-26 | 1 | -1/+1 |
|\ | | | | | Rasterizer: Use UBOs instead of SSBOs for uploading const buffers. | ||||
| * | Rasterizer: Use UBOs instead of SSBOs for uploading const buffers. | Subv | 2018-06-10 | 1 | -1/+1 |
| | | | | | | | | This should help a bit with GPU performance once we're GPU-bound. | ||||
* | | Build: Fixed some MSVC warnings in various parts of the code. | Subv | 2018-06-20 | 1 | -2/+2 |
|/ | |||||
* | GLState: Support changing the GL_TEXTURE_SWIZZLE parameter of each texture unit. | Subv | 2018-06-07 | 1 | -0/+13 |
| | |||||
* | common_funcs: Remove ARRAY_SIZE macro | Lioncash | 2018-04-20 | 1 | -2/+2 |
| | | | | C++17 has non-member size() which we can just call where necessary. | ||||
* | GPU: Allow configuring ssbos in the opengl state manager. | Subv | 2018-04-15 | 1 | -0/+14 |
| | |||||
* | GL: Rename PicaTexture to MaxwellTexture. | Subv | 2018-04-07 | 1 | -1/+1 |
| | |||||
* | gl_state: Sync latest version with Citra. | bunnei | 2018-03-20 | 1 | -39/+86 |
| | |||||
* | Fixed type conversion ambiguity | Huw Pascoe | 2017-09-30 | 1 | -2/+2 |
| | |||||
* | gl_rasterizer: add clipping plane z<=0 defined in PICA | wwylele | 2017-08-21 | 1 | -0/+13 |
| | |||||
* | gl_rasterizer: use texture buffer for proctex LUT | wwylele | 2017-07-01 | 1 | -25/+25 |
| | |||||
* | gl_rasterizer: use texture buffer for fog LUT | wwylele | 2017-06-22 | 1 | -5/+5 |
| | |||||
* | gl_state: reset 1d textures | wwylele | 2017-06-21 | 1 | -0/+14 |
| | |||||
* | gl_rasterizer: manage texture ids in one place | wwylele | 2017-06-21 | 1 | -8/+8 |
| | |||||
* | gl_rasterizer/lighting: fix LUT interpolation | wwylele | 2017-06-21 | 1 | -8/+4 |
| | |||||
* | gl_rasterizer: implement procedural texture | wwylele | 2017-05-20 | 1 | -0/+36 |
| | |||||
* | OpenGL: Drop framebuffer completeness check. | Markus Wick | 2016-12-07 | 1 | -13/+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 | ||||
* | RasterizerGL: Use GL_TRUE and 0xFF in the stencil and depth masks instead of simply true and -1 | Subv | 2016-11-27 | 1 | -2/+2 |
| | |||||
* | Use negative priorities to avoid special-casing the self-include | Yuri Kunde Schlesner | 2016-09-21 | 1 | -1/+1 |
| | |||||
* | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 2016-09-21 | 1 | -3/+1 |
| | | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | ||||
* | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 2016-09-18 | 1 | -23/+26 |
| | |||||
* | OpenGL: Implement fog | Jannik Vogel | 2016-06-07 | 1 | -0/+8 |
| | |||||
* | OpenGL: Support blend equation | Jannik Vogel | 2016-05-12 | 1 | -0/+7 |
| | |||||
* | VideoCore: Run include-what-you-use and fix most includes. | Emmanuel Gil Peyrot | 2016-04-30 | 1 | -2/+5 |
| | |||||
* | HWRasterizer: Texture forwarding | tfarley | 2016-04-21 | 1 | -22/+41 |
| | |||||
* | renderer_opengl: Initalise fragment shader LUT textures | MerryMage | 2016-02-26 | 1 | -0/+4 |
| | |||||
* | renderer_opengl: Use textures for fragment shader LUTs instead of UBOs. | bunnei | 2016-02-05 | 1 | -0/+8 |
| | | | | | - Gets us LUT interpolation for free. - Some older Intel GPU drivers did not support the big UBOs needed to store the LUTs. | ||||
* | OpenGL: Add support for glFrontFace in the state tracker | Yuri Kunde Schlesner | 2015-12-05 | 1 | -0/+5 |
| | |||||
* | FragShader: Use an UBO instead of several individual uniforms | Subv | 2015-11-19 | 1 | -0/+8 |
| | |||||
* | video_core: Reorganize headers | Lioncash | 2015-09-11 | 1 | -1/+1 |
| | |||||
* | OpenGL: Add support for Sampler Objects to state tracker | Yuri Kunde Schlesner | 2015-09-03 | 1 | -4/+16 |
| | |||||
* | GLRasterizer: Implemented stencil testing in the hw renderer. | Subv | 2015-08-20 | 1 | -0/+9 |
| | |||||
* | OpenGL: Fix state tracking in situations with reused object handles | Yuri Kunde Schlesner | 2015-08-06 | 1 | -0/+32 |
| | | | | | | | | | | | | If an OpenGL object is created, bound to a binding using the state tracker, and then destroyed, a newly created object can be assigned the same numeric handle by OpenGL. However, even though it is a new object, and thus needs to be bound to the binding again, the state tracker compared the current and previous handles and concluded that no change needed to be made, leading to failure to bind objects in certain cases. This manifested as broken text in VVVVVV, which this commit fixes along with similar texturing problems in other games. | ||||
* | OpenGL: Remove redundant texture.enable_2d field from OpenGLState | Yuri Kunde Schlesner | 2015-08-06 | 1 | -10/+2 |
| | | | | | All uses of this field where it's false can just set the texture id to 0 instead. | ||||
* | GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls | Yuri Kunde Schlesner | 2015-07-22 | 1 | -8/+5 |
| | | | | | | | In OpenGL 3, texturing is always enabled, and this call is invalid. While it produced no effect in the rest of the execution, it wouldn't have the intended effect of disabling texturing for that unit. Instead bind a null texture to the unit. | ||||
* | Renderer formatting edits | tfarley | 2015-06-09 | 1 | -14/+17 |
| | |||||
* | Implemented glColorMask | tfarley | 2015-06-09 | 1 | -0/+13 |
| | |||||
* | Pica: Implement LogicOp function. | bunnei | 2015-05-31 | 1 | -0/+11 |
| | |||||
* | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 2015-05-29 | 1 | -1/+1 |
| | |||||
* | gl_state: Remove unnecessary const specifier on Apply | Lioncash | 2015-05-23 | 1 | -1/+1 |
| | |||||
* | gl_state: Fix a condition typo in Apply | Lioncash | 2015-05-23 | 1 | -1/+1 |
| | |||||
* | OpenGL renderer | tfarley | 2015-05-23 | 1 | -0/+160 |