aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader
AgeCommit message (Collapse)Author
2019-10-05video_core/control_flow: Eliminate variable shadowing warningsLioncash
2019-10-05video_core/control_flow: Eliminate pessimizing movesLioncash
These can inhibit the ability of a compiler to perform RVO.
2019-10-05video_core/ast: Unindent most of IsFullyDecompiled() by one levelLioncash
2019-10-05video_core/ast: Make ShowCurrentState() take a string_view instead of ↵Lioncash
std::string Allows the function to be non-allocating in terms of the output string.
2019-10-05video_core/ast: Eliminate variable shadowing warningsLioncash
2019-10-05video_core/ast: Replace std::string with a constexpr std::string_viewLioncash
Same behavior, but without the need to heap allocate
2019-10-05video_core/ast: Default the move constructor and assignment operatorLioncash
This is behaviorally equivalent and also fixes a bug where some members weren't being moved over.
2019-10-05video_core/{ast, expr}: Organize forward declarationLioncash
Keeps them alphabetically sorted for readability.
2019-10-05video_core/expr: Supply operator!= along with operator==Lioncash
Provides logical symmetry to the interface.
2019-10-05video_core/{ast, expr}: Use std::move where applicableLioncash
Avoids unnecessary atomic reference count increments and decrements.
2019-10-05video_core/ast: Supply const accessors for data where applicableLioncash
Provides const equivalents of data accessors for use within const contexts.
2019-10-04Shader_ir: Address feedbackFernando Sahmkow
2019-10-04Shader_Ir: Address Feedback and clang format.Fernando Sahmkow
2019-10-04Shader_IR: clean up AST handling and add documentation.Fernando Sahmkow
2019-10-04Shader_IR: Correct OutwardMoves for IfsFernando Sahmkow
2019-10-04Shader_IR: corrections and clang-formatFernando Sahmkow
2019-10-04Shader_IR: allow else derivation to be optional.Fernando Sahmkow
2019-10-04vk_shader_compiler: Implement the decompiler in SPIR-VFernando Sahmkow
2019-10-04Shader_IR: mark labels as unused for partial decompile.Fernando Sahmkow
2019-10-04Shader_Ir: Refactor Decompilation process and allow multiple decompilation ↵Fernando Sahmkow
modes.
2019-10-04gl_shader_decompiler: Implement AST decompilingFernando Sahmkow
2019-10-04shader_ir: Declare Manager and pass it to appropiate programs.Fernando Sahmkow
2019-10-04shader_ir: Corrections to outward movements and misc stuffsFernando Sahmkow
2019-10-04shader_ir: Add basic goto eliminationFernando Sahmkow
2019-10-04shader_ir: Initial Decompile SetupFernando Sahmkow
2019-09-23Merge pull request #2869 from ReinUsesLisp/suldbunnei
shader/image: Implement SULD and fix SUATOM
2019-09-22Merge pull request #2870 from FernandoS27/multi-drawDavid
Implement a MME Draw commands Inliner and correct host instance drawing
2019-09-21Merge pull request #2878 from FernandoS27/icmpRodrigo Locatti
shader_ir: Implement ICMP
2019-09-21gl_shader_decompiler: Use uint for images and fix SUATOMReinUsesLisp
In the process remove implementation of SUATOM.MIN and SUATOM.MAX as these require a distinction between U32 and S32. These have to be implemented with imageCompSwap loop.
2019-09-21shader/image: Implement SULD and remove irrelevant codeReinUsesLisp
* Implement SULD as float. * Remove conditional declaration of GL_ARB_shader_viewport_layer_array.
2019-09-21Shader_IR: ICMP corrections and fixesFernando Sahmkow
2019-09-20Merge pull request #2855 from ReinUsesLisp/shflbunnei
shader_ir/warp: Implement SHFL for Nvidia devices
2019-09-19Shader_IR: Implement ICMP.Fernando Sahmkow
2019-09-19VideoCore: Corrections to the MME Inliner and removal of hacky instance ↵Fernando Sahmkow
management.
2019-09-18Merge pull request #2784 from ReinUsesLisp/smembunnei
shader_ir: Implement shared memory
2019-09-17shader_ir/warp: Implement SHFLReinUsesLisp
2019-09-10shader/image: Implement SUATOM and fix SUSTReinUsesLisp
2019-09-10Merge pull request #2823 from ReinUsesLisp/shr-clampbunnei
shader/shift: Implement SHR wrapped and clamped variants
2019-09-05gl_shader_decompiler: Keep track of written images and mark them as modifiedReinUsesLisp
2019-09-05kepler_compute: Implement texture queriesReinUsesLisp
2019-09-05shader_ir: Implement LD_SReinUsesLisp
Loads from shared memory.
2019-09-05shader_ir: Implement ST_SReinUsesLisp
This instruction writes to a memory buffer shared with threads within the same work group. It is known as "shared" memory in GLSL.
2019-09-04shader/shift: Implement SHR wrapped and clamped variantsReinUsesLisp
Nvidia defaults to wrapped shifts, but this is undefined behaviour on OpenGL's spec. Explicitly mask/clamp according to what the guest shader requires.
2019-09-04half_set_predicate: Fix predicate assignmentsReinUsesLisp
2019-09-03Merge pull request #2812 from ReinUsesLisp/f2i-selectorbunnei
shader_ir/conversion: Implement F2I and F2F F16 selector
2019-09-03Merge pull request #2811 from ReinUsesLisp/fsetp-fixbunnei
float_set_predicate: Add missing negation bit for the second operand
2019-08-30video_core: Silent miscellaneous warnings (#2820)Rodrigo Locatti
* texture_cache/surface_params: Remove unused local variable * rasterizer_interface: Add missing documentation commentary * maxwell_dma: Remove unused rasterizer reference * video_core/gpu: Sort member declaration order to silent -Wreorder warning * fermi_2d: Remove unused MemoryManager reference * video_core: Silent unused variable warnings * buffer_cache: Silent -Wreorder warnings * kepler_memory: Remove unused MemoryManager reference * gl_texture_cache: Add missing override * buffer_cache: Add missing include * shader/decode: Remove unused variables
2019-08-29Merge pull request #2758 from ReinUsesLisp/packed-tidbunnei
shader/decode: Implement S2R Tic
2019-08-28shader_ir/conversion: Split int and float selector and implement F2F H1ReinUsesLisp
2019-08-27shader_ir/conversion: Implement F2I F16 Ra.H1ReinUsesLisp