aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/engines
AgeCommit message (Collapse)Author
2020-03-13maxwell_3d: Add padding words to XFB entriesReinUsesLisp
Use INSERT_UNION_PADDING_WORDS instead of alignas to ensure a size requirement.
2020-03-13gl_rasterizer: Implement transform feedback bindingsReinUsesLisp
2020-03-13Merge branch 'master' into shader-purgeRodrigo Locatti
2020-03-09gl_rasterizer: Implement polygon modes and fill rectanglesReinUsesLisp
2020-03-09engines/maxwell_3d: Add TFB registers and store them in shader registryReinUsesLisp
2020-03-09const_buffer_engine_interface: Store component typesReinUsesLisp
This is required for Vulkan. Sampling integer textures with float handles is illegal.
2020-02-28state_tracker: Remove type traits with named structuresReinUsesLisp
2020-02-28maxwell_3d: Use two tables instead of three for dirty flagsReinUsesLisp
2020-02-28maxwell_3d: Change write dirty flags to a bitsetReinUsesLisp
2020-02-28maxwell_3d: Flatten cull and front face registersReinUsesLisp
2020-02-28video_core: Reintroduce dirty flags infrastructureReinUsesLisp
2020-02-28gl_state: Remove clip distances trackingReinUsesLisp
2020-02-28gl_state: Remove viewport and depth range trackingReinUsesLisp
2020-02-28gl_rasterizer: Remove dirty flagsReinUsesLisp
2020-02-24Merge pull request #3425 from ReinUsesLisp/layered-framebufferbunnei
texture_cache: Implement layered framebuffer attachments
2020-02-19Merge pull request #3414 from ReinUsesLisp/maxwell-3d-drawbunnei
maxwell_3d: Unify draw methods
2020-02-18Merge pull request #3409 from ReinUsesLisp/host-queriesFernando Sahmkow
query_cache: Implement a query cache and query 21 (samples passed)
2020-02-16texture_cache: Implement layered framebuffer attachmentsReinUsesLisp
Layered framebuffer attachments is a feature that allows applications to write attach layered textures to a single attachment. What layer the fragments are written to is decided from the shader using gl_Layer.
2020-02-14maxwell_3d: Unify draw methodsReinUsesLisp
Pass instanced state of a draw invocation as an argument instead of having two separate virtual methods.
2020-02-14gl_query_cache: Optimize query cacheReinUsesLisp
Use a custom cache instead of relying on a ranged cache.
2020-02-14gl_query_cache: Implement host queries using a deferred cacheReinUsesLisp
Instead of waiting immediately for executed commands, defer the query until the guest CPU reads it. This way we get closer to what the guest program is doing. To archive this we have to build a dependency queue, because host APIs (like OpenGL and Vulkan) use ranged queries instead of counters like NVN. Waiting for queries implicitly uses fences and this requires a command being queued, otherwise the driver will lock waiting until a timeout. To fix this when there are no commands queued, we explicitly call glFlush.
2020-02-14maxwell_3d: Slow implementation of passed samples (query 21)ReinUsesLisp
Implements GL_SAMPLES_PASSED by waiting immediately for queries.
2020-02-14Merge pull request #3379 from ReinUsesLisp/cbuf-offsetbunnei
shader/decode: Fix constant buffer offsets
2020-02-13Merge pull request #3395 from FernandoS27/queriesbunnei
GPU: Refactor queries implementation and correct GPU Clock.
2020-02-13GPU: Address Feedback.Fernando Sahmkow
2020-02-11Merge pull request #3376 from ReinUsesLisp/point-spritebunnei
gl_rasterizer: Implement GL_POINT_SPRITE
2020-02-10GPU: Implement GPU Clock correctly.Fernando Sahmkow
2020-02-10Maxwell3D: Correct query reporting.Fernando Sahmkow
2020-02-09Merge pull request #3372 from ReinUsesLisp/fix-back-stencilbunnei
maxwell_3d: Fix stencil back mask
2020-02-07Merge pull request #3369 from ReinUsesLisp/shfbunnei
shader/shift: Implement SHF
2020-02-05shader/decode: Fix constant buffer offsetsReinUsesLisp
Some instances were using cbuf34.offset instead of cbuf34.GetOffset(). This returned the an invalid offset. Address those instances and rename offset to "shifted_offset" to avoid future bugs.
2020-02-04Merge pull request #3357 from ReinUsesLisp/bfi-rcbunnei
shader/bfi: Implement register-constant buffer variant
2020-02-04gl_rasterizer: Implement GL_POINT_SPRITEReinUsesLisp
OpenGL core defaults to GL_POINT_SPRITE, meanwhile on OpenGL compatibility we have to explicitly enable it. This fixes gl_PointCoord's behaviour.
2020-02-04Merge pull request #3356 from ReinUsesLisp/fcmpbunnei
shader/arithmetic: Implement FCMP
2020-02-02maxwell_3d: Fix stencil back maskReinUsesLisp
2020-02-01Merge pull request #3282 from FernandoS27/indexed-samplersbunnei
Partially implement Indexed samplers in general and specific code in GLSL
2020-02-01shader/shift: Implement SHF_LEFT_{IMM,R}ReinUsesLisp
Shifts a pair of registers to the left and returns the high register.
2020-01-27shader/bfi: Implement register-constant buffer variantReinUsesLisp
It's the same as the variant that was implemented, but it takes the operands from another source.
2020-01-27shader/arithmetic: Implement FCMPReinUsesLisp
Compares the third operand with zero, then selects between the first and second.
2020-01-26shader/memory: Implement ATOM.ADDReinUsesLisp
ATOM operates atomically on global memory. For now only add ATOM.ADD since that's what was found in commercial games. This asserts for ATOM.ADD.S32 (handling the others as unimplemented), although ATOM.ADD.U32 shouldn't be any different. This change forces us to change the default type on SPIR-V storage buffers from float to uint. We could also alias the buffers, but it's simpler for now to just use uint. While we are at it, abstract the code to avoid repetition.
2020-01-24Shader_IR: Allow constant access of guest driver.Fernando Sahmkow
2020-01-24GPU: Implement guest driver profile and deduce texture handler sizes.Fernando Sahmkow
2020-01-19Merge pull request #3322 from ReinUsesLisp/vk-front-facebunnei
vk_graphics_pipeline: Set front facing properly
2020-01-18vk_graphics_pipeline: Set front facing properlyReinUsesLisp
Front face was being forced to a certain value when cull face is disabled. Set a default value on initialization and drop the forcefully set front facing value with culling disabled.
2020-01-18Merge pull request #3305 from ReinUsesLisp/point-size-programbunnei
gl_state: Implement PROGRAM_POINT_SIZE
2020-01-16shader/memory: Implement ATOMS.ADD.U32ReinUsesLisp
2020-01-16maxwell_3d: Make dirty_pointers privateLioncash
This isn't used outside of the class itself, so we can make it private for the time being.
2020-01-15gl_state: Implement PROGRAM_POINT_SIZEReinUsesLisp
For gl_PointSize to have effect we have to activate GL_PROGRAM_POINT_SIZE.
2020-01-02yuzu: Remove Maxwell debuggerReinUsesLisp
This was carried from Citra and wasn't really used on yuzu. It also adds some runtime overhead. This commit removes it from yuzu's codebase.
2019-12-31Merge pull request #3239 from ReinUsesLisp/p2rbunnei
shader/p2r: Implement P2R Pr