summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.h (unfollow)
Commit message (Expand)AuthorFilesLines
2019-06-21gl_framebuffer_cache: Use a hashed struct to cache framebuffersReinUsesLisp1-4/+2
2019-06-21Remove Framebuffer reconfiguration and restrict rendertarget protectionFernando Sahmkow1-3/+2
2019-06-21texture_cache: Correct premature texceptionsFernando Sahmkow1-2/+5
2019-06-21Texture Cache: Implement Blitting and Fermi CopiesFernando Sahmkow1-1/+0
2019-06-21Change texture_cache chaching from GPUAddr to CacheAddrFernando Sahmkow1-2/+0
2019-06-21Deglobalize Memory Manager on texture cahe and Implement Invalidation and Flushing using GPUVAddrFernando Sahmkow1-0/+8
2019-06-21gl_texture_cache: Implement fermi copiesReinUsesLisp1-0/+1
2019-06-21gl_texture_cache: Initial implementationReinUsesLisp1-2/+2
2019-06-08gl_rasterizer: Remove unused parameters in descriptor uploadsReinUsesLisp1-3/+2
2019-06-08video_core/engines: Move ConstBufferInfo out of Maxwell3DReinUsesLisp1-2/+8
2019-05-30gl_rasterizer: Move alpha testing to the OpenGL pipelineReinUsesLisp1-2/+2
2019-05-30gl_rasterizer: Use GL_QUADS to emulate quads renderingReinUsesLisp1-2/+0
2019-05-21gl_shader_cache: Use shared contexts to build shaders in parallelReinUsesLisp1-1/+2
2019-04-14gl_shader_decompiler: Use variable AOFFI on supported hardwareReinUsesLisp1-3/+1
2019-04-14shader_ir: Implement STG, keep track of global memory usage and flushReinUsesLisp1-4/+0
2019-04-10gl_device: Implement interface and add uniform offset alignmentReinUsesLisp1-1/+3
2019-04-08Simplify ConstBufferAccessorFernando Sahmkow1-3/+0
2019-04-08Implement Const Buffer AccessorFernando Sahmkow1-0/+3
2019-04-06gl_rasterizer: Use ARB_multi_bind to update SSBOsReinUsesLisp1-0/+1
2019-04-06gl_rasterizer: Use ARB_multi_bind to update UBOs across stagesReinUsesLisp1-0/+3
2019-04-04video_core/renderer_opengl: Remove unnecessary includesLioncash1-5/+0
2019-04-02gl_sampler_cache: Port sampler cache to OpenGLReinUsesLisp1-30/+2
2019-03-27gl_rasterizer: Remove unused reference member variable from RasterizerOpenGLLioncash1-3/+1
2019-03-15gpu: Use host address for caching instead of guest address.bunnei1-4/+4
2019-03-11gl_rasterizer: Use system instance passed from argumentReinUsesLisp1-0/+1
2019-03-09gl_rasterizer: Encapsulate sampler queries into methodsReinUsesLisp1-2/+3
2019-02-27common/math_util: Move contents into the Common namespaceLioncash1-2/+2
2019-02-07gl_rasterizer: Implement a more accurate fermi 2D copy.bunnei1-1/+3
2019-02-07gl_shader_cache: Link loading screen with disk shader cache loadReinUsesLisp1-1/+3
2019-02-07gl_shader_disk_cache: Pass core system as argument and guard against games without title idsReinUsesLisp1-1/+6
2019-02-07rasterizer_interface: Add disk cache entry for the rasterizerReinUsesLisp1-0/+1
2019-02-01rasterizer_interface: Remove unused AccelerateFill operationReinUsesLisp1-1/+0
2019-01-30gl_shader_cache: Use explicit bindingsReinUsesLisp1-29/+12
2019-01-30gl_rasterizer: Implement global memory managementReinUsesLisp1-0/+10
2019-01-30gl_rasterizer: Workaround invalid zeta clearsReinUsesLisp1-3/+6
2019-01-08gl_global_cache: Add dummy global cache managerReinUsesLisp1-2/+8
2019-01-07gl_rasterizer: Skip framebuffer configuration if rendertargets have not been changedReinUsesLisp1-0/+18
2019-01-06gl_rasterizer: Use DSA for vertex array objectsReinUsesLisp1-2/+4
2018-11-29gl_rasterizer: Enable clip distances when set in register and in shaderReinUsesLisp1-1/+2
2018-11-29gl_rasterizer: Implement a framebuffer cacheReinUsesLisp1-1/+5
2018-11-29gl_rasterizer: Remove unused struct declarationsReinUsesLisp1-14/+0
2018-11-29gl_rasterizer: Remove extension booleansReinUsesLisp1-3/+0
2018-11-27Implement depth clampRodolfo Bogado1-0/+4
2018-11-27GPU States: Implement Polygon Offset. This is used in SMO all the time. (#1784)Marcos1-0/+3
2018-11-24Add support for clear_flags registerRodolfo Bogado1-14/+15
2018-11-21Removed pre 4.3 ARB extensionsFernandoS271-2/+0
2018-11-17fix sampler configuration, thanks to Marcos for his investigationRodolfo Bogado1-1/+5
2018-11-17add AlphaToCoverage and AlphaToOneRodolfo Bogado1-0/+3
2018-11-17add support for fragment_color_clampRodolfo Bogado1-0/+3
2018-11-11Improve state management by splitting some of the states id separated function to avoid a full apply overheadRodolfo Bogado1-3/+3
2018-11-11set sampler max lod, min lod, lod bias and max anisotropyRodolfo Bogado1-1/+1
2018-11-06gl_rasterizer: Split VAO and VB setup functions.Markus Wick1-1/+2
2018-11-05Add support to color mask to avoid issues in blending caused by wrong values in the alpha channel in some render targets.Rodolfo Bogado1-0/+3
2018-11-05Implement multi-target viewports and blendingRodolfo Bogado1-4/+1
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L1-2/+2
2018-10-29Implement Mip FilterFernandoS271-0/+1
2018-10-26gl_rasterizer: Implement primitive restart.bunnei1-0/+3
2018-10-26gl_rasterizer: Implement depth range.bunnei1-5/+2
2018-10-22Assert that multiple render targets are not set while alpha testingFernandoS271-0/+3
2018-10-22Use standard UBO and fix/stylize the codeFernandoS271-3/+0
2018-10-22Remove SyncAlphaTest and clang formatFernandoS271-3/+1
2018-10-22Implemented Alpha TestingFernandoS271-0/+2
2018-10-09Assert Scissor testsFernandoS271-0/+3
2018-10-07gl_shader_decompiler: Implement geometry shadersReinUsesLisp1-3/+3
2018-10-06Implemented Depth Compare and Shadow SamplersFernandoS271-0/+2
2018-10-06gl_rasterizer: Add rasterizer cache code to handle accerated fermi copies.bunnei1-2/+2
2018-10-04gl_rasterizer: Implement quads topologyReinUsesLisp1-0/+7
2018-09-28video_core: Implement point_size and add point state syncReinUsesLisp1-0/+3
2018-09-28gl_state: Pack sampler bindings into a single ARB_multi_bindReinUsesLisp1-1/+1
2018-09-26video_core: Add asserts for CS, TFB and alpha testingReinUsesLisp1-0/+6
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-4/+4
2018-09-13Use ARB_multi_bind for uniform buffers (#1287)ReinUsesLisp1-0/+1
2018-09-10rasterizer: Drop unused handler.Markus Wick1-1/+0
2018-09-10gl_rasterizer: Implement clear for non-zero render targets.bunnei1-2/+11
2018-09-10gl_rasterizer: Implement multiple color attachments.bunnei1-9/+3
2018-09-08gl_rasterizer: Implement texture wrap mode p.bunnei1-0/+1
2018-09-05gl_rasterizer: Implement a VAO cache.Markus Wick1-3/+5
2018-09-05renderer_opengl: Implement a buffer cache.Markus Wick1-12/+7
2018-08-31gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.bunnei1-3/+3
2018-08-31gl_rasterizer: Fix issues with the rasterizer cache.bunnei1-0/+8
2018-08-28renderer_opengl: Implement a new shader cache.bunnei1-8/+7
2018-08-23gl_rasterizer: Implement stencil test.bunnei1-0/+3
2018-08-22renderer_opengl: Namespace OpenGL codeLioncash1-2/+6
2018-08-21GPU: Implemented the logic op functionality of the GPU.Subv1-0/+3
2018-08-21rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signatureLioncash1-3/+5
2018-08-20Rasterizer: 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.Subv1-1/+2
2018-08-12gl_rasterizer: Use a shared helper to upload from CPU memory.Markus Wick1-0/+4
2018-08-12gl_rasterizer: Use the stream buffer for constant buffers.Markus Wick1-6/+5
2018-08-12gl_rasterizer: Use the streaming buffer itself for the constant buffer.Markus Wick1-2/+1
2018-08-12gl_rasterizer: Use a helper for aligning the buffer.Markus Wick1-1/+3
2018-08-12Update the stream_buffer helper from Citra.Markus Wick1-2/+1
2018-08-12core: Namespace EmuWindowLioncash1-3/+6
2018-08-02video_core: Make global EmuWindow instance part of the base renderer classLioncash1-1/+4
2018-07-24gl_rasterizer: Use in-class member initializers where applicableLioncash1-5/+5
2018-07-24gl_rasterizer: Implement texture border color.bunnei1-4/+1
2018-07-04GPU: Only configure the used framebuffers during clear.Subv1-1/+1
2018-07-03GPU: Factor out the framebuffer configuration code for both Clear and Draw commands.Subv1-0/+5
2018-07-03GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.Subv1-0/+1
2018-07-02GPU: Set up the depth test state on every draw.Subv1-0/+3
2018-06-27gl_rasterizer_cache: Remove Citra's rasterizer cache, always load/flush surfaces.bunnei1-1/+1
2018-06-27gl_rasterizer: Workaround for when exceeding max UBO size.bunnei1-1/+1
2018-06-10Rasterizer: Use UBOs instead of SSBOs for uploading const buffers.Subv1-0/+5
2018-06-09GPU: Synchronize the blend state on every draw call.Subv1-8/+2
2018-06-06GPU: Implement sampling multiple textures in the generated glsl shaders.Subv1-3/+11
2018-05-19GLRenderer: Remove unused hw_vao_enabled_attributes variable.Subv1-1/+0
2018-05-19GLRenderer: Remove unused vertex buffer and increase the size of the stream buffer to 128 MB.Subv1-5/+2
2018-04-25gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.bunnei1-3/+4
2018-04-23GPU: Support multiple enabled vertex arrays.Subv1-3/+3
2018-04-21opengl: Remove unnecessary header inclusionsLioncash1-5/+0
2018-04-18renderer_opengl: Implement BlendEquation and BlendFunc.bunnei1-1/+1
2018-04-17gl_rasterizer: Implement indexed vertex mode.bunnei1-1/+0
2018-04-15GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.Subv1-3/+2
2018-04-15GPU: Don't use explicit binding points when uploading the constbuffers to opengl.Subv1-2/+11
2018-04-15GPU: Use the buffer hints from the shader decompiler to upload only the necessary const buffers for each shader stage.Subv1-1/+2
2018-04-15GPU: Upload the entirety of each constbuffer for each shader stage as SSBOs.Subv1-1/+6
2018-04-15GPU: Allow configuring ssbos in the opengl state manager.Subv1-0/+2
2018-04-15shaders: Add NumTextureSamplers const, remove unused #pragma.bunnei1-1/+1
2018-04-14gl_rasterizer: Generate shaders and upload uniforms.bunnei1-4/+3
2018-04-14gl_rasterizer: Use shader program manager, remove test shader.bunnei1-53/+4
2018-04-14renderer_opengl: Use OGLProgram instead of OGLShader.bunnei1-1/+1
2018-04-07GL: Set up the textures used for each draw call.Subv1-0/+3
2018-04-07GL: Ported the SamplerInfo struct from citra.Subv1-1/+20
2018-03-27gl_rasterizer: Move code to bind framebuffer surfaces before draw to its own function.bunnei1-0/+4
2018-03-27gl_rasterizer: Add a SyncViewport method.bunnei1-0/+3
2018-03-27rasterizer: Rename DrawTriangles to DrawArrays.bunnei1-1/+1
2018-03-27gl_rasterizer: Use 32 texture units instead of 3.bunnei1-1/+1
2018-03-23rasterizer: Flush and invalidate regions should be 64-bit.bunnei1-3/+3
2018-03-23video_core: Remove usage of PAddr and replace with VAddr.bunnei1-4/+4
2018-03-23video_core: Move FramebufferInfo to FramebufferConfig in GPU.bunnei1-2/+2
2018-03-23gl_rasterizer: Add a simple passthrough shader in lieu of shader generation.bunnei1-2/+12
2018-03-20renderer_gl: Port boilerplate rasterizer code over from Citra.bunnei1-0/+162
2018-01-13Remove references to PICA and rasterizers in video_coreJames Rowe1-316/+0
2018-01-01core/video_core: Fix a bunch of u64 -> u32 warnings.bunnei1-2/+2
2017-08-25gl_rasterizer: implement custom clip planewwylele1-1/+8
2017-07-01gl_rasterizer: use texture buffer for proctex LUTwwylele1-0/+5
2017-06-22gl_rasterizer: use texture buffer for fog LUTwwylele1-1/+2
2017-06-21gl_rasterizer/lighting: fix LUT interpolationwwylele1-3/+4
2017-05-30gl_rasterizer: sync spot light statuswwylele1-1/+5
2017-05-20gl_rasterizer: implement procedural texturewwylele1-1/+34
2017-04-17OpenGL: Move PicaShaderConfig to gl_shader_gen.hYuri Kunde Schlesner1-199/+2
2017-02-09VideoCore: Split regs.h inclusionsYuri Kunde Schlesner1-1/+4
2017-02-04VideoCore: Move Regs to its own fileYuri Kunde Schlesner1-1/+1
2017-02-04VideoCore: Split lighting regs from Regs structYuri Kunde Schlesner1-4/+4
2017-02-04VideoCore: Split framebuffer regs from Regs structYuri Kunde Schlesner1-4/+4
2017-02-04VideoCore: Split texturing regs from Regs structYuri Kunde Schlesner1-12/+13
2017-02-04VideoCore: Split rasterizer regs from Regs structYuri Kunde Schlesner1-4/+4
2017-01-30VideoCore: Change misleading register namesYuri Kunde Schlesner1-1/+1
2017-01-23video_core: fix gl_rasterizer warning on MSVCKloen1-1/+1
2016-09-30OpenGL: Take cached viewport sub-rect into account for scissorYuri Kunde Schlesner1-3/+0
2016-09-29rasterizer: separate TextureCopy from DisplayTransferwwylele1-0/+1
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-4/+0
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-6/+3
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-21/+29
2016-06-28OpenGL: Add scaled resolution support to scissorYuri Kunde Schlesner1-1/+2
2016-06-28PICA: Scissor fixes and cleanupsYuri Kunde Schlesner1-4/+4
2016-06-28PICA: Implement scissor testSubv1-1/+11
2016-06-07OpenGL: Implement fogJannik Vogel1-2/+15
2016-06-07OpenGL: Avoid undefined behaviour for UNIFORM_BLOCK_DATA_SIZEJannik Vogel1-4/+6
2016-05-23Pica: Name LightSrc.config registerJannik Vogel1-2/+2
2016-05-23Pica: Name lighting.config0 and .config1 registersJannik Vogel1-12/+12
2016-05-23OpenGL: Use uniforms for dist_atten_bias and dist_atten_scaleJannik Vogel1-5/+9
2016-05-14OpenGL: Only update depth uniforms if the depth changedJannik Vogel1-2/+5
2016-05-14OpenGL: value-initialize variables which cause uninitialised access otherwiseJannik Vogel1-2/+2
2016-05-11OpenGL: Implement texture type 3Jannik Vogel1-0/+5
2016-05-10gl_rasterizer: Fix compilation for debug buildsLioncash1-1/+1
2016-05-10OpenGL: Implement W-Buffers and fix depth-mappingJannik Vogel1-0/+5
2016-05-03Pica: Use a union for PicaShaderConfigJannik Vogel1-87/+97
2016-05-03Pica: Add TevStageConfigRaw to PicaShaderConfig (MSVC workaround)Jannik Vogel1-1/+22
2016-05-03Pica: Make PicaShaderConfig trivially_copyable and clear it before useJannik Vogel1-21/+28
2016-05-03OpenGL: Don't copy const_color (Reverts #1745)Jannik Vogel1-2/+3
2016-05-01OpenGL: Copy TevStageConfig using a loop. Fixes bug: const_color not copiedJannik Vogel1-30/+11
2016-04-30VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot1-2/+12
2016-04-22HWRasterizer: reorder declarations to match defstfarley1-9/+9
2016-04-21HWRasterizer: Texture forwardingtfarley1-66/+10
2016-04-08OpenGL: Split buffer-write mask sync into seperate functionsJannik Vogel1-0/+9
2016-03-03Add immediate mode vertex submissionDwayne Slater1-0/+1
2016-02-05pica: Cleanup lighting register definitions and documentation.bunnei1-15/+15
2016-02-05gl_rasterizer: Use alignas(16) instead of explicit padding.bunnei1-13/+6
2016-02-05renderer_opengl: Use GLvec3/GLvec4 aliases for commonly used types.bunnei1-9/+10
2016-02-05gl_rasterizer: Fix issue with interpolation of opposite quaternions.bunnei1-1/+7
2016-02-05pica_types: Replace float24/20/16 with a template class.bunnei1-2/+2
2016-02-05gl_rasterizer: Remove unnecessary casts.bunnei1-6/+6
2016-02-05gl_rasterizer: Fix PicaShaderConfig on GCC.bunnei1-29/+27
2016-02-05gl_rasterizer: Initial implementation of bump mapping.bunnei1-0/+6
2016-02-05gl_shader_gen: Implement lighting red, green, and blue reflection.bunnei1-1/+17
2016-02-05gl_shader_gen: Implement fragment lighting fresnel effect.bunnei1-0/+7
2016-02-05gl_shader_gen: Implement fragment lighting specular 1 component.bunnei1-0/+8
2016-02-05gl_shader_gen: Add support for D0 LUT scaling.bunnei1-1/+3
2016-02-05gl_shader_gen: Refactor lighting config to match Pica register naming.bunnei1-28/+32
2016-02-05pica: Cleanup and add some comments to lighting registers.bunnei1-1/+1
2016-02-05gl_rasterizer: Minor naming refactor on Pica register naming.bunnei1-5/+5
2016-02-05renderer_opengl: Use textures for fragment shader LUTs instead of UBOs.bunnei1-4/+6
2016-02-05renderer_opengl: Initial implementation of basic specular lighting.bunnei1-0/+20
2016-02-05renderer_opengl: Implement HW fragment lighting distance attenuation.bunnei1-14/+22
2016-02-05renderer_opengl: Implement HW fragment lighting LUTs within our default UBO.bunnei1-2/+7
2016-02-05renderer_opengl: Implement diffuse component of HW fragment lighting.bunnei1-3/+58
2016-02-03hwrasterizer: Use proper cached fb addr/sizetfarley1-2/+2
2016-01-21hwrasterizer: Use depth offsettfarley1-1/+5
2015-12-08VideoCore: Unify interface to OpenGL and SW rasterizersYuri Kunde Schlesner1-17/+2
2015-12-07VideoCore: Rename HWRasterizer methods to be less confusingYuri Kunde Schlesner1-3/+3
2015-11-25Use regular uniform locationPierre de La Morinerie1-7/+0
2015-11-19FragShader: Use an UBO instead of several individual uniformsSubv1-6/+21
2015-10-22gl_shader_gen: Various cleanups to shader generation.bunnei1-1/+1
2015-10-22gl_rasterizer: Use MMH3 hash for shader cache hey.bunnei1-76/+57
2015-10-22gl_shader_gen: Require explicit uniform locations.bunnei1-26/+14
2015-10-22gl_rasterizer: Add documentation to ShaderCacheKey.bunnei1-0/+16
2015-10-22renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.bunnei1-23/+18
2015-10-22gl_rasterizer: Move logic for creating ShaderCacheKey to a static function.bunnei1-1/+44
2015-10-22Initial implementation of fragment shader generation with caching.Subv1-31/+79
2015-09-11video_core: Reorganize headersLioncash1-3/+2
2015-09-03OpenGL: Use Sampler Objects to decouple sampler config from texturesYuri Kunde Schlesner1-0/+19
2015-08-15Shader: Move shader code to its own subdirectory, "shader".bunnei1-1/+1
2015-08-15GPU: Refactor "VertexShader" namespace to "Shader".bunnei1-5/+5
2015-06-28Core: Cleanup hw includes.Emmanuel Gil Peyrot1-0/+1
2015-06-28Common: Cleanup key_map includes.Emmanuel Gil Peyrot1-0/+4
2015-05-31Pica: Implement LogicOp function.bunnei1-0/+3
2015-05-23OpenGL renderertfarley1-0/+207