summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_3d.cpp (unfollow)
Commit message (Expand)AuthorFilesLines
2022-12-08video_core: Implement maxwell3d draw manager and split draw logicFeng Chen1-161/+10
2022-12-01video_core: Fine tuning the index drawing judgment logicFeng Chen1-27/+21
2022-11-30Respect render mode overrideKelebek11-29/+39
2022-11-29engines: Remove unnecessary castsLioncash1-6/+6
2022-11-24GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation.Fernando Sahmkow1-7/+1
2022-11-22video_core: Optimize maxwell drawing trigger mechanismFengChen1-59/+57
2022-11-17maxwell3d: full HLE for multi-layer clearsLiam1-3/+3
2022-11-11Fix regs regression with OpenGL two-sided stencil, and re-add data invalidation regKelebek11-0/+5
2022-10-31video_core: Fix drawing trigger mechanism regressionFengChen1-32/+25
2022-10-27video_core: Fix drawing trigger mechanism regressionFengChen1-61/+68
2022-10-22video_core: Implement maxwell inline_index methodFengChen1-66/+94
2022-10-21video_coare: Reimplementing the maxwell drawing trigger mechanismFengChen1-151/+106
2022-10-19Maxwell3D/Puller: Fix regressions and syncing issues.Fernando Sahmkow1-10/+7
2022-10-10Fix stencil func registers, make clip control equivalent to how it was before, but surely wrong.Kelebek11-4/+4
2022-10-07Update 3D regsKelebek11-164/+172
2022-10-06NVDRV: Further improvements.Fernando Sahmkow1-13/+5
2022-10-06DMA & InlineToMemory Engines Rework.bunnei1-2/+3
2022-10-06Maxwell3D: Add small_index_2Fernando Sahmkow1-0/+2
2022-10-06VideoCore: Refactor fencing system.Fernando Sahmkow1-3/+21
2022-06-02Maxwell3D: Fix 3D semaphore counter type 0 handlingBilly Laws1-2/+2
2022-05-10video_core/macro: clear code on upload address assignmentLiam1-0/+2
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
2022-04-14maxwell3d: add small_index_2 registerLiam1-0/+5
2022-03-15maxwell_3d: Implement a safer CB data uploadameerj1-56/+11
2022-03-14Maxwell3D: restore original topology when topology overrides are disabledbyte[]1-0/+2
2022-03-14Maxwell3D: Use override constants from nouveauLiam1-1/+22
2022-03-12Maxwell3D: Restrict topology override effect to after the register is setLiam1-1/+4
2022-03-11Maxwell3D: mark index buffers as dirty after updating countsLiam1-0/+2
2022-03-11Maxwell3D: read small-index draw and primitive topology override registersLiam1-0/+14
2022-01-29Rasterizer: Implement Inline2Memory Acceleration.Fernando Sahmkow1-0/+1
2022-01-25video_core/macro: Remove unused parameter from Execute()Lioncash1-1/+1
2021-07-23shader: Unify shader stage typesReinUsesLisp1-1/+0
2021-07-23shader: Remove old shader managementReinUsesLisp1-38/+0
2021-06-01buffer_cache: Simplify uniform disabling logicameerj1-2/+6
2021-02-13video_core: Reimplement the buffer cacheReinUsesLisp1-9/+8
2021-02-13gpu: Report renderer errors with exceptionsReinUsesLisp1-2/+2
2021-01-24maxwell_3d: Silence array bounds warningsReinUsesLisp1-34/+34
2020-12-30video_core: Rewrite the texture cacheReinUsesLisp1-33/+12
2020-12-07video_core: Remove unnecessary enum class casting in logging messagesLioncash1-6/+5
2020-11-11maxwell_3d: Use insert instead of loop push_backReinUsesLisp1-3/+1
2020-11-11maxwell_3d: Move code to separate functionsReinUsesLisp1-151/+116
2020-09-22General: Make use of std::nullopt where applicableLioncash1-1/+1
2020-08-22video_core: Initialize renderer with a GPUReinUsesLisp1-15/+20
2020-06-24Macro HLE supportDavid Marcec1-1/+1
2020-06-05shader/texture: Join separate image and sampler pairs offlineReinUsesLisp1-1/+4
2020-06-04Default init labels and use initializer list for macro engineDavid Marcec1-1/+1
2020-06-03Mark parameters as constDavid Marcec1-1/+1
2020-06-02Pass by reference instead of copying parametersDavid Marcec1-4/+6
2020-05-30Implement macro JITDavid Marcec1-12/+7
2020-05-28maxwell_3d: Reduce severity of logs that can be spammedReinUsesLisp1-6/+7
2020-05-27maxwell_3d: Initialize line widthsReinUsesLisp1-0/+2
2020-05-27maxwell_3d: Initialize polygon modesReinUsesLisp1-0/+2
2020-05-04maxwell_3d: Add viewport swizzlesReinUsesLisp1-0/+6
2020-04-28{maxwell_3d,buffer_cache}: Implement memory barriers using 3D registersReinUsesLisp1-0/+4
2020-04-28VideoCore/Engines: Refactor Engines CallMethod.Fernando Sahmkow1-16/+12
2020-04-23Maxwell3D: Process Macros on MultiMethod.Fernando Sahmkow1-25/+47
2020-04-23DMAPusher: Propagate multimethod writes into the engines.Fernando Sahmkow1-0/+52
2020-04-22FenceManager: Manage syncpoints and rename fences to semaphores.Fernando Sahmkow1-2/+2
2020-04-22Rasterizer: Document SignalFence & ReleaseFences and setup skeletons on Vulkan.Fernando Sahmkow1-1/+0
2020-04-22GPU: Fix rebase errors.Fernando Sahmkow1-4/+3
2020-04-22OpenGL: Implement Fencing backend.Fernando Sahmkow1-11/+5
2020-04-22GPU: Delay Fences.Fernando Sahmkow1-1/+9
2020-04-22GPU: Refactor synchronization on Async GPUFernando Sahmkow1-2/+6
2020-04-17maxwell_3d: Initialize format attributes constant as oneReinUsesLisp1-0/+4
2020-03-22apply replay logic to all writes. remove replay from MacroInterpreter::Send (@fincs)namkazy1-6/+9
2020-03-22maxwell_3d: init shadow_statenamkazy1-0/+2
2020-03-22maxwell_3d: this seem more correct.namkazy1-2/+2
2020-03-22maxwell_3d: update comments for shadow ram usagenamkazy1-1/+1
2020-03-22maxwell_3d: track shadow ram ctrl and hw reg valueNguyen Dac Nam1-0/+10
2020-03-09const_buffer_engine_interface: Store component typesReinUsesLisp1-1/+1
2020-02-28maxwell_3d: Flatten cull and front face registersReinUsesLisp1-3/+3
2020-02-28video_core: Reintroduce dirty flags infrastructureReinUsesLisp1-1/+13
2020-02-28gl_rasterizer: Remove dirty flagsReinUsesLisp1-180/+1
2020-02-14maxwell_3d: Unify draw methodsReinUsesLisp1-2/+2
2020-02-14gl_query_cache: Optimize query cacheReinUsesLisp1-3/+8
2020-02-14gl_query_cache: Implement host queries using a deferred cacheReinUsesLisp1-18/+23
2020-02-14maxwell_3d: Slow implementation of passed samples (query 21)ReinUsesLisp1-13/+26
2020-02-13GPU: Address Feedback.Fernando Sahmkow1-5/+2
2020-02-10GPU: Implement GPU Clock correctly.Fernando Sahmkow1-1/+2
2020-02-10Maxwell3D: Correct query reporting.Fernando Sahmkow1-44/+49
2020-01-24Shader_IR: Allow constant access of guest driver.Fernando Sahmkow1-0/+4
2020-01-24GPU: Implement guest driver profile and deduce texture handler sizes.Fernando Sahmkow1-0/+4
2020-01-18vk_graphics_pipeline: Set front facing properlyReinUsesLisp1-0/+1
2020-01-03yuzu: Remove Maxwell debuggerReinUsesLisp1-31/+0
2019-12-18gl_rasterizer: Implement RASTERIZE_ENABLEReinUsesLisp1-3/+3
2019-11-23video_core: Unify ProgramType and ShaderStage into ShaderTypeReinUsesLisp1-16/+17
2019-11-15texture_cache: Use a table instead of switch for texture formatsReinUsesLisp1-8/+0
2019-11-08video_core: Silence implicit conversion warningsReinUsesLisp1-1/+2
2019-10-28maxwell_3d/kepler_compute: Remove unused arguments in GetTextureReinUsesLisp1-17/+4
2019-10-28video_core/textures: Remove unused index entry in FullTextureInfoReinUsesLisp1-1/+0
2019-10-28maxwell_3d: Remove unused method GetStageTexturesReinUsesLisp1-39/+0
2019-10-27maxwell_3d: Silence implicit conversion warningsReinUsesLisp1-24/+23
2019-10-25Shader_IR: allow lookup of texture samplers within the shader_ir for instructions that don't provide itFernando Sahmkow1-0/+18
2019-10-25VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.Fernando Sahmkow1-1/+2
2019-10-20maxwell_3d: Reduce FlushMMEInlineDraw logging to TraceReinUsesLisp1-1/+1
2019-10-15maxwell_3d: Silence truncation warningsLioncash1-1/+2
2019-10-05maxwell_3d: Add dirty flags for depth bounds valuesReinUsesLisp1-0/+5
2019-09-22Maxwell3D: Corrections and refactors to MME instance refactorFernando Sahmkow1-31/+38
2019-09-21Mark DrawArrays as LOG_TRACEDavid Marcec1-1/+1
2019-09-19Rasterizer: Refactor and simplify DrawBatch Interface.Fernando Sahmkow1-2/+2
2019-09-19VideoCore: Corrections to the MME Inliner and removal of hacky instance management.Fernando Sahmkow1-8/+27
2019-09-19Video Core: initial Implementation of InstanceDraw PackagingFernando Sahmkow1-0/+74
2019-09-15maxwell_3d: Update firmware 4 call stub commentaryRodrigo Locatti1-1/+2
2019-09-11renderer_opengl: Fix sRGB blitsReinUsesLisp1-0/+3
2019-09-04Revert "Revert #2466" and stub FirmwareCall 4ReinUsesLisp1-0/+11
2019-09-04maxwell_3d: Avoid moving macro_paramsReinUsesLisp1-3/+4
2019-09-01maxwell_3d: Fix macro binding cursorReinUsesLisp1-9/+3
2019-08-30video_core: Silent miscellaneous warnings (#2820)Rodrigo Locatti1-5/+5
2019-07-20Maxwell3D: Reorganize and address feedbackFernando Sahmkow1-0/+4
2019-07-17Maxwell3D: Address FeedbackFernando Sahmkow1-10/+7
2019-07-17GL_Rasterizer: Corrections to Clearing.Fernando Sahmkow1-1/+1
2019-07-17Maxwell3D: Correct marking dirtiness on CB uploadFernando Sahmkow1-0/+1
2019-07-17GL_Rasterizer: Rework RenderTarget/DepthBuffer clearingFernando Sahmkow1-1/+0
2019-07-17Maxwell3D: Implement State Dirty Flags.Fernando Sahmkow1-0/+82
2019-07-17Maxwell3D: Rework CBData UploadFernando Sahmkow1-8/+34
2019-07-17Maxwell3D: Rework the dirty system to be more consistant and scaleableFernando Sahmkow1-47/+89
2019-07-17maxwell3d: Implement Conditional RenderingFernando Sahmkow1-0/+44
2019-07-05video_core: Implement GPU side SyncpointsFernando Sahmkow1-2/+3
2019-06-21maxwell_3d: Partially implement texture buffers as 1D texturesReinUsesLisp1-8/+4
2019-06-08video_core/engines: Move ConstBufferInfo out of Maxwell3DReinUsesLisp1-3/+1
2019-05-14maxwell_3d: reduce sevirity of different component formats assert.Fernando Sahmkow1-1/+1
2019-05-14video_core/engines/maxwell3d: Get rid of three magic values in CallMethod()Lioncash1-3/+3
2019-05-14video_core/engines/maxwell_3d: Simplify for loops into ranged for loops within InitializeRegisterDefaults()Lioncash1-15/+15
2019-04-23Corrections and stylingFernando Sahmkow1-1/+1
2019-04-23Implement Maxwell3D Data UploadFernando Sahmkow1-2/+14
2019-04-16Use ReadBlockUnsafe on TIC and TSC readingFernando Sahmkow1-2/+2
2019-04-08Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format.Fernando Sahmkow1-2/+10
2019-04-08Implement Bindless Handling on SetupTextureFernando Sahmkow1-13/+18
2019-04-06maxwell_3d: Reduce severity of ProcessSyncPointReinUsesLisp1-2/+2
2019-04-06Implement SyncPoint Register in the GPU.Fernando Sahmkow1-0/+12
2019-04-06video_core/engines: Make memory manager members privateLioncash1-2/+2
2019-04-06video_core/engines: Remove unnecessary inclusions where applicableLioncash1-2/+1
2019-03-21gpu: Rewrite virtual memory manager using PageTable.bunnei1-4/+4
2019-03-16video_core: Refactor to use MemoryManager interface for all memory access.bunnei1-29/+12
2019-03-15gpu: Use host address for caching instead of guest address.bunnei1-1/+4
2019-02-26maxwell_3d: Use std::bitset to manage dirty flagsReinUsesLisp1-34/+32
2019-02-16video_core: Remove usages of System::GetInstance() within the enginesLioncash1-5/+7
2019-02-16core_timing: Convert core timing into a classLioncash1-1/+1
2019-02-12core_timing: Rename CoreTiming namespace to Core::TimingLioncash1-1/+1
2019-02-03video_core: Assert on invalid GPU to CPU address queriesReinUsesLisp1-19/+27
2019-02-03maxwell_3d: Allow sampler handles with TSC id zeroReinUsesLisp1-10/+6
2019-02-03maxwell_3d: Allow texture handles with TIC id zeroReinUsesLisp1-16/+7
2019-01-22maxwell_3d: Set rt_separate_frag_data to 1 by defaultReinUsesLisp1-0/+5
2019-01-07gl_rasterizer_cache: Use dirty flags for the depth bufferReinUsesLisp1-0/+10
2019-01-07gl_rasterizer_cache: Use dirty flags for color buffersReinUsesLisp1-0/+9
2019-01-07gl_shader_cache: Use dirty flags for shadersReinUsesLisp1-0/+8
2018-11-27gpu: Rewrite GPU command list processing with DmaPusher class.bunnei1-25/+28
2018-11-21maxwell_3d: Initialize rasterizer color mask registers as enabled.bunnei1-0/+9
2018-11-17set default value for point size registerRodolfo Bogado1-0/+3
2018-11-17fix viewport and scissor behaviorRodolfo Bogado1-2/+2
2018-11-17gl_rasterizer: Skip VB upload if the state is clean.Markus Wick1-0/+16
2018-11-13gl_rasterizer: Minor cleanupFrederic L1-4/+2
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/+13
2018-11-06gl_rasterizer: Skip VAO binding if the state is clean.Markus Wick1-0/+8
2018-11-05Implement multi-target viewports and blendingRodolfo Bogado1-0/+16
2018-11-01maxwell_3d: Restructure macro upload to use a single macro code memory.bunnei1-8/+18
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L1-5/+5
2018-10-26maxwell_3d: Add code for initializing register defaults.bunnei1-1/+19
2018-10-24maxwell_3d: Remove unused variable within ProcessQueryGet()Lioncash1-1/+0
2018-10-20engines/maxwell_*: Use nested namespace specifiers where applicableLioncash1-4/+2
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-6/+7
2018-09-10rasterizer: Drop unused handler.Markus Wick1-2/+0
2018-09-08maxwell_3d: Remove assert that no longer applies.bunnei1-4/+0
2018-09-01maxwell_3d: Use CoreTiming for query timestampZach Hilman1-2/+3
2018-08-31core/core: Replace includes with forward declarations where applicableLioncash1-2/+1
2018-08-25maxwell3d: Move FinishedPrimitiveBatch event after AcceleratedDrawBatch()Lioncash1-4/+4
2018-08-15Rasterizer: Implemented instanced rendering.Subv1-0/+12
2018-08-09maxwell_3d: Ignore macros that have not been uploaded yet.bunnei1-4/+9
2018-08-08maxwell_3d: Use correct const buffer size and check bounds.bunnei1-0/+2
2018-08-06maxwell_3d: Remove outdated assert.bunnei1-2/+0
2018-08-04video_core: Eliminate the g_renderer global variableLioncash1-5/+5
2018-07-24GPU: Remove the assert that required the CODE_ADDRESS to be 0.Subv1-8/+0
2018-07-20maxwell_3d: Remove unused variable within GetStageTextures()Lioncash1-2/+0
2018-07-13gl_rasterizer: Fix check for if a shader stage is enabled.bunnei1-21/+0
2018-07-03GPU: Support clears that don't clear the color buffer.Subv1-2/+3
2018-07-03GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.Subv1-0/+11
2018-07-03Update clang formatJames Rowe1-2/+2
2018-07-03Rename logging macro back to LOG_*James Rowe1-1/+1
2018-06-20Build: Fixed some MSVC warnings in various parts of the code.Subv1-2/+3
2018-06-06GPU: Implement sampling multiple textures in the generated glsl shaders.Subv1-0/+34
2018-06-04GPU: Partial implementation of long GPU queries.Subv1-9/+24
2018-04-29maxwell_3d: Reset vertex counts after drawing.bunnei1-0/+10
2018-04-27general: Convert assertion macros over to be fmt-compatibleLioncash1-2/+2
2018-04-25GPU: Reduce the number of registers of Maxwell3D to 0xE00.Subv1-3/+3
2018-04-25GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.Subv1-4/+10
2018-04-25video-core: Move logging macros over to new fmt-capable onesLioncash1-2/+2
2018-04-24memory_manager: Make GpuToCpuAddress return an optional.bunnei1-10/+11
2018-04-24memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.bunnei1-6/+5
2018-04-24GPU: Added asserts to our code for handling the QUERY_GET GPU command.Subv1-1/+26
2018-04-18GPU: Pitch textures are now supported, don't assert when encountering them.Subv1-2/+3
2018-04-18maxwell3d: Allow Texture2DNoMipmap as Texture2D.bunnei1-1/+2
2018-04-18renderer_opengl: Implement BlendEquation and BlendFunc.bunnei1-3/+1
2018-04-17gl_rasterizer: Implement indexed vertex mode.bunnei1-1/+3
2018-04-15GPU: Added a function to determine whether a shader stage is enabled or not.Subv1-0/+21
2018-04-07GPU: Assert when finding a texture with a format type other than UNORM.Subv1-0/+2
2018-04-01GPU: Use the MacroInterpreter class to execute the GPU macros instead of HLEing them.Subv1-100/+8
2018-04-01GPU: Implemented a gpu macro interpreter.Subv1-0/+5
2018-03-27Maxwell3D: Call AccelerateDrawBatch on DrawArrays.bunnei1-1/+8
2018-03-26GPU: Load the sampler info (TSC) when retrieving active textures.Subv1-20/+60
2018-03-25GPU: Make the debug_context variable a member of the frontend instead of a global.Subv1-11/+13
2018-03-24GPU: Added a function to retrieve the active textures for a shader stage.Subv1-44/+49
2018-03-24GPU: Implement the Incoming/FinishedPrimitiveBatch debug breakpoints.Subv1-0/+7
2018-03-24GPU: Implement the MaxwellCommandLoaded/Processed debug breakpoints.Subv1-0/+10
2018-03-24GPU: Added a method to unswizzle a texture without decoding it.Subv1-1/+1
2018-03-24GPU: Preliminary work for texture decoding.Subv1-0/+45
2018-03-19Clang FixesN00byKing1-1/+2
2018-03-19Clean Warnings (?)N00byKing1-1/+1
2018-03-19GPU: Implement macro 0xE1A BindTextureInfoBuffer in HLE.Subv1-0/+18
2018-03-18GPU: Implement the BindStorageBuffer macro method in HLE.Subv1-0/+21
2018-03-18GPU: Handle writes to the CB_DATA method.Subv1-0/+36
2018-03-18GPU: Store uploaded GPU macros and keep track of the number of method parameters.Subv1-7/+16
2018-03-18GPU: Macros are specific to the Maxwell3D engine, so handle them internally.Subv1-5/+36
2018-03-18GPU: Renamed ShaderType to ShaderStage as that is less confusing.Subv1-12/+12
2018-03-18GPU: Store shader constbuffer bindings in the GPU state.Subv1-2/+36
2018-03-18GPU: Make the SetShader macro call do the same as the real macro's code.Subv1-1/+19
2018-03-17GPU: Corrected the parameter documentation for the SetShader macro call.Subv1-5/+6
2018-03-17GPU: Handle the SetShader method call (0xE24) and store the shader config.Subv1-2/+22
2018-03-17GPU: Process command mode 5 (IncreaseOnce) differently from other commands.Subv1-0/+17
2018-03-17GPU: Assert that we get a 0 CODE_ADDRESS register in the 3D engine.Subv1-0/+8
2018-03-05GPU: Intercept writes to the VERTEX_END_GL register.Subv1-0/+9
2018-02-12GPU: Partially implemented the QUERY_* registers in the Maxwell3D engine.Subv1-1/+39
2018-02-12Make a GPU class in VideoCore to contain the GPU state.Subv1-3/+1
2018-02-12GPU: Added a command processor to decode the GPU pushbuffers and forward the commands to their respective engines.Subv1-0/+15