summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2383 from ReinUsesLisp/aoffi-testbunnei2019-04-231-2/+2
|\ | | | | gl_shader_decompiler: Disable variable AOFFI on unsupported devices
| * gl_shader_decompiler: Use variable AOFFI on supported hardwareReinUsesLisp2019-04-141-3/+1
| |
| * gl_device: Implement interface and add uniform offset alignmentReinUsesLisp2019-04-101-1/+3
| |
* | Merge pull request #2318 from ReinUsesLisp/sampler-cachebunnei2019-04-181-30/+2
|\ \ | | | | | | gl_sampler_cache: Port sampler cache to OpenGL
| * | gl_sampler_cache: Port sampler cache to OpenGLReinUsesLisp2019-04-021-30/+2
| | |
* | | shader_ir: Implement STG, keep track of global memory usage and flushReinUsesLisp2019-04-141-4/+0
| |/ |/|
* | gl_rasterizer: Use ARB_multi_bind to update SSBOsReinUsesLisp2019-04-061-0/+1
| |
* | gl_rasterizer: Use ARB_multi_bind to update UBOs across stagesReinUsesLisp2019-04-061-0/+3
| |
* | video_core/renderer_opengl: Remove unnecessary includesLioncash2019-04-041-5/+0
|/ | | | | | | Quite a few unused includes have built up over time, particularly on core/memory.h. Removing these includes means the source files including those files will no longer need to be rebuilt if they're changed, making compilation slightly faster in this scenario.
* gl_rasterizer: Remove unused reference member variable from RasterizerOpenGLLioncash2019-03-271-3/+1
| | | | | This member variable is no longer being used, so it can be removed, removing a dependency on EmuWindow from the rasterizer's interface"
* gpu: Use host address for caching instead of guest address.bunnei2019-03-151-4/+4
|
* Merge pull request #2216 from ReinUsesLisp/rasterizer-systembunnei2019-03-141-0/+1
|\ | | | | gl_rasterizer: Use system instance passed from argument
| * gl_rasterizer: Use system instance passed from argumentReinUsesLisp2019-03-111-0/+1
| |
* | gl_rasterizer: Encapsulate sampler queries into methodsReinUsesLisp2019-03-091-2/+3
|/
* common/math_util: Move contents into the Common namespaceLioncash2019-02-271-2/+2
| | | | | These types are within the common library, so they should be within the Common namespace.
* gl_rasterizer: Implement a more accurate fermi 2D copy.bunnei2019-02-071-1/+3
| | | | - This is a blit, use the blit registers.
* gl_shader_cache: Link loading screen with disk shader cache loadReinUsesLisp2019-02-071-1/+3
|
* gl_shader_disk_cache: Pass core system as argument and guard against games without title idsReinUsesLisp2019-02-071-1/+6
|
* rasterizer_interface: Add disk cache entry for the rasterizerReinUsesLisp2019-02-071-0/+1
|
* Merge pull request #2067 from ReinUsesLisp/workaround-fbbunnei2019-02-011-3/+6
|\ | | | | gl_rasterizer: Workaround invalid zeta clears
| * gl_rasterizer: Workaround invalid zeta clearsReinUsesLisp2019-01-301-3/+6
| | | | | | | | | | | | | | | | | | 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.
* | rasterizer_interface: Remove unused AccelerateFill operationReinUsesLisp2019-02-011-1/+0
| |
* | gl_shader_cache: Use explicit bindingsReinUsesLisp2019-01-301-29/+12
| |
* | gl_rasterizer: Implement global memory managementReinUsesLisp2019-01-301-0/+10
|/
* Merge pull request #2008 from ReinUsesLisp/dirty-framebuffersbunnei2019-01-201-0/+18
|\ | | | | gl_rasterizer_cache: Use dirty flags for framebuffers
| * gl_rasterizer: Skip framebuffer configuration if rendertargets have not been changedReinUsesLisp2019-01-071-0/+18
| |
* | Merge pull request #2002 from ReinUsesLisp/dsa-vao-bufferbunnei2019-01-201-2/+4
|\ \ | | | | | | gl_rasterizer: Use DSA for VAOs and buffers
| * | gl_rasterizer: Use DSA for vertex array objectsReinUsesLisp2019-01-061-2/+4
| |/
* / gl_global_cache: Add dummy global cache managerReinUsesLisp2019-01-081-2/+8
|/
* Merge pull request #1824 from ReinUsesLisp/fbcachebunnei2018-12-061-1/+5
|\ | | | | gl_rasterizer: Implement a framebuffer cache
| * gl_rasterizer: Implement a framebuffer cacheReinUsesLisp2018-11-291-1/+5
| |
* | Merge pull request #1827 from ReinUsesLisp/clip-and-shaderbunnei2018-12-021-1/+2
|\ \ | | | | | | gl_rasterizer: Enable clip distances when set in register and in shader
| * | gl_rasterizer: Enable clip distances when set in register and in shaderReinUsesLisp2018-11-291-1/+2
| |/
* | gl_rasterizer: Remove unused struct declarationsReinUsesLisp2018-11-291-14/+0
| |
* | gl_rasterizer: Remove extension booleansReinUsesLisp2018-11-291-3/+0
|/
* Implement depth clampRodolfo Bogado2018-11-271-0/+4
|
* GPU States: Implement Polygon Offset. This is used in SMO all the time. (#1784)Marcos2018-11-271-0/+3
| | | | | | | | * 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/gl43bunnei2018-11-241-2/+0
|\ | | | | Update OpenGL's backend version from 3.3 to 4.3
| * Removed pre 4.3 ARB extensionsFernandoS272018-11-211-2/+0
| |
* | Add support for clear_flags registerRodolfo Bogado2018-11-241-14/+15
|/
* fix sampler configuration, thanks to Marcos for his investigationRodolfo Bogado2018-11-171-1/+5
|
* add AlphaToCoverage and AlphaToOneRodolfo Bogado2018-11-171-0/+3
|
* add support for fragment_color_clampRodolfo Bogado2018-11-171-0/+3
|
* Improve state management by splitting some of the states id separated function to avoid a full apply overheadRodolfo Bogado2018-11-111-3/+3
|
* set sampler max lod, min lod, lod bias and max anisotropyRodolfo Bogado2018-11-111-1/+1
|
* Merge pull request #1654 from degasus/dirty_flagsbunnei2018-11-111-1/+2
|\ | | | | gl_rasterizer: Skip VAO binding if the state is clean.
| * gl_rasterizer: Split VAO and VB setup functions.Markus Wick2018-11-061-1/+2
| |
* | Add support to color mask to avoid issues in blending caused by wrong values in the alpha channel in some render targets.Rodolfo Bogado2018-11-051-0/+3
| |
* | Implement multi-target viewports and blendingRodolfo Bogado2018-11-051-4/+1
|/
* global: Use std::optional instead of boost::optional (#1578)Frederic L2018-10-301-2/+2
| | | | | | | | | | | | | | | | * get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
* Implement Mip FilterFernandoS272018-10-291-0/+1
|
* gl_rasterizer: Implement primitive restart.bunnei2018-10-261-0/+3
|
* gl_rasterizer: Implement depth range.bunnei2018-10-261-5/+2
|
* Assert that multiple render targets are not set while alpha testingFernandoS272018-10-221-0/+3
|
* Use standard UBO and fix/stylize the codeFernandoS272018-10-221-3/+0
|
* Remove SyncAlphaTest and clang formatFernandoS272018-10-221-3/+1
|
* Implemented Alpha TestingFernandoS272018-10-221-0/+2
|
* Merge pull request #1460 from FernandoS27/scissor_testbunnei2018-10-101-0/+3
|\ | | | | Implemented Scissor Testing
| * Assert Scissor testsFernandoS272018-10-091-0/+3
| |
* | gl_shader_decompiler: Implement geometry shadersReinUsesLisp2018-10-071-3/+3
|/
* Merge pull request #1446 from bunnei/fast_fermi_copybunnei2018-10-071-2/+2
|\ | | | | gl_rasterizer: Implement accelerated Fermi2D copies.
| * gl_rasterizer: Add rasterizer cache code to handle accerated fermi copies.bunnei2018-10-061-2/+2
| |
* | Merge pull request #1437 from FernandoS27/tex-mode2bunnei2018-10-071-0/+2
|\ \ | |/ |/| Implemented Depth Compare, Shadow Samplers and Texture Processing Modes for TEXS and TLDS
| * Implemented Depth Compare and Shadow SamplersFernandoS272018-10-061-0/+2
| |
* | gl_rasterizer: Implement quads topologyReinUsesLisp2018-10-041-0/+7
|/
* Merge pull request #1411 from ReinUsesLisp/point-sizebunnei2018-09-291-0/+3
|\ | | | | video_core: Implement point_size and add point state sync
| * video_core: Implement point_size and add point state syncReinUsesLisp2018-09-281-0/+3
| |
* | gl_state: Pack sampler bindings into a single ARB_multi_bindReinUsesLisp2018-09-281-1/+1
|/
* video_core: Add asserts for CS, TFB and alpha testingReinUsesLisp2018-09-261-0/+6
| | | | | | Add asserts for compute shader dispatching, transform feedback being enabled and alpha testing. These have in common that they'll probably break rendering without logging.
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-4/+4
|
* Use ARB_multi_bind for uniform buffers (#1287)ReinUsesLisp2018-09-131-0/+1
| | | | | | * gl_rasterizer: use ARB_multi_bind for uniform buffers * address feedback
* Merge pull request #1286 from bunnei/multi-clearbunnei2018-09-111-2/+11
|\ | | | | gl_rasterizer: Implement clear for non-zero render targets.
| * gl_rasterizer: Implement clear for non-zero render targets.bunnei2018-09-101-2/+11
| | | | | | | | - Several misc. changes to ConfigureFramebuffers in support of this.
* | rasterizer: Drop unused handler.Markus Wick2018-09-101-1/+0
|/ | | | | | | | This virtual function is called in a very hot spot, and it does nothing. If this kind of feature is required, please be more specific and add callbacks in the switch statement within Maxwell3D::WriteReg. There is no point in having another switch statement within the rasterizer.
* gl_rasterizer: Implement multiple color attachments.bunnei2018-09-101-9/+3
|
* gl_rasterizer: Implement texture wrap mode p.bunnei2018-09-081-0/+1
|
* gl_rasterizer: Implement a VAO cache.Markus Wick2018-09-051-3/+5
| | | | | | This patch caches VAO objects instead of re-emiting all pointers per draw call. Configuring this pointers is known as a fast task, but it yields too many GL calls. So for better performance, just bind the VAO instead of 16 pointers.
* renderer_opengl: Implement a buffer cache.Markus Wick2018-09-051-12/+7
| | | | | | | | | The idea of this cache is to avoid redundant uploads. So we are going to cache the uploaded buffers within the stream_buffer and just reuse the old pointers. The next step is to implement a VBO cache on GPU memory, but for now, I want to check the overhead of the cache management. Fetching the buffer over PCI-E should be quite fast.
* gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.bunnei2018-08-311-3/+3
|
* gl_rasterizer: Fix issues with the rasterizer cache.bunnei2018-08-311-0/+8
| | | | | - Use a single cached page map. - Fix calculation of ending page.
* renderer_opengl: Implement a new shader cache.bunnei2018-08-281-8/+7
|
* gl_rasterizer: Implement stencil test.bunnei2018-08-231-0/+3
| | | | - Used by Splatoon 2.
* renderer_opengl: Namespace OpenGL codeLioncash2018-08-221-2/+6
| | | | | | | Namespaces all OpenGL code under the OpenGL namespace. Prevents polluting the global namespace and allows clear distinction between other renderers' code in the future.
* Merge pull request #1124 from Subv/logic_opsbunnei2018-08-221-0/+3
|\ | | | | GPU: Implemented logic ops.
| * GPU: Implemented the logic op functionality of the GPU.Subv2018-08-211-0/+3
| | | | | | | | This will ASSERT if blending is enabled at the same time as logic ops.
* | Merge pull request #1123 from lioncash/screenbunnei2018-08-211-3/+5
|\ \ | | | | | | rasterizer_interface: Remove renderer-specific ScreenInfo type from AccelerateDraw() in RasterizerInterface
| * | rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signatureLioncash2018-08-211-3/+5
| |/ | | | | | | | | | | This is an OpenGL renderer-specific data type. Given that, this type shouldn't be used within the base interface for the rasterizer. Instead, we can pass this information to the rasterizer via reference.
* / Rasterizer: Don't attempt to copy over the old texture's data when doing a format reinterpretation if we're only going to clear the framebuffer.Subv2018-08-201-1/+2
|/
* gl_rasterizer: Use a shared helper to upload from CPU memory.Markus Wick2018-08-121-0/+4
|
* gl_rasterizer: Use the stream buffer for constant buffers.Markus Wick2018-08-121-6/+5
|
* gl_rasterizer: Use the streaming buffer itself for the constant buffer.Markus Wick2018-08-121-2/+1
| | | | Don't emut copies, especially not for data, which is used once. They just end in a huge GPU overhead.
* gl_rasterizer: Use a helper for aligning the buffer.Markus Wick2018-08-121-1/+3
|
* Update the stream_buffer helper from Citra.Markus Wick2018-08-121-2/+1
| | | | Please see https://github.com/citra-emu/citra/pull/3666 for more details.
* core: Namespace EmuWindowLioncash2018-08-121-3/+6
| | | | Gets the class out of the global namespace.
* video_core: Make global EmuWindow instance part of the base renderer classLioncash2018-08-021-1/+4
| | | | | | | | | | | Makes the global a member of the RendererBase class. We also change this to be a reference. Passing any form of null pointer to these functions is incorrect entirely, especially given the code itself assumes that the pointer would always be in a valid state. This also makes it easier to follow the lifecycle of instances being used, as we explicitly interact the renderer with the rasterizer, rather than it just operating on a global pointer.
* gl_rasterizer: Use in-class member initializers where applicableLioncash2018-07-241-5/+5
| | | | We can just assign to the members directly in these cases.
* gl_rasterizer: Implement texture border color.bunnei2018-07-241-4/+1
|
* GPU: Only configure the used framebuffers during clear.Subv2018-07-041-1/+1
| | | | Don't try to configure the color buffer if it is not being cleared, it may not be completely valid at this point.
* GPU: Factor out the framebuffer configuration code for both Clear and Draw commands.Subv2018-07-031-0/+5
|
* GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.Subv2018-07-031-0/+1
|
* GPU: Set up the depth test state on every draw.Subv2018-07-021-0/+3
|
* gl_rasterizer_cache: Remove Citra's rasterizer cache, always load/flush surfaces.bunnei2018-06-271-1/+1
|
* gl_rasterizer: Workaround for when exceeding max UBO size.bunnei2018-06-271-1/+1
|
* Rasterizer: Use UBOs instead of SSBOs for uploading const buffers.Subv2018-06-101-0/+5
| | | | This should help a bit with GPU performance once we're GPU-bound.
* GPU: Synchronize the blend state on every draw call.Subv2018-06-091-8/+2
| | | | | | Only independent blending on render target 0 is implemented for now. This fixes the elongated squids in Splatoon 2's boot screen.
* GPU: Implement sampling multiple textures in the generated glsl shaders.Subv2018-06-061-3/+11
| | | | | | All tested games that use a single texture show no regression. Only Texture2D textures are supported right now, each shader gets its own "tex_fs/vs/gs" sampler array to maintain independent textures between shader stages, the textures themselves are reused if possible.
* GLRenderer: Remove unused hw_vao_enabled_attributes variable.Subv2018-05-191-1/+0
|
* GLRenderer: Remove unused vertex buffer and increase the size of the stream buffer to 128 MB.Subv2018-05-191-5/+2
| | | | The stream buffer is where all the vertex data is copied, some games require this to be much bigger than the 4 MB we used to have.
* gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.bunnei2018-04-251-3/+4
|
* GPU: Support multiple enabled vertex arrays.Subv2018-04-231-3/+3
| | | | | | The vertex arrays will be copied to the stream buffer one after the other, and the attributes will be set using the ARB_vertex_attrib_binding extension. yuzu now thus requires OpenGL 4.3 or the ARB_vertex_attrib_binding extension.
* opengl: Remove unnecessary header inclusionsLioncash2018-04-211-5/+0
|
* renderer_opengl: Implement BlendEquation and BlendFunc.bunnei2018-04-181-1/+1
|
* gl_rasterizer: Implement indexed vertex mode.bunnei2018-04-171-1/+0
|
* GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.Subv2018-04-151-3/+2
|
* GPU: Don't use explicit binding points when uploading the constbuffers to opengl.Subv2018-04-151-2/+11
| | | | The bindpoints will now be dynamically calculated based on the number of buffers used by the previous shader stage.
* GPU: Use the buffer hints from the shader decompiler to upload only the necessary const buffers for each shader stage.Subv2018-04-151-1/+2
|
* GPU: Upload the entirety of each constbuffer for each shader stage as SSBOs.Subv2018-04-151-1/+6
| | | | We're going to need the shader generator to give us a mapping of the actual used const buffers to properly bind them to the shader.
* GPU: Allow configuring ssbos in the opengl state manager.Subv2018-04-151-0/+2
|
* shaders: Add NumTextureSamplers const, remove unused #pragma.bunnei2018-04-151-1/+1
|
* gl_rasterizer: Generate shaders and upload uniforms.bunnei2018-04-141-4/+3
|
* gl_rasterizer: Use shader program manager, remove test shader.bunnei2018-04-141-53/+4
|
* renderer_opengl: Use OGLProgram instead of OGLShader.bunnei2018-04-141-1/+1
|
* GL: Set up the textures used for each draw call.Subv2018-04-071-0/+3
| | | | | Each Maxwell shader stage can have an arbitrary number of textures, but we're limited to a certain number in OpenGL. We try to only use the minimum amount of host textures by not keeping a 1:1 relation between guest texture ids and host texture ids, ie, guest texture id 8 can be host texture id 0 if it's the only texture used in the guest shader program. This mapping will have to be passed to the shader decompiler so it can rewrite the texture accesses.
* GL: Ported the SamplerInfo struct from citra.Subv2018-04-071-1/+20
|
* gl_rasterizer: Move code to bind framebuffer surfaces before draw to its own function.bunnei2018-03-271-0/+4
|
* gl_rasterizer: Add a SyncViewport method.bunnei2018-03-271-0/+3
|
* rasterizer: Rename DrawTriangles to DrawArrays.bunnei2018-03-271-1/+1
|
* gl_rasterizer: Use 32 texture units instead of 3.bunnei2018-03-271-1/+1
|
* rasterizer: Flush and invalidate regions should be 64-bit.bunnei2018-03-231-3/+3
|
* video_core: Remove usage of PAddr and replace with VAddr.bunnei2018-03-231-4/+4
|
* video_core: Move FramebufferInfo to FramebufferConfig in GPU.bunnei2018-03-231-2/+2
|
* gl_rasterizer: Add a simple passthrough shader in lieu of shader generation.bunnei2018-03-231-2/+12
|
* renderer_gl: Port boilerplate rasterizer code over from Citra.bunnei2018-03-201-0/+162
|
* Remove references to PICA and rasterizers in video_coreJames Rowe2018-01-131-316/+0
|
* core/video_core: Fix a bunch of u64 -> u32 warnings.bunnei2018-01-011-2/+2
|
* gl_rasterizer: implement custom clip planewwylele2017-08-251-1/+8
|
* gl_rasterizer: use texture buffer for proctex LUTwwylele2017-07-011-0/+5
|
* gl_rasterizer: use texture buffer for fog LUTwwylele2017-06-221-1/+2
|
* gl_rasterizer/lighting: fix LUT interpolationwwylele2017-06-211-3/+4
|
* gl_rasterizer: sync spot light statuswwylele2017-05-301-1/+5
|
* gl_rasterizer: implement procedural texturewwylele2017-05-201-1/+34
|
* OpenGL: Move PicaShaderConfig to gl_shader_gen.hYuri Kunde Schlesner2017-04-171-199/+2
| | | | Also move the implementation of CurrentConfig to the cpp file.
* VideoCore: Split regs.h inclusionsYuri Kunde Schlesner2017-02-091-1/+4
|
* VideoCore: Move Regs to its own fileYuri Kunde Schlesner2017-02-041-1/+1
|
* VideoCore: Split lighting regs from Regs structYuri Kunde Schlesner2017-02-041-4/+4
|
* VideoCore: Split framebuffer regs from Regs structYuri Kunde Schlesner2017-02-041-4/+4
|
* VideoCore: Split texturing regs from Regs structYuri Kunde Schlesner2017-02-041-12/+13
|
* VideoCore: Split rasterizer regs from Regs structYuri Kunde Schlesner2017-02-041-4/+4
|
* 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: fix gl_rasterizer warning on MSVCKloen2017-01-231-1/+1
|
* Merge pull request #2103 from wwylele/gpu-reg-cleanupbunnei2016-10-041-0/+1
|\ | | | | GPU: DisplayTransfer & MemoryFill cleanup and param check
| * rasterizer: separate TextureCopy from DisplayTransferwwylele2016-09-291-0/+1
| |
* | OpenGL: Take cached viewport sub-rect into account for scissorYuri Kunde Schlesner2016-09-301-3/+0
|/ | | | Fixes #1938
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-4/+0
| | | | | | | 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-6/+3
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-21/+29
|
* OpenGL: Add scaled resolution support to scissorYuri Kunde Schlesner2016-06-281-1/+2
|
* PICA: Scissor fixes and cleanupsYuri Kunde Schlesner2016-06-281-4/+4
|
* PICA: Implement scissor testSubv2016-06-281-1/+11
|
* OpenGL: Implement fogJannik Vogel2016-06-071-2/+15
|
* OpenGL: Avoid undefined behaviour for UNIFORM_BLOCK_DATA_SIZEJannik Vogel2016-06-071-4/+6
|
* Pica: Name LightSrc.config registerJannik Vogel2016-05-231-2/+2
|
* Pica: Name lighting.config0 and .config1 registersJannik Vogel2016-05-231-12/+12
|
* OpenGL: Use uniforms for dist_atten_bias and dist_atten_scaleJannik Vogel2016-05-231-5/+9
|
* OpenGL: Only update depth uniforms if the depth changedJannik Vogel2016-05-141-2/+5
|
* OpenGL: value-initialize variables which cause uninitialised access otherwiseJannik Vogel2016-05-141-2/+2
|
* OpenGL: Implement texture type 3Jannik Vogel2016-05-111-0/+5
|
* Merge pull request #1621 from JayFoxRox/w-bufferbunnei2016-05-111-0/+5
|\ | | | | Implement W-buffer and fix depth-mapping
| * OpenGL: Implement W-Buffers and fix depth-mappingJannik Vogel2016-05-101-0/+5
| |
* | gl_rasterizer: Fix compilation for debug buildsLioncash2016-05-101-1/+1
|/
* Pica: Use a union for PicaShaderConfigJannik Vogel2016-05-031-87/+97
|
* Pica: Add TevStageConfigRaw to PicaShaderConfig (MSVC workaround)Jannik Vogel2016-05-031-1/+22
|
* Pica: Make PicaShaderConfig trivially_copyable and clear it before useJannik Vogel2016-05-031-21/+28
|
* OpenGL: Don't copy const_color (Reverts #1745)Jannik Vogel2016-05-031-2/+3
|
* Merge pull request #1741 from linkmauve/iwyu-video_corebunnei2016-05-011-2/+12
|\ | | | | 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-2/+12
| |
* | OpenGL: Copy TevStageConfig using a loop. Fixes bug: const_color not copiedJannik Vogel2016-05-011-30/+11
|/
* HWRasterizer: reorder declarations to match defstfarley2016-04-221-9/+9
|
* HWRasterizer: Texture forwardingtfarley2016-04-211-66/+10
|
* OpenGL: Split buffer-write mask sync into seperate functionsJannik Vogel2016-04-081-0/+9
|
* Add immediate mode vertex submissionDwayne Slater2016-03-031-0/+1
|
* pica: Cleanup lighting register definitions and documentation.bunnei2016-02-051-15/+15
|
* gl_rasterizer: Use alignas(16) instead of explicit padding.bunnei2016-02-051-13/+6
|
* renderer_opengl: Use GLvec3/GLvec4 aliases for commonly used types.bunnei2016-02-051-9/+10
|
* gl_rasterizer: Fix issue with interpolation of opposite quaternions.bunnei2016-02-051-1/+7
|
* pica_types: Replace float24/20/16 with a template class.bunnei2016-02-051-2/+2
|
* gl_rasterizer: Remove unnecessary casts.bunnei2016-02-051-6/+6
|
* gl_rasterizer: Fix PicaShaderConfig on GCC.bunnei2016-02-051-29/+27
|
* gl_rasterizer: Initial implementation of bump mapping.bunnei2016-02-051-0/+6
|
* gl_shader_gen: Implement lighting red, green, and blue reflection.bunnei2016-02-051-1/+17
|
* gl_shader_gen: Implement fragment lighting fresnel effect.bunnei2016-02-051-0/+7
|
* gl_shader_gen: Implement fragment lighting specular 1 component.bunnei2016-02-051-0/+8
|
* gl_shader_gen: Add support for D0 LUT scaling.bunnei2016-02-051-1/+3
|
* gl_shader_gen: Refactor lighting config to match Pica register naming.bunnei2016-02-051-28/+32
| | | | - Also implement D0 LUT enable.
* pica: Cleanup and add some comments to lighting registers.bunnei2016-02-051-1/+1
|
* gl_rasterizer: Minor naming refactor on Pica register naming.bunnei2016-02-051-5/+5
|
* renderer_opengl: Use textures for fragment shader LUTs instead of UBOs.bunnei2016-02-051-4/+6
| | | | | - 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/+20
|
* renderer_opengl: Implement HW fragment lighting distance attenuation.bunnei2016-02-051-14/+22
|
* renderer_opengl: Implement HW fragment lighting LUTs within our default UBO.bunnei2016-02-051-2/+7
|
* renderer_opengl: Implement diffuse component of HW fragment lighting.bunnei2016-02-051-3/+58
|
* hwrasterizer: Use proper cached fb addr/sizetfarley2016-02-031-2/+2
|
* hwrasterizer: Use depth offsettfarley2016-01-211-1/+5
|
* VideoCore: Unify interface to OpenGL and SW rasterizersYuri Kunde Schlesner2015-12-081-17/+2
| | | | | | 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
|
* Use regular uniform locationPierre de La Morinerie2015-11-251-7/+0
| | | | | | 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-6/+21
|
* gl_shader_gen: Various cleanups to shader generation.bunnei2015-10-221-1/+1
|
* gl_rasterizer: Use MMH3 hash for shader cache hey.bunnei2015-10-221-76/+57
| | | | - Includes a check to confirm no hash collisions.
* gl_shader_gen: Require explicit uniform locations.bunnei2015-10-221-26/+14
| | | | - Fixes uniform issue on AMD.
* gl_rasterizer: Add documentation to ShaderCacheKey.bunnei2015-10-221-0/+16
|
* renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.bunnei2015-10-221-23/+18
|
* gl_rasterizer: Move logic for creating ShaderCacheKey to a static function.bunnei2015-10-221-1/+44
|
* Initial implementation of fragment shader generation with caching.Subv2015-10-221-31/+79
|
* video_core: Reorganize headersLioncash2015-09-111-3/+2
|
* OpenGL: Use Sampler Objects to decouple sampler config from texturesYuri Kunde Schlesner2015-09-031-0/+19
| | | | Fixes #978
* Shader: Move shader code to its own subdirectory, "shader".bunnei2015-08-151-1/+1
|
* GPU: Refactor "VertexShader" namespace to "Shader".bunnei2015-08-151-5/+5
| | | | - Also renames "vertex_shader.*" to "shader_interpreter.*"
* Core: Cleanup hw includes.Emmanuel Gil Peyrot2015-06-281-0/+1
|
* Common: Cleanup key_map includes.Emmanuel Gil Peyrot2015-06-281-0/+4
|
* Pica: Implement LogicOp function.bunnei2015-05-311-0/+3
|
* OpenGL renderertfarley2015-05-231-0/+207