| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-04-15 | Merge pull request #3612 from ReinUsesLisp/red | Fernando Sahmkow | |
| shader/memory: Implement RED.E.ADD and minor changes to ATOM | |||
| 2020-04-15 | Merge pull request #3662 from ReinUsesLisp/constant-attrs | Mat M | |
| gl_rasterizer: Implement constant vertex attributes | |||
| 2020-04-14 | shader/arithmetic: Add FCMP_CR variant | ReinUsesLisp | |
| Adds another variant of FCMP. | |||
| 2020-04-14 | gl_rasterizer: Implement constant vertex attributes | ReinUsesLisp | |
| Credits go to gdkchan from Ryujinx for finding constant attributes are used in retail games. | |||
| 2020-04-13 | gl_rasterizer: Implement line widths and smooth lines | ReinUsesLisp | |
| Implements "legacy" features from OpenGL present on hardware such as smooth lines and line width. | |||
| 2020-04-12 | Merge pull request #3578 from ReinUsesLisp/vmnmx | Fernando Sahmkow | |
| shader/video: Partially implement VMNMX | |||
| 2020-04-12 | shader/video: Partially implement VMNMX | ReinUsesLisp | |
| Implements the common usages for VMNMX. Inputs with a different size than 32 bits are not supported and sign mismatches aren't supported either. VMNMX works as follows: It grabs Ra and Rb and applies a maximum/minimum on them (this is defined by .MX), having in mind the input sign. This result can then be saturated. After the intermediate result is calculated, it applies another operation on it using Rc. These operations are merges, accumulations or another min/max pass. This instruction allows to implement with a more flexible approach GCN's min3 and max3 instructions (for instance). | |||
| 2020-04-12 | video_core: Add MSAA registers in 3D engine and TIC | ReinUsesLisp | |
| This adds the registers used for multisampling. It doesn't implement anything for now. | |||
| 2020-04-09 | Merge pull request #3601 from ReinUsesLisp/some-shader-encodings | bunnei | |
| video_core/shader: Add some instruction and S2R encodings | |||
| 2020-04-06 | shader/memory: Implement RED.E.ADD | ReinUsesLisp | |
| Implements a reduction operation. It's an atomic operation that doesn't return a value. This commit introduces another primitive because some shading languages might have a primitive for reduction operations. | |||
| 2020-04-04 | shader_bytecode: Rename MOV_SYS to S2R | ReinUsesLisp | |
| 2020-04-04 | shader_bytecode: Add encoding for BAR | ReinUsesLisp | |
| 2020-04-04 | shader_bytecode: Add encoding for VOTE.VTG | ReinUsesLisp | |
| 2020-04-01 | shader_decompiler: Remove FragCoord.w hack and change IPA implementation | ReinUsesLisp | |
| Credits go to gdkchan and Ryujinx. The pull request used for this can be found here: https://github.com/Ryujinx/Ryujinx/pull/1082 yuzu was already using the header for interpolation, but it was missing the FragCoord.w multiplication described in the linked pull request. This commit finally removes the FragCoord.w == 1.0f hack from the shader decompiler. While we are at it, this commit renames some enumerations to match Nvidia's documentation (linked below) and fixes component declaration order in the shader program header (z and w were swapped). https://github.com/NVIDIA/open-gpu-doc/blob/master/Shader-Program-Header/Shader-Program-Header.html | |||
| 2020-03-30 | shader_decode: merge GlobalAtomicOp to AtomicOp | namkazy | |
| 2020-03-28 | shader_bytecode: Fix I2I_IMM encoding | ReinUsesLisp | |
| 2020-03-27 | engines/const_buffer_engine_interface: Store image format type | ReinUsesLisp | |
| This information is required to properly implement SULD.B. It might also be handy for all image operations, since it would allow us to implement them on devices that require the image format to be specified (on desktop, this would be AMD on OpenGL and Intel on OpenGL and Vulkan). | |||
| 2020-03-25 | Merge pull request #3520 from ReinUsesLisp/legacy-varyings | bunnei | |
| gl_shader_decompiler: Implement legacy varyings | |||
| 2020-03-22 | apply replay logic to all writes. remove replay from MacroInterpreter::Send ↵ | namkazy | |
| (@fincs) | |||
| 2020-03-22 | maxwell_3d: change declaration order | namkazy | |
| 2020-03-22 | maxwell_3d: init shadow_state | namkazy | |
| 2020-03-22 | maxwell_3d: this seem more correct. | namkazy | |
| 2020-03-22 | maxwell_3d: update comments for shadow ram usage | namkazy | |
| 2020-03-22 | maxwell_3d: track shadow ram ctrl and hw reg value | Nguyen Dac Nam | |
| 2020-03-22 | maxwell_3d: implement MME shadow RAM | Nguyen Dac Nam | |
| 2020-03-18 | kepler_compute: Remove unused variables | ReinUsesLisp | |
| 2020-03-15 | Merge pull request #3502 from namkazt/patch-3 | Rodrigo Locatti | |
| shader_decode: Reimplement BFE instructions | |||
| 2020-03-15 | shader/shader_ir: Track usage in input attribute and of legacy varyings | ReinUsesLisp | |
| 2020-03-13 | maxwell_3d: Add padding words to XFB entries | ReinUsesLisp | |
| Use INSERT_UNION_PADDING_WORDS instead of alignas to ensure a size requirement. | |||
| 2020-03-13 | gl_rasterizer: Implement transform feedback bindings | ReinUsesLisp | |
| 2020-03-13 | Merge branch 'master' into shader-purge | Rodrigo Locatti | |
| 2020-03-13 | shader_bytecode: update BFE instructions struct. | Nguyen Dac Nam | |
| 2020-03-09 | gl_rasterizer: Implement polygon modes and fill rectangles | ReinUsesLisp | |
| 2020-03-09 | engines/maxwell_3d: Add TFB registers and store them in shader registry | ReinUsesLisp | |
| 2020-03-09 | const_buffer_engine_interface: Store component types | ReinUsesLisp | |
| This is required for Vulkan. Sampling integer textures with float handles is illegal. | |||
| 2020-02-28 | state_tracker: Remove type traits with named structures | ReinUsesLisp | |
| 2020-02-28 | maxwell_3d: Use two tables instead of three for dirty flags | ReinUsesLisp | |
| 2020-02-28 | maxwell_3d: Change write dirty flags to a bitset | ReinUsesLisp | |
| 2020-02-28 | maxwell_3d: Flatten cull and front face registers | ReinUsesLisp | |
| 2020-02-28 | video_core: Reintroduce dirty flags infrastructure | ReinUsesLisp | |
| 2020-02-28 | gl_state: Remove clip distances tracking | ReinUsesLisp | |
| 2020-02-28 | gl_state: Remove viewport and depth range tracking | ReinUsesLisp | |
| 2020-02-28 | gl_rasterizer: Remove dirty flags | ReinUsesLisp | |
| 2020-02-24 | Merge pull request #3425 from ReinUsesLisp/layered-framebuffer | bunnei | |
| texture_cache: Implement layered framebuffer attachments | |||
| 2020-02-19 | Merge pull request #3414 from ReinUsesLisp/maxwell-3d-draw | bunnei | |
| maxwell_3d: Unify draw methods | |||
| 2020-02-18 | Merge pull request #3409 from ReinUsesLisp/host-queries | Fernando Sahmkow | |
| query_cache: Implement a query cache and query 21 (samples passed) | |||
| 2020-02-16 | texture_cache: Implement layered framebuffer attachments | ReinUsesLisp | |
| 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-14 | maxwell_3d: Unify draw methods | ReinUsesLisp | |
| Pass instanced state of a draw invocation as an argument instead of having two separate virtual methods. | |||
| 2020-02-14 | gl_query_cache: Optimize query cache | ReinUsesLisp | |
| Use a custom cache instead of relying on a ranged cache. | |||
| 2020-02-14 | gl_query_cache: Implement host queries using a deferred cache | ReinUsesLisp | |
| 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. | |||
