summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_3d.h (unfollow)
Commit message (Expand)AuthorFilesLines
2022-10-13renderer_(opengl/vulkan): Fix tessellation clockwise parameterMorph1-2/+2
2022-10-10Fix stencil func registers, make clip control equivalent to how it was before, but surely wrong.Kelebek11-10/+12
2022-10-07Update 3D regsKelebek11-1014/+2825
2022-06-14common: Change semantics of UNREACHABLE to unconditionally crashLiam1-6/+6
2022-06-02Maxwell3D: Fix 3D semaphore counter type 0 handlingBilly Laws1-1/+1
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
2022-04-14maxwell3d: add small_index_2 registerLiam1-1/+6
2022-03-19video_core: Reduce unused includesameerj1-1/+0
2022-03-15maxwell_3d: Implement a safer CB data uploadameerj1-14/+1
2022-03-14Maxwell3D: Link to override constant definition in nouveaubyte[]1-0/+2
2022-03-14Maxwell3D: Use override constants from nouveauLiam1-1/+15
2022-03-12Maxwell3D: Restrict topology override effect to after the register is setLiam1-0/+1
2022-03-11Maxwell3D: read small-index draw and primitive topology override registersLiam1-2/+16
2022-02-01Rasterizer: Refactor inlineToMemory.Fernando Sahmkow1-1/+1
2022-01-29Rasterizer: Implement Inline2Memory Acceleration.Fernando Sahmkow1-1/+2
2021-10-03gpu: Migrate implementation to the cpp fileameerj1-0/+1
2021-10-02common/logging: Move Log::Entry declaration to a separate headerameerj1-0/+1
2021-09-07Fix blend equation enum errorFeng Chen1-4/+4
2021-07-23vk_rasterizer: Workaround bug in VK_EXT_vertex_input_dynamic_stateReinUsesLisp1-4/+0
2021-07-23shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp1-1/+6
2021-07-23vk_graphics_pipeline: Implement conservative renderingReinUsesLisp1-1/+6
2021-07-23shader: Unify shader stage typesReinUsesLisp1-1/+0
2021-07-23vulkan: Use VK_EXT_provoking_vertex when availableReinUsesLisp1-1/+6
2021-07-23shader: Remove old shader managementReinUsesLisp1-19/+1
2021-06-23maxwell3d: Add missing return in default SizeInBytes() caseLioncash1-0/+1
2021-02-13video_core: Reimplement the buffer cacheReinUsesLisp1-9/+3
2021-02-13gpu: Report renderer errors with exceptionsReinUsesLisp1-1/+1
2021-01-24maxwell_3d: Silence array bounds warningsReinUsesLisp1-1/+1
2021-01-15common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINITReinUsesLisp1-75/+75
2020-12-30video_core: Rewrite the texture cacheReinUsesLisp1-50/+77
2020-12-07maxwell_3d: Move member variables to end of classLioncash1-31/+32
2020-12-07maxwell_3d: Resolve -Wdocumentation warningLioncash1-1/+1
2020-12-07maxwell_3d: Remove unused dirty_pointer arrayLioncash1-2/+0
2020-11-26vk_shader_decompiler: Implement force early fragment testsReinUsesLisp1-1/+6
2020-11-11maxwell_3d: Move code to separate functionsReinUsesLisp1-0/+8
2020-08-22video_core: Initialize renderer with a GPUReinUsesLisp1-10/+11
2020-08-14maxwell_3d: Resolve -Wextra-semi warningLioncash1-1/+1
2020-06-24Addressed issuesDavid Marcec1-0/+4
2020-06-24Macro HLE supportDavid Marcec1-0/+4
2020-06-08texture_cache: Implement rendering to 3D texturesReinUsesLisp1-0/+1
2020-06-05shader/texture: Join separate image and sampler pairs offlineReinUsesLisp1-0/+2
2020-06-03Mark parameters as constDavid Marcec1-2/+1
2020-06-02Pass by reference instead of copying parametersDavid Marcec1-1/+1
2020-05-30Implement macro JITDavid Marcec1-15/+4
2020-05-04vk_graphics_pipeline: Implement viewport swizzles with NV_viewport_swizzleReinUsesLisp1-0/+1
2020-05-04maxwell_3d: Add viewport swizzlesReinUsesLisp1-1/+18
2020-04-28Clang Format and Documentation.Fernando Sahmkow1-1/+2
2020-04-28{maxwell_3d,buffer_cache}: Implement memory barriers using 3D registersReinUsesLisp1-1/+4
2020-04-28VideoCore/Engines: Refactor Engines CallMethod.Fernando Sahmkow1-4/+5
2020-04-28maxwell_3d: Fix depth clamping registerReinUsesLisp1-0/+1
2020-04-23DMAPusher: Propagate multimethod writes into the engines.Fernando Sahmkow1-0/+4
2020-04-22OpenGL: Implement Fencing backend.Fernando Sahmkow1-4/+0
2020-04-22GPU: Delay Fences.Fernando Sahmkow1-0/+4
2020-04-22gl_rasterizer: Fix buffers without sizeReinUsesLisp1-1/+2
2020-04-19fixed_pipeline_state: Pack attribute stateReinUsesLisp1-1/+1
2020-04-14gl_rasterizer: Implement constant vertex attributesReinUsesLisp1-0/+4
2020-04-13gl_rasterizer: Implement line widths and smooth linesReinUsesLisp1-2/+8
2020-04-12video_core: Add MSAA registers in 3D engine and TICReinUsesLisp1-6/+61
2020-03-22maxwell_3d: change declaration ordernamkazy1-1/+3
2020-03-22maxwell_3d: update comments for shadow ram usagenamkazy1-0/+4
2020-03-22maxwell_3d: implement MME shadow RAMNguyen Dac Nam1-1/+14
2020-03-13maxwell_3d: Add padding words to XFB entriesReinUsesLisp1-2/+4
2020-03-13gl_rasterizer: Implement transform feedback bindingsReinUsesLisp1-0/+9
2020-03-10gl_rasterizer: Implement polygon modes and fill rectanglesReinUsesLisp1-2/+20
2020-03-09engines/maxwell_3d: Add TFB registers and store them in shader registryReinUsesLisp1-2/+32
2020-02-28state_tracker: Remove type traits with named structuresReinUsesLisp1-4/+8
2020-02-28maxwell_3d: Use two tables instead of three for dirty flagsReinUsesLisp1-1/+1
2020-02-28maxwell_3d: Change write dirty flags to a bitsetReinUsesLisp1-4/+2
2020-02-28maxwell_3d: Flatten cull and front face registersReinUsesLisp1-16/+14
2020-02-28video_core: Reintroduce dirty flags infrastructureReinUsesLisp1-0/+14
2020-02-28gl_state: Remove clip distances trackingReinUsesLisp1-10/+1
2020-02-28gl_state: Remove viewport and depth range trackingReinUsesLisp1-9/+9
2020-02-28gl_rasterizer: Remove dirty flagsReinUsesLisp1-75/+0
2020-02-16texture_cache: Implement layered framebuffer attachmentsReinUsesLisp1-2/+7
2020-02-14gl_query_cache: Implement host queries using a deferred cacheReinUsesLisp1-0/+4
2020-02-14maxwell_3d: Slow implementation of passed samples (query 21)ReinUsesLisp1-4/+34
2020-02-10Maxwell3D: Correct query reporting.Fernando Sahmkow1-7/+9
2020-02-04gl_rasterizer: Implement GL_POINT_SPRITEReinUsesLisp1-1/+6
2020-02-02maxwell_3d: Fix stencil back maskReinUsesLisp1-3/+3
2020-01-24Shader_IR: Allow constant access of guest driver.Fernando Sahmkow1-0/+2
2020-01-24GPU: Implement guest driver profile and deduce texture handler sizes.Fernando Sahmkow1-0/+2
2020-01-16maxwell_3d: Make dirty_pointers privateLioncash1-2/+2
2020-01-15gl_state: Implement PROGRAM_POINT_SIZEReinUsesLisp1-1/+9
2019-12-23maxwell_3d: Add depth bounds registersReinUsesLisp1-6/+14
2019-12-18gl_rasterizer: Implement RASTERIZE_ENABLEReinUsesLisp1-1/+6
2019-12-11Maxwell3D: Implement Depth Mode.Fernando Sahmkow1-6/+7
2019-12-07maxwell_3d: Add tessellation tess level registersReinUsesLisp1-1/+6
2019-12-07maxwell_3d: Add tessellation mode registerReinUsesLisp1-1/+28
2019-12-07maxwell_3d: Add patch vertices registerReinUsesLisp1-1/+4
2019-11-23gl_shader_cache: Remove dynamic BaseBinding specializationReinUsesLisp1-1/+0
2019-11-23video_core: Unify ProgramType and ShaderStage into ShaderTypeReinUsesLisp1-10/+3
2019-11-13maxwell_3d: Fix stencil_back_func_mask offsetReinUsesLisp1-3/+3
2019-11-04common_func: Use std::array for INSERT_PADDING_* macros.bunnei1-58/+58
2019-10-28maxwell_3d/kepler_compute: Remove unused arguments in GetTextureReinUsesLisp1-3/+2
2019-10-28maxwell_3d: Remove unused method GetStageTexturesReinUsesLisp1-3/+0
2019-10-27maxwell_3d: Silence implicit conversion warningsReinUsesLisp1-0/+2
2019-10-25Shader_IR: allow lookup of texture samplers within the shader_ir for instructions that don't provide itFernando Sahmkow1-1/+10
2019-10-25VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.Fernando Sahmkow1-2/+3
2019-10-05maxwell_3d: Add dirty flags for depth bounds valuesReinUsesLisp1-1/+5
2019-09-22Maxwell3D: Corrections and refactors to MME instance refactorFernando Sahmkow1-2/+5
2019-09-19VideoCore: Corrections to the MME Inliner and removal of hacky instance management.Fernando Sahmkow1-2/+5
2019-09-19Video Core: initial Implementation of InstanceDraw PackagingFernando Sahmkow1-1/+22
2019-09-06gl_rasterizer: Implement image bindingsReinUsesLisp1-0/+1
2019-09-04Revert "Revert #2466" and stub FirmwareCall 4ReinUsesLisp1-1/+7
2019-09-04maxwell_3d: Avoid moving macro_paramsReinUsesLisp1-1/+2
2019-09-01maxwell_3d: Fix macro binding cursorReinUsesLisp1-1/+1
2019-07-20Maxwell3D: Reorganize and address feedbackFernando Sahmkow1-2/+2
2019-07-17GL_State: Feedback and fixesFernando Sahmkow1-1/+7
2019-07-17Maxwell3D: Address FeedbackFernando Sahmkow1-3/+3
2019-07-17Maxwell3D: Implement State Dirty Flags.Fernando Sahmkow1-6/+4
2019-07-17Maxwell3D: Rework CBData UploadFernando Sahmkow1-0/+11
2019-07-17Maxwell3D: Rework the dirty system to be more consistant and scaleableFernando Sahmkow1-11/+63
2019-07-17maxwell3d: Implement Conditional RenderingFernando Sahmkow1-1/+44
2019-07-06gl_rasterizer: Minor style changesReinUsesLisp1-0/+1
2019-06-08video_core/engines: Move ConstBufferInfo out of Maxwell3DReinUsesLisp1-7/+1
2019-05-14video_core/engines/maxwell_3d: Add is_trivially_copyable_v check for RegsLioncash1-0/+2
2019-05-03gl_shader_decompiler: Declare all possible varyings on physical attribute usageReinUsesLisp1-0/+1
2019-05-01Refactors and name corrections.Fernando Sahmkow1-1/+1
2019-04-23Add Documentation Headers to all the GPU EnginesFernando Sahmkow1-0/+6
2019-04-23Implement Maxwell3D Data UploadFernando Sahmkow1-1/+18
2019-04-18video_core: Silent -Wswitch warningsReinUsesLisp1-2/+3
2019-04-08Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format.Fernando Sahmkow1-0/+2
2019-04-08Implement Bindless Handling on SetupTextureFernando Sahmkow1-0/+4
2019-04-06Implement SyncPoint Register in the GPU.Fernando Sahmkow1-1/+15
2019-04-06video_core/engines: Make memory manager members privateLioncash1-1/+2
2019-04-06video_core/engines: Remove unnecessary inclusions where applicableLioncash1-1/+4
2019-02-27common/math_util: Move contents into the Common namespaceLioncash1-1/+1
2019-02-26maxwell_3d: Use std::bitset to manage dirty flagsReinUsesLisp1-7/+8
2019-02-16video_core: Remove usages of System::GetInstance() within the enginesLioncash1-1/+8
2019-01-07gl_rasterizer_cache: Use dirty flags for the depth bufferReinUsesLisp1-0/+2
2019-01-07gl_rasterizer_cache: Use dirty flags for color buffersReinUsesLisp1-0/+3
2019-01-07gl_shader_cache: Use dirty flags for shadersReinUsesLisp1-0/+3
2018-12-19Fixed uninitialized memory due to missing returns in canaryDavid Marcec1-0/+2
2018-11-29gl_rasterizer: Enable clip distances when set in register and in shaderReinUsesLisp1-0/+1
2018-11-27gpu: Rewrite GPU command list processing with DmaPusher class.bunnei1-1/+1
2018-11-27Implement depth clampRodolfo Bogado1-1/+9
2018-11-27Add support for Clip Distance enabled registerRodolfo Bogado1-1/+15
2018-11-27GPU States: Implement Polygon Offset. This is used in SMO all the time. (#1784)Marcos1-4/+26
2018-11-25gl_shader_decompiler: Implement S2R's Y_DIRECTIONReinUsesLisp1-0/+1
2018-11-24Add support for viewport_transfom_enable registerRodolfo Bogado1-1/+9
2018-11-24Add support for clear_flags registerRodolfo Bogado1-1/+11
2018-11-22maxwell_3d: Implement alternate blend equations.bunnei1-0/+7
2018-11-17small fix for alphaToOne bit locationRodolfo Bogado1-2/+2
2018-11-17fix for gcc compilationRodolfo Bogado1-60/+61
2018-11-17add AlphaToCoverage and AlphaToOneRodolfo Bogado1-1/+7
2018-11-17add support for fragment_color_clampRodolfo Bogado1-1/+4
2018-11-17fix viewport and scissor behaviorRodolfo Bogado1-10/+16
2018-11-17gl_rasterizer: Skip VB upload if the state is clean.Markus Wick1-0/+5
2018-11-11Try to fix problems with stencil test in some games, relax translation to opengl enums to avoid crashing and only generate logs of the errors.Rodolfo Bogado1-0/+8
2018-11-06gl_rasterizer: Skip VAO binding if the state is clean.Markus Wick1-0/+6
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-3/+20
2018-11-05Implement multi-target viewports and blendingRodolfo Bogado1-2/+12
2018-11-01maxwell_3d: Restructure macro upload to use a single macro code memory.bunnei1-4/+21
2018-10-28Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB supportRodolfo Bogado1-1/+6
2018-10-26gl_rasterizer: Implement primitive restart.bunnei1-1/+9
2018-10-26maxwell_3d: Add code for initializing register defaults.bunnei1-0/+2
2018-10-22Implemented Alpha TestingFernandoS271-1/+3
2018-10-18Implement 3D TexturesFernandoS271-1/+4
2018-10-10Add memory Layout to Render Targets and Depth BuffersFernandoS271-2/+14
2018-10-10Fixed block height settings for RenderTargets and Depth Buffers, and added block width and block depthFernandoS271-2/+10
2018-10-09Assert Scissor testsFernandoS271-1/+16
2018-10-04gl_rasterizer: Implement quads topologyReinUsesLisp1-0/+6
2018-09-28video_core: Implement point_size and add point state syncReinUsesLisp1-1/+6
2018-09-28gl_state: Pack sampler bindings into a single ARB_multi_bindReinUsesLisp1-0/+1
2018-09-26video_core: Add asserts for CS, TFB and alpha testingReinUsesLisp1-2/+10
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-14/+14
2018-09-10gl_rasterizer: Implement multiple color attachments.bunnei1-1/+21
2018-09-05gl_rasterizer: Implement a VAO cache.Markus Wick1-2/+7
2018-08-23maxwell_3d: Update to include additional stencil registers.bunnei1-20/+50
2018-08-21GPU: Added registers for the logicop functionality.Subv1-1/+28
2018-08-18GLRasterizer: Implemented instanced vertex arrays.Subv1-1/+14
2018-08-15Rasterizer: Implemented instanced rendering.Subv1-0/+3
2018-08-12GPU/Maxwell3D: Implemented an alternative set of blend factors.Subv1-0/+21
2018-08-12RasterizerGL: Ignore invalid/unset vertex attributes.Subv1-0/+5
2018-08-08maxwell_3d: Use correct const buffer size and check bounds.bunnei1-1/+1
2018-08-04video_core: Eliminate the g_renderer global variableLioncash1-1/+7
2018-07-22maxwell_3d: Add depth buffer enable, width, and height registers.bunnei1-2/+14
2018-07-21video_core: Use nested namespaces where applicableLioncash1-4/+2
2018-07-17GPU: Added register definitions for the stencil parameters.Subv1-2/+25
2018-07-13gl_rasterizer: Fix check for if a shader stage is enabled.bunnei1-3/+8
2018-07-05GPU: Allow using the old NV04 values for the depth test function.Subv1-9/+21
2018-07-04GPU: Flip the triangle front face winding if the GPU is configured to not flip the triangles.Subv1-3/+19
2018-07-03GPU: Added registers for the CLEAR_BUFFERS and CLEAR_COLOR methods.Subv1-2/+27
2018-07-03GPU: Use only the least significant 3 bits when reading the depth test func.Subv1-9/+9
2018-07-02GPU: Added registers for depth test and cull mode.Subv1-3/+51
2018-07-02GPU: Implemented the Z24S8 depth format and load the depth framebuffer.Subv1-1/+1
2018-07-02GPU: Added register definitions for the vertex buffer base element.Subv1-1/+6
2018-06-27maxwell_3d: Add a struct for RenderTargetConfig.bunnei1-17/+19
2018-06-09GPU: Added registers for normal and independent blending.Subv1-5/+26
2018-06-06GPU: Implement sampling multiple textures in the generated glsl shaders.Subv1-0/+3
2018-06-04GPU: Calculate the correct viewport dimensions based on the scale and translate registers.Subv1-12/+28
2018-04-25GPU: Reduce the number of registers of Maxwell3D to 0xE00.Subv1-2/+2
2018-04-25GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.Subv1-4/+13
2018-04-24GPU: Added asserts to our code for handling the QUERY_GET GPU command.Subv1-1/+27
2018-04-23GPU: Support multiple enabled vertex arrays.Subv1-0/+5
2018-04-18gl_shader_gen: Support vertical/horizontal viewport flipping. (#347)bunnei1-1/+10
2018-04-18renderer_opengl: Implement BlendEquation and BlendFunc.bunnei1-1/+47
2018-04-17gl_rasterizer: Implement indexed vertex mode.bunnei1-1/+43
2018-04-15GPU: Added a function to determine whether a shader stage is enabled or not.Subv1-0/+3
2018-04-14maxwell_3d: Make memory_manager public.bunnei1-2/+1
2018-04-14maxwell_3d: Fix shader_config decodings.bunnei1-6/+3
2018-04-01GPU: Use the MacroInterpreter class to execute the GPU macros instead of HLEing them.Subv1-21/+5
2018-04-01GPU: Implemented a gpu macro interpreter.Subv1-0/+3
2018-03-27gl_rasterizer: Add a SyncViewport method.bunnei1-0/+10
2018-03-27gl_rasterizer: Normalize vertex array data as appropriate.bunnei1-0/+4
2018-03-27maxwell_3d: Use names that match envytools for VertexType.bunnei1-8/+8
2018-03-27maxwell_3d: Add VertexAttribute struct and cleanup.bunnei1-121/+160
2018-03-27gl_rasterizer: Implement AnalyzeVertexArray.bunnei1-0/+35
2018-03-27maxwell: Add RenderTargetFormat enum.bunnei1-3/+4
2018-03-26GPU: Load the sampler info (TSC) when retrieving active textures.Subv1-1/+7
2018-03-24GPU: Added a function to retrieve the active textures for a shader stage.Subv1-6/+10
2018-03-24GPU: Added viewport registers to Maxwell3D's reg structure.Subv1-1/+18
2018-03-23maxwell_3d: Add some format decodings and string helper functions.bunnei1-3/+107
2018-03-21GPU: Added vertex attribute format registers.Subv1-1/+14
2018-03-21GPU: Added registers for the number of vertices to render.Subv1-2/+13
2018-03-19GPU: Added Z buffer registers to Maxwell3D's reg structure.Subv1-1/+17
2018-03-19GPU: Added the render target (RT) registers to Maxwell3D's reg structure.Subv1-1/+32
2018-03-19GPU: Added the TSC registers to the Maxwell3D register structure.Subv1-1/+15
2018-03-19GPU: Added the TIC registers to the Maxwell3D register structure.Subv1-1/+16
2018-03-19GPU: Implement macro 0xE1A BindTextureInfoBuffer in HLE.Subv1-1/+11
2018-03-18GPU: Implement the BindStorageBuffer macro method in HLE.Subv1-1/+15
2018-03-18GPU: Handle writes to the CB_DATA method.Subv1-0/+3
2018-03-18GPU: Store uploaded GPU macros and keep track of the number of method parameters.Subv1-4/+8
2018-03-18GPU: Macros are specific to the Maxwell3D engine, so handle them internally.Subv1-8/+19
2018-03-18GPU: Renamed ShaderType to ShaderStage as that is less confusing.Subv1-7/+7
2018-03-18GPU: Store shader constbuffer bindings in the GPU state.Subv1-3/+25
2018-03-18GPU: Corrected some register offsets and removed superfluous macro registers.Subv1-9/+3
2018-03-18GPU: Make the SetShader macro call do the same as the real macro's code.Subv1-2/+25
2018-03-17GPU: Corrected the parameter documentation for the SetShader macro call.Subv1-6/+6
2018-03-17GPU: Handle the SetShader method call (0xE24) and store the shader config.Subv1-2/+16
2018-03-17GPU: Added the vertex array registers.Subv1-2/+33
2018-03-17GPU: Process command mode 5 (IncreaseOnce) differently from other commands.Subv1-1/+21
2018-03-17GPU: Added Maxwell registers for Shader Program control.Subv1-2/+55
2018-03-05GPU: Intercept writes to the VERTEX_END_GL register.Subv1-1/+9
2018-02-14maxwell_3d: Make constructor explicitLioncash1-1/+1
2018-02-12GPU: Partially implemented the QUERY_* registers in the Maxwell3D engine.Subv1-1/+55
2018-02-12Make a GPU class in VideoCore to contain the GPU state.Subv1-3/+7
2018-02-12GPU: Added a command processor to decode the GPU pushbuffers and forward the commands to their respective engines.Subv1-0/+18