summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader (unfollow)
Commit message (Expand)AuthorFilesLines
2020-09-16video_core: Enforce -Werror=switchReinUsesLisp2-4/+13
2020-09-06video_core: Remove all Core::System references in rendererReinUsesLisp2-9/+4
2020-08-24async_shaders: Mark getters as const member functionsLioncash2-17/+15
2020-08-16Remove unneeded newlines, optional Registry in shader paramsameerj2-8/+4
2020-08-16Morph: Update worker allocation commentAmeer J1-1/+1
2020-08-16move thread 1/4 count computation into allocate workers methodameerj2-3/+12
2020-08-16Address feedback, add shader compile notifier, update setting textameerj2-68/+65
2020-08-16Vk Async Worker directly emplace in cacheameerj1-53/+25
2020-08-16Address feedback. Bruteforce delete duplicatesameerj2-61/+78
2020-08-16Vk Async pipeline compilationameerj2-6/+84
2020-08-14shader/memory: Amend UNIMPLEMENTED_IF_MSG without a messageLioncash1-1/+2
2020-08-14async_shaders: Resolve -Wpessimizing-move warningLioncash1-2/+2
2020-08-13General: Tidy up clang-format warnings part 2Lioncash2-17/+19
2020-07-21video_core: Allow copy elision to take place where applicableLioncash4-22/+22
2020-07-18Fix style issuesDavid Marcec1-4/+10
2020-07-17Remove duplicate configDavid Marcec1-0/+1
2020-07-17Use conditional varDavid Marcec2-9/+15
2020-07-17async shadersDavid Marcec2-0/+277
2020-07-16decode/other: Implement S2R.LaneIdReinUsesLisp1-2/+1
2020-07-13video_core: Rearrange pixel format namesReinUsesLisp1-27/+27
2020-06-23shader/half_set: Implement HSET2_IMMReinUsesLisp1-21/+67
2020-06-20decode/image: Implement B10G11R11FMorph1-9/+17
2020-06-18memory_util: boost hashes are size_tMerryMage1-2/+2
2020-06-05shader/texture: Join separate image and sampler pairs offlineReinUsesLisp7-69/+146
2020-06-05shader/track: Move bindless tracking to a separate functionReinUsesLisp2-25/+39
2020-05-30shader/other: Fix hardcoded value in S2R INVOCATION_INFOReinUsesLisp1-1/+1
2020-05-27shader/other: Implement MEMBAR.CTSReinUsesLisp2-4/+15
2020-05-22shader/other: Implement BAR.SYNC 0x0ReinUsesLisp2-0/+6
2020-05-22shader/memory: Implement non-addition operations in REDReinUsesLisp1-2/+1
2020-05-22shader/other: Implement thread comparisons (NV_shader_thread_group)ReinUsesLisp2-0/+26
2020-05-09shader_ir: Separate float-point comparisons in ordered and unorderedReinUsesLisp4-78/+66
2020-04-28shader/arithmetic_integer: Fix tracking issue in temporaryReinUsesLisp1-4/+0
2020-04-26shader/memory_util: Deduplicate codeReinUsesLisp5-24/+127
2020-04-26shader/arithmetic_integer: Fix edge case and mark IADD.X Rd.CC as unimplementedReinUsesLisp1-1/+6
2020-04-26shader/arithmetic_integer: Change IAdd to UAdd to avoid signed overflowReinUsesLisp1-2/+2
2020-04-26shader/arithmetic_integer: Implement IADD.XReinUsesLisp1-0/+6
2020-04-26shader/arithmetic_integer: Implement CC for IADDReinUsesLisp2-3/+21
2020-04-26decode/register_set_predicate: Implement CCReinUsesLisp1-9/+14
2020-04-26decode/register_set_predicate: Use move for shared pointersReinUsesLisp1-16/+17
2020-04-24Revert: shader_decode: Fix LD, LDG when track constant buffer.Fernando Sahmkow1-14/+6
2020-04-23decode/arithmetic_half: Fix HADD2 and HMUL2 absolute and negation bitsReinUsesLisp1-14/+37
2020-04-23shader/texture: Support multiple unknown sampler propertiesReinUsesLisp2-62/+87
2020-04-23shader_ir: Turn classes into data structuresReinUsesLisp5-182/+102
2020-04-21shader/arithmetic_integer: Fix LEA_IMM encodingReinUsesLisp1-2/+2
2020-04-17General: Resolve warnings related to missing declarationsLioncash1-2/+2
2020-04-17decode/memory: Resolve unused variable warningLioncash1-1/+1
2020-04-17decode/texture: Resolve unused variable warnings.Lioncash1-5/+7
2020-04-17decode/texture: Collapse loop down into std::generateLioncash1-3/+1
2020-04-17decode/texture: Eliminate trivial missing field initializer warningsLioncash1-3/+4
2020-04-16decode/shift: Remove unused variable within Shift()Lioncash1-1/+0
2020-04-16control_flow: Make use of std::move in TryInspectAddress()Lioncash1-3/+3
2020-04-16track: Eliminate redundant copiesLioncash1-5/+6
2020-04-16CMakeLists: Specify -Wextra on linux buildsLioncash3-10/+15
2020-04-15shader/arithmetic: Add FCMP_CR variantReinUsesLisp1-1/+2
2020-04-12shader/video: Partially implement VMNMXReinUsesLisp2-0/+61
2020-04-10shader/texture: Remove type mismatches management from shader decoderReinUsesLisp1-14/+0
2020-04-07address nit.Nguyen Dac Nam1-1/+1
2020-04-07shader/conversion: Implement I2I sign extension, saturation and selectionReinUsesLisp1-13/+100
2020-04-07Apply suggestions from code reviewNguyen Dac Nam1-9/+9
2020-04-06shader_decode: SULD.D using std::pair instead of out parameternamkazy2-19/+15
2020-04-06shader_decode: SULD.D avoid duplicate code block.namkazy1-39/+2
2020-04-06shader_decode: SULD.D fix conversion error.namkazy1-3/+3
2020-04-06shader_decode: SULD.D implement bits64 and reverse shader ir init method to removed shader stage.namkazy3-42/+101
2020-04-06shader/memory: Implement RED.E.ADDReinUsesLisp2-1/+29
2020-04-06shader/memory: Add "using std::move"ReinUsesLisp1-11/+13
2020-04-06shader/memory: Minor fixes in ATOMReinUsesLisp1-32/+30
2020-04-05silent warning (conversion error)namkazy1-3/+2
2020-04-05shader_decode: SULD.D -> SINT actually same as UNORM.namkazy1-5/+4
2020-04-05shader_decode: SULD.D fix decode SNORM componentnamkazy1-10/+9
2020-04-05clang-formatnamkazy1-2/+2
2020-04-05shader_decode: get sampler descriptor from registry.namkazy1-77/+93
2020-04-05tweaking.namkazy1-3/+3
2020-04-05cleanup unuse paramsnamkazy1-8/+6
2020-04-05cleanup debug code.namkazy1-14/+3
2020-04-05reimplement get component type, uncomment mistaken codenamkazy1-18/+93
2020-04-05remove disable optimizenamkazy1-2/+0
2020-04-05[wip] reimplement SULD.Dnamkazy1-22/+229
2020-04-05add shader stage when init shader irnamkazy2-5/+7
2020-04-05clang-fixNguyen Dac Nam1-1/+1
2020-04-05shader: image - import PredConditionNguyen Dac Nam1-0/+1
2020-04-05shader: SULD.D bits32 implement more complexer method.Nguyen Dac Nam1-4/+28
2020-04-05shader: SULD.D import StoreTypeNguyen Dac Nam1-0/+1
2020-04-05shader: implement SULD.D bits32Nguyen Dac Nam1-11/+27
2020-04-04shader/other: Add error message for some S2R registersReinUsesLisp1-0/+6
2020-04-04shader_bytecode: Rename MOV_SYS to S2RReinUsesLisp1-3/+3
2020-04-04shader_ir: Add error message for EXIT.FCSM_TRReinUsesLisp1-0/+3
2020-04-02shader/memory: Silence no return value warningReinUsesLisp1-0/+3
2020-04-02shader_decompiler: Remove FragCoord.w hack and change IPA implementationReinUsesLisp1-15/+21
2020-03-31clang-formatNguyen Dac Nam1-2/+1
2020-03-31shader_decode: fix by suggestionNguyen Dac Nam1-27/+22
2020-03-30clang-formatnamkazy1-3/+3
2020-03-30shader_decode: ATOM/ATOMS: add function to avoid code repetitionnamkazy2-70/+53
2020-03-30shader_decode: implement ATOM operation for S32 and U32Nguyen Dac Nam1-6/+39
2020-03-30clang-formatnamkazy1-3/+3
2020-03-30shader_decode: implement ATOMS instr partial.Nguyen Dac Nam1-10/+42
2020-03-30shader: node - update correct commentNguyen Dac Nam1-15/+15
2020-03-30shader_decode: add Atomic op for common usageNguyen Dac Nam1-1/+15
2020-03-28shader/lea: Simplify generated LEA codeReinUsesLisp1-3/+2
2020-03-27shader/lea: Fix op_a and op_b usagesReinUsesLisp1-2/+2
2020-03-27shader/lea: Remove const and use move when possibleReinUsesLisp1-11/+5
2020-03-26shader/conversion: Fix F2F rounding operations with different sizesReinUsesLisp1-5/+10
2020-03-23xmad: fix clang build errormakigumo1-4/+5
2020-03-16shader/shader_ir: Track usage in input attribute and of legacy varyingsReinUsesLisp2-34/+58
2020-03-16shader/shader_ir: Fix clip distance usage storesReinUsesLisp1-2/+1
2020-03-16shader/shader_ir: Change declare output attribute to a switchReinUsesLisp1-9/+9
2020-03-14clang-formatNguyen Dac Nam1-2/+1
2020-03-14nitNguyen Dac Nam1-1/+1
2020-03-13shader/transform_feedback: Expose buffer strideReinUsesLisp2-0/+2
2020-03-13shader/transform_feedback: Add host API friendly TFB builderReinUsesLisp2-0/+136
2020-03-13nit & remove some optional paramNguyen Dac Nam1-10/+11
2020-03-13shader_decode: implement XMAD mode CSfuNguyen Dac Nam1-9/+41
2020-03-13clang-formatNguyen Dac Nam1-4/+8
2020-03-13Apply suggestions from code reviewNguyen Dac Nam1-5/+5
2020-03-13shader_decode: BFE add ref of reverse parallel method.Nguyen Dac Nam1-0/+3
2020-03-13shader_decode: implement BREV on BFENguyen Dac Nam1-6/+25
2020-03-13node_helper: add IBitfieldExtract caseNguyen Dac Nam1-0/+2
2020-03-13shader_decode: Reimplement BFE instructionsNguyen Dac Nam1-25/+27
2020-03-09engines/maxwell_3d: Add TFB registers and store them in shader registryReinUsesLisp2-3/+12
2020-03-09shader/registry: Address feedbackReinUsesLisp2-12/+17
2020-03-09shader/registry: Cache tessellation stateReinUsesLisp2-2/+9
2020-03-09shader/registry: Store graphics and compute metadataReinUsesLisp3-36/+81
2020-03-09video_core: Rename "const buffer locker" to "registry"ReinUsesLisp9-50/+54
2020-03-09gl_shader_cache: Rework shader cache and remove post-specializationsReinUsesLisp4-28/+17
2020-02-29nit: move comment to right place.Nguyen Dac Nam1-2/+2
2020-02-28shader_decode: Fix LD, LDG when track constant bufferNguyen Dac Nam1-4/+12
2020-02-28shader_decode: keep it search on all codeNguyen Dac Nam1-4/+12
2020-02-27shader: FMUL switch to using LUT (#3441)Nguyen Dac Nam1-19/+14
2020-02-24shader: Simplify indexed sampler usagesReinUsesLisp1-1/+1
2020-02-21shader/texture: Fix illegal 3D texture assertReinUsesLisp1-1/+1
2020-02-21nit: add const to where it need.Nguyen Dac Nam1-14/+14
2020-02-21shader: implement LOP3 fast replace for old functionNguyen Dac Nam1-36/+58
2020-02-19shader_conversion: I2F : add Assert for case src_size is ShortNguyen Dac Nam1-0/+3
2020-02-19fix warningNguyen Dac Nam1-1/+1
2020-02-19clang-format fixNguyen Dac Nam1-1/+1
2020-02-19shader_conversion: add conversion I2F for ShortNguyen Dac Nam1-9/+6
2020-02-15shader/texture: Allow 2D shadow arrays and simplify codeReinUsesLisp1-43/+28
2020-02-05shader/decode: Fix constant buffer offsetsReinUsesLisp2-3/+3
2020-02-02shader: Remove curly braces initializers on shared pointersReinUsesLisp5-12/+12
2020-02-02shader/shift: Implement SHIFT_RIGHT_{IMM,R}ReinUsesLisp1-26/+58
2020-02-02shader/shift: Implement SHF_LEFT_{IMM,R}ReinUsesLisp1-10/+69
2020-01-29shader/other: Fix skips for SYNC and BRKReinUsesLisp1-2/+2
2020-01-29shader/other: Stub S2R LaneIdReinUsesLisp1-1/+4
2020-01-27shader/bfi: Implement register-constant buffer variantReinUsesLisp1-2/+5
2020-01-27shader/arithmetic: Implement FCMPReinUsesLisp1-1/+10
2020-01-26shader/memory: Implement ATOM.ADDReinUsesLisp2-2/+22
2020-01-25Shader_IR: Address feedback.Fernando Sahmkow7-31/+33
2020-01-25shader/memory: Implement STL.S16 and STS.S16ReinUsesLisp1-3/+10
2020-01-25shader/memory: Implement unaligned LDL.S16 and LDS.S16ReinUsesLisp1-5/+3
2020-01-25shader/memory: Move unaligned load/store to functionsReinUsesLisp1-18/+27
2020-01-25shader/memory: Implement LDL.S16 and LDS.S16ReinUsesLisp1-12/+23
2020-01-24Shader_IR: Change name of TrackSampler function so it does not confuse with the type.Fernando Sahmkow3-7/+10
2020-01-24Shader_IR: Corrections, styling and extras.Fernando Sahmkow1-2/+4
2020-01-24Shader_IR: Propagate bindless index into the GL compiler.Fernando Sahmkow4-23/+53
2020-01-24Shader_IR: Implement Injectable Custom Variables to the IR.Fernando Sahmkow3-1/+34
2020-01-24Shader_IR: deduce size of indexed samplersFernando Sahmkow4-8/+60
2020-01-24Shader_IR: Setup Indexed Samplers on the IRFernando Sahmkow1-20/+46
2020-01-24Shader_IR: Implement initial code for tracking indexed samplers.Fernando Sahmkow4-0/+139
2020-01-24Shader_IR: Address FeedbackFernando Sahmkow2-25/+25
2020-01-24Shader_IR: Allow constant access of guest driver.Fernando Sahmkow1-1/+1
2020-01-24Shader_IR: Address FeedbackFernando Sahmkow2-17/+24
2020-01-24Shader_IR: Store Bound buffer on Shader UsageFernando Sahmkow2-0/+29
2020-01-24GPU: Implement guest driver profile and deduce texture handler sizes.Fernando Sahmkow4-0/+31
2020-01-16shader/memory: Implement ATOMS.ADD.U32ReinUsesLisp2-0/+21
2020-01-14control_flow: Silence -Wreorder warning for CFGRebuildStateLioncash1-1/+1
2020-01-09shader_ir/texture: Simplify AOFFI codeReinUsesLisp1-10/+6
2020-01-09shader_ir/memory: Implement u16 and u8 for STG and LDGReinUsesLisp2-34/+52
2020-01-04Shader_IR: Address FeedbackFernando Sahmkow3-11/+11
2020-01-04Shader_IR: Implement TXD Array.Fernando Sahmkow1-5/+12
2019-12-30Shader_IR: add the ability to amend code in the shader ir.Fernando Sahmkow3-3/+39
2019-12-20shader/p2r: Implement P2R PrReinUsesLisp1-1/+15
2019-12-20shader/r2p: Refactor P2R to support P2RReinUsesLisp1-16/+30
2019-12-18shader/memory: Implement LDG.U8 and unaligned U8 loadsReinUsesLisp1-6/+32
2019-12-18shader/conversion: Implement byte selector in I2FReinUsesLisp1-2/+13
2019-12-18shader/texture: Properly shrink unused entries in size mismatchesReinUsesLisp1-4/+9
2019-12-16shader/texture: Implement TLD4.PTPReinUsesLisp3-19/+61
2019-12-16shader/texture: Enable arrayed TLD4ReinUsesLisp1-1/+0
2019-12-16shader/texture: Implement AOFFI for TLD4SReinUsesLisp1-13/+18
2019-12-16shader/texture: Remove unnecesary parenthesisReinUsesLisp1-2/+2
2019-12-12Shader_IR: Correct TLD4S Depth Compare.Fernando Sahmkow1-5/+12
2019-12-12Shader_Ir: Correct TLD4S encoding and implement f16 flag.Fernando Sahmkow2-10/+13
2019-12-12Shader_Ir: default failed tracks on bindless samplers to null values.Fernando Sahmkow2-24/+77
2019-12-10shader: Implement MEMBAR.GLReinUsesLisp2-0/+8
2019-12-10shader_ir/other: Implement S2R InvocationIdReinUsesLisp2-0/+3
2019-12-10shader: Keep track of shaders using warp instructionsReinUsesLisp2-0/+8
2019-12-10shader_ir/memory: Implement patch storesReinUsesLisp3-19/+36
2019-11-27video_core/const_buffer_locker: Make use of std::tie in HasEqualKeys()Lioncash1-2/+3
2019-11-27video_core/const_buffer_locker: Remove unused includesLioncash2-2/+2
2019-11-27video_core/const_buffer_locker: Remove #pragma once from cpp fileLioncash1-2/+0
2019-11-23video_core: Unify ProgramType and ShaderStage into ShaderTypeReinUsesLisp2-1/+3
2019-11-23shader/texture: Handle TLDS texture type mismatchesReinUsesLisp1-1/+10
2019-11-23shader/texture: Deduce texture buffers from lockerReinUsesLisp3-69/+60
2019-11-20shader/other: Reduce DEPBAR log severityReinUsesLisp1-1/+1
2019-11-18Shader_IR: Address FeedbackFernando Sahmkow2-10/+8
2019-11-14Shader_IR: Implement TXD instruction.Fernando Sahmkow2-7/+51
2019-11-14Shader_IR: Implement FLO instruction.Fernando Sahmkow2-0/+20
2019-11-08video_core: Silence implicit conversion warningsReinUsesLisp2-5/+5
2019-11-08shader_ir/warp: Implement FSWZADDReinUsesLisp2-0/+10
2019-11-08gl_shader_decompiler: Reimplement shuffles with platform agnostic intrinsicsReinUsesLisp2-42/+37
2019-11-07shader/control_flow: Specify constness on caller lambdasRodrigo Locatti1-11/+12
2019-11-07shader/control_flow: Use callable template instead of std::functionReinUsesLisp1-6/+5
2019-11-07shader/control_flow: Abstract repeated code chunks in BRX trackingReinUsesLisp1-93/+101
2019-11-07shader/control_flow: Silence Intellisense cast warningsReinUsesLisp1-1/+1
2019-11-07shader/control_flow: Remove brace initializer in std containersReinUsesLisp1-9/+9
2019-11-07shader/decode: Reduce severity of arithmetic rounding warningsReinUsesLisp6-15/+17
2019-11-07shader/arithmetic: Reduce RRO stub severityReinUsesLisp1-1/+2
2019-11-07shader/texture: Remove NODEP warningsReinUsesLisp1-35/+0
2019-10-31Shader_IR: Fix regression on TLD4Fernando Sahmkow2-5/+4
2019-10-30Shader_IR: Fix TLD4 and add Bindless Variant.Fernando Sahmkow2-10/+26
2019-10-30shader/node: Unpack bindless texture encodingReinUsesLisp4-122/+100
2019-10-26Shader_IR: Address Feedback.Fernando Sahmkow7-52/+59
2019-10-25gl_shader_cache: Implement locker variants invalidationReinUsesLisp2-12/+19
2019-10-25gl_shader_disk_cache: Store and load fast BRXReinUsesLisp1-2/+2
2019-10-25const_buffer_locker: Minor style changesReinUsesLisp2-152/+76
2019-10-25gl_shader_decompiler: Move entries to a separate functionReinUsesLisp7-32/+29
2019-10-25Shader_IR: Implement Fast BRX and allow multi-branches in the CFG.Fernando Sahmkow1-1/+1
2019-10-25Shader_IR: Correct typo in Consistent method.Fernando Sahmkow2-2/+2
2019-10-25Shader_IR: allow lookup of texture samplers within the shader_ir for instructions that don't provide itFernando Sahmkow4-42/+212
2019-10-25Shader_IR: Implement Fast BRX and allow multi-branches in the CFG.Fernando Sahmkow5-130/+246
2019-10-25Shader_Cache: setup connection of ConstBufferLockerFernando Sahmkow5-12/+22
2019-10-25VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.Fernando Sahmkow3-0/+123
2019-10-25Shader_IR: Implement BRX tracking.Fernando Sahmkow1-0/+113
2019-10-24shader_ir: Use std::array with pair instead of unordered_mapLioncash1-53/+67
2019-10-24video_core/shader: Resolve instances of variable shadowingLioncash6-11/+12
2019-10-22Shader_Ir: Fix TLD4S from using a component mask.Fernando Sahmkow2-5/+5
2019-10-22shader_ir/memory: Ignore global memory when tracking failsReinUsesLisp2-18/+26
2019-10-18video_core/shader/ast: Make ShowCurrentState() and SanityCheck() const member functionsLioncash2-5/+5
2019-10-18video_core/shader/ast: Make ASTManager::Print a const member functionLioncash2-3/+3
2019-10-18video_core/shader/ast: Make ExprPrinter members privateLioncash1-1/+2
2019-10-18video_core/shader/ast: Make Indent() return a string_viewLioncash1-14/+24
2019-10-18video_core/shader/ast: Make Indent() privateLioncash1-9/+9
2019-10-18video_core/shader/ast: Rename Ident() to Indent()Lioncash1-13/+13
2019-10-18video_core/shader/ast: Make use of fmt where applicableLioncash1-14/+14
2019-10-16control_flow: Silence truncation warningsLioncash2-4/+4
2019-10-16shader/node: std::move Meta instance within OperationNode constructorLioncash1-1/+1
2019-10-07shader/half_set_predicate: Fix HSETP2 for constant buffersReinUsesLisp1-0/+2
2019-10-07shader/half_set_predicate: Reduce DEBUG_ASSERT to LOG_DEBUGReinUsesLisp1-1/+2
2019-10-05video_core/control_flow: Eliminate variable shadowing warningsLioncash1-6/+6
2019-10-05video_core/control_flow: Eliminate pessimizing movesLioncash1-5/+8
2019-10-05video_core/ast: Unindent most of IsFullyDecompiled() by one levelLioncash1-12/+12
2019-10-05video_core/ast: Make ShowCurrentState() take a string_view instead of std::stringLioncash2-2/+2
2019-10-05video_core/ast: Eliminate variable shadowing warningsLioncash1-3/+3
2019-10-05video_core/ast: Replace std::string with a constexpr std::string_viewLioncash1-3/+1
2019-10-05video_core/ast: Default the move constructor and assignment operatorLioncash2-26/+2
2019-10-05video_core/{ast, expr}: Organize forward declarationLioncash2-10/+10
2019-10-05video_core/expr: Supply operator!= along with operator==Lioncash2-1/+32
2019-10-05video_core/{ast, expr}: Use std::move where applicableLioncash4-45/+47
2019-10-05video_core/ast: Supply const accessors for data where applicableLioncash2-37/+41
2019-10-05Shader_ir: Address feedbackFernando Sahmkow4-50/+14
2019-10-05Shader_Ir: Address Feedback and clang format.Fernando Sahmkow3-43/+50
2019-10-05Shader_IR: clean up AST handling and add documentation.Fernando Sahmkow1-2/+6
2019-10-05Shader_IR: Correct OutwardMoves for IfsFernando Sahmkow1-22/+11
2019-10-05Shader_IR: corrections and clang-formatFernando Sahmkow2-70/+64
2019-10-05Shader_IR: allow else derivation to be optional.Fernando Sahmkow6-8/+14
2019-10-05vk_shader_compiler: Implement the decompiler in SPIR-VFernando Sahmkow2-1/+25
2019-10-05Shader_IR: mark labels as unused for partial decompile.Fernando Sahmkow2-3/+9
2019-10-05Shader_Ir: Refactor Decompilation process and allow multiple decompilation modes.Fernando Sahmkow10-74/+307
2019-10-05gl_shader_decompiler: Implement AST decompilingFernando Sahmkow10-34/+116
2019-10-05shader_ir: Declare Manager and pass it to appropiate programs.Fernando Sahmkow7-104/+214
2019-10-05shader_ir: Corrections to outward movements and misc stuffsFernando Sahmkow5-58/+305
2019-10-05shader_ir: Add basic goto eliminationFernando Sahmkow2-38/+484
2019-10-05shader_ir: Initial Decompile SetupFernando Sahmkow5-5/+507
2019-09-21gl_shader_decompiler: Use uint for images and fix SUATOMReinUsesLisp3-69/+52
2019-09-21shader/image: Implement SULD and remove irrelevant codeReinUsesLisp2-25/+52
2019-09-21Shader_IR: ICMP corrections and fixesFernando Sahmkow1-6/+9
2019-09-20Shader_IR: Implement ICMP.Fernando Sahmkow1-0/+26
2019-09-19VideoCore: Corrections to the MME Inliner and removal of hacky instance management.Fernando Sahmkow2-0/+22
2019-09-17shader_ir/warp: Implement SHFLReinUsesLisp2-0/+57
2019-09-11shader/image: Implement SUATOM and fix SUSTReinUsesLisp3-37/+122
2019-09-06gl_shader_decompiler: Keep track of written images and mark them as modifiedReinUsesLisp3-42/+54
2019-09-06kepler_compute: Implement texture queriesReinUsesLisp1-0/+4
2019-09-05shader_ir: Implement LD_SReinUsesLisp1-10/+13
2019-09-05shader_ir: Implement ST_SReinUsesLisp4-11/+45
2019-09-04shader/shift: Implement SHR wrapped and clamped variantsReinUsesLisp1-6/+13
2019-09-04half_set_predicate: Fix predicate assignmentsReinUsesLisp1-10/+9
2019-08-30video_core: Silent miscellaneous warnings (#2820)Rodrigo Locatti5-5/+0
2019-08-28shader_ir/conversion: Split int and float selector and implement F2F H1ReinUsesLisp1-18/+16
2019-08-28shader_ir/conversion: Implement F2I F16 Ra.H1ReinUsesLisp1-4/+16
2019-08-28float_set_predicate: Add missing negation bit for the second operandReinUsesLisp1-4/+5
2019-08-21shader_ir: Implement VOTEReinUsesLisp4-0/+62
2019-08-04shader_ir: Implement NOPReinUsesLisp1-0/+6
2019-08-04half_set_predicate: Fix HSETP2_C constant buffer offsetReinUsesLisp1-1/+1
2019-07-26decode/half_set_predicate: Fix predicatesReinUsesLisp1-3/+3
2019-07-22shader/decode: Implement S2R TicReinUsesLisp3-0/+15
2019-07-20Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.Fernando Sahmkow2-16/+39
2019-07-20Shader_Ir: Change Debug Asserts for Log WarningsFernando Sahmkow3-10/+17
2019-07-20shader/half_set_predicate: Fix HSETP2 implementationReinUsesLisp2-19/+15
2019-07-20shader/half_set_predicate: Implement missing HSETP2 variantsReinUsesLisp1-13/+29
2019-07-19video_core/control_flow: Provide operator!= for types with operator==Lioncash1-4/+21
2019-07-19video_core/control_flow: Prevent sign conversion in TryGetBlock()Lioncash1-1/+1
2019-07-19video_core/control_flow: Remove unnecessary BlockStack copy constructorLioncash1-2/+1
2019-07-19video_core/control_flow: Use std::move where applicableLioncash1-10/+15
2019-07-19video_core/control_flow: Use the prefix variant of operator++ for iteratorsLioncash1-2/+2
2019-07-19video_core/control_flow: Use empty() member function for checking emptinessLioncash1-2/+2
2019-07-19video_core: Resolve -Wreorder warningsLioncash1-1/+1
2019-07-19video_core/control_flow: Make program_size for ScanFlow() a std::size_tLioncash2-5/+4
2019-07-19video_core/control_flow: Place all internally linked types/functions within an anonymous namespaceLioncash1-1/+2
2019-07-19video_core/shader/decode: Prevent sign-conversion warningsLioncash1-2/+2
2019-07-18Shader_Ir: correct clang formatFernando Sahmkow1-2/+2
2019-07-18Shader_Ir: Downgrade precision and rounding asserts to debug asserts.Fernando Sahmkow5-10/+10
2019-07-17shader_ir: std::move Node instance where applicableLioncash4-60/+67
2019-07-17shader_ir: Rename Get/SetTemporal to Get/SetTemporaryLioncash5-36/+36
2019-07-17shader_ir: Remove unused includesLioncash1-3/+0
2019-07-16Shader_Ir: Correct tracking to track from right to leftFernando Sahmkow1-2/+2
2019-07-16shader/decode/other: Correct branch indirect argument within BRA handlingLioncash1-1/+1
2019-07-15shader: Allow tracking of indirect buffers without variable offsetReinUsesLisp6-35/+36
2019-07-09shader_ir: Add comments on missing instruction.Fernando Sahmkow2-2/+9
2019-07-09shader_ir: limit explorastion to best known program size.Fernando Sahmkow1-1/+1
2019-07-09control_flow: Correct block breaking algorithm.Fernando Sahmkow1-17/+17
2019-07-09control_flow: Assert shaders bigger than limit.Fernando Sahmkow1-0/+2
2019-07-09control_flow: Address feedback.Fernando Sahmkow1-89/+37
2019-07-09shader_ir: Correct parsing of scheduling instructions and correct sizingFernando Sahmkow2-13/+30
2019-07-09shader_ir: Correct max sizingFernando Sahmkow2-2/+2
2019-07-09shader_ir: Remove unnecessary constructors and use optional for ScanFlow resultFernando Sahmkow3-28/+17
2019-07-09shader_ir: Corrections, documenting and asserting control_flowFernando Sahmkow3-52/+54
2019-07-09shader_ir: Unify blocks in decompiled shaders.Fernando Sahmkow6-54/+79
2019-07-09shader_ir: Decompile Flow StackFernando Sahmkow4-11/+206
2019-07-09shader_ir: propagate shader size to the IRFernando Sahmkow3-6/+7
2019-07-09shader_ir: Implement BRX & BRA.CCFernando Sahmkow3-4/+42
2019-07-09shader_ir: Remove the old scanner.Fernando Sahmkow2-77/+0
2019-07-09shader_ir: Implement a new shader scannerFernando Sahmkow3-16/+471
2019-07-08gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shadersReinUsesLisp2-0/+31
2019-07-07Delete decode_integer_set.cppTobias1-0/+0
2019-07-07shader/texture: Add F16 support for TLDSReinUsesLisp1-1/+7
2019-06-24decode/texture: Address feedbackReinUsesLisp1-0/+1
2019-06-21texture_cache: Style and CorrectionsFernando Sahmkow1-1/+2
2019-06-21shader_ir: Fix image copy rebase issuesFernando Sahmkow1-2/+7
2019-06-21shader: Implement bindless imagesReinUsesLisp3-2/+40
2019-06-21shader: Decode SUST and implement backing image functionalityReinUsesLisp4-1/+140
2019-06-21shader: Implement texture buffersReinUsesLisp2-0/+46
2019-06-07shader: Split SSY and PBK stackReinUsesLisp2-11/+14
2019-06-07shader/node: Minor changesReinUsesLisp1-50/+54
2019-06-07shader: Move Node declarations out of the shader IR headerReinUsesLisp3-493/+517
2019-06-06shader: Use shared_ptr to store nodes and move initialization to fileReinUsesLisp32-192/+238
2019-05-23shader/shader_ir: Make Comment() take a std::string by valueLioncash2-3/+3
2019-05-23shader/decode/*: Add missing newline to files lacking themLioncash18-18/+18
2019-05-23shader/decode/*: Eliminate indirect inclusionsLioncash6-1/+5
2019-05-22shader/decode/memory: Remove left in debug pragmaLioncash1-2/+0
2019-05-21shader/memory: Implement ST (generic memory)ReinUsesLisp1-21/+35
2019-05-21shader/memory: Implement LD (generic memory)ReinUsesLisp2-11/+23
2019-05-20shader: Implement S2R Tid{XYZ} and CtaId{XYZ}ReinUsesLisp2-15/+35
2019-05-19shader/shader_ir: Remove unnecessary inline specifiersLioncash1-2/+2
2019-05-19shader/shader_ir: Simplify constructors for OperationNodeLioncash1-15/+6
2019-05-19shader/shader_ir: Remove unnecessary template parameter packs from Operation() overloads where applicableLioncash1-2/+0
2019-05-19shader/shader_ir: Mark tracking functions as const member functionsLioncash2-8/+11
2019-05-19shader/shader_ir: Place implementations of constructor and destructor in cpp fileLioncash2-5/+9
2019-05-10video_core/shader/decode/texture: Remove unused variable from GetTld4Code()Lioncash1-1/+0
2019-05-04shader/decode/texture: Remove unused variableLioncash1-1/+0
2019-05-03shader_ir/other: Implement IPA.IDXReinUsesLisp1-5/+8
2019-05-03shader_ir/memory: Assert on non-32 bits ALD.PHYSReinUsesLisp1-0/+3
2019-05-03shader: Add physical attributes commentariesReinUsesLisp3-4/+6
2019-05-03gl_shader_decompiler: Implement GLSL physical attributesReinUsesLisp1-1/+1
2019-05-03shader_ir/memory: Implement physical input attributesReinUsesLisp3-6/+28
2019-05-03shader: Remove unused AbufNode Ipa modeReinUsesLisp4-29/+10
2019-05-03shader_ir/memory: Emit AL2P IRReinUsesLisp2-0/+22
2019-04-26shader_ir: Move Sampler index entry in operand< to sort declarationsReinUsesLisp1-2/+2
2019-04-26shader_ir: Add missing entry to Sampler operand< comparisonReinUsesLisp1-2/+3
2019-04-26shader_ir/texture: Fix sampler const buffer key shiftReinUsesLisp1-1/+1
2019-04-21Corrections Half Float operations on const buffers and implement saturation.Fernando Sahmkow2-15/+16
2019-04-18video_core: Silent -Wswitch warningsReinUsesLisp4-9/+16
2019-04-16shader_ir/decode: Fix half float pre-operations and remove MetaHalfArithmeticReinUsesLisp7-52/+42
2019-04-16shader_ir/decode: Implement half float saturationReinUsesLisp3-4/+14
2019-04-16shader_ir/decode: Reduce severity of unimplemented half-float FTZReinUsesLisp3-3/+9
2019-04-16renderer_opengl: Implement half float NaN comparisonsReinUsesLisp2-18/+17
2019-04-16shader_ir: Avoid using static on heap-allocated objectsReinUsesLisp1-5/+4
2019-04-16Do some corrections in conversion shader instructions.Fernando Sahmkow1-16/+53
2019-04-14shader_ir: Implement STG, keep track of global memory usage and flushReinUsesLisp2-38/+87
2019-04-08Correct XMAD mode, psl and high_b on different encodings.Fernando Sahmkow1-9/+30
2019-04-08Adapt Bindless to work with AOFFIFernando Sahmkow1-7/+18
2019-04-08Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format.Fernando Sahmkow2-3/+4
2019-04-08Fix TMMLFernando Sahmkow1-5/+7
2019-04-08Refactor GetTextureCode and GetTexCode to use an optional instead of optional parametersFernando Sahmkow2-34/+33
2019-04-08Implement TXQ_BFernando Sahmkow1-2/+8
2019-04-08Implement TMML_BFernando Sahmkow1-5/+10
2019-04-08Corrections to TEX_BFernando Sahmkow1-4/+5
2019-04-08Implement Bindless Handling on SetupTextureFernando Sahmkow1-4/+3
2019-04-08Unify both sampler types.Fernando Sahmkow2-18/+40
2019-04-08Implement Bindless Samplers and TEX_B in the IR.Fernando Sahmkow2-15/+74
2019-04-03shader_ir/memory: Reduce severity of LD_L cache management and log itReinUsesLisp1-2/+2
2019-04-03shader_ir/memory: Reduce severity of ST_L cache management and log itReinUsesLisp1-2/+3
2019-03-31shader_ir/decode: Silent implicit sign conversion warningMat M1-2/+2
2019-03-30shader_ir/decode: Implement AOFFI for TEX and TLD4ReinUsesLisp2-27/+94
2019-03-30shader_ir: Implement immediate register trackingReinUsesLisp2-1/+19
2019-02-26shader/decode: Remove extras from MetaTextureReinUsesLisp2-15/+26
2019-02-26shader/decode: Split memory and texture instructions decodingReinUsesLisp4-493/+527
2019-02-25shader/track: Resolve variable shadowing warningsLioncash1-5/+5
2019-02-14shader_decompiler: Improve Accuracy of Attribute Interpolation.Fernando Sahmkow2-3/+14
2019-02-12gl_shader_decompiler: Re-implement TLDS lodReinUsesLisp1-1/+1
2019-02-11Corrected F2I None mode to RoundEven.Fernando Sahmkow1-3/+3
2019-02-11Fix incorrect value for CC bit in IADDFernando Sahmkow1-2/+2
2019-02-07shader_ir: Remove F4 prefix to texture operationsReinUsesLisp2-14/+13
2019-02-07shader_ir: Clean texture management codeReinUsesLisp2-101/+63
2019-02-07gl_shader_disk_cache: Save GLSL and entries into the precompiled fileReinUsesLisp1-0/+9
2019-02-03Fix TXQ not using the component mask.Fernando Sahmkow1-6/+9
2019-02-03shader_ir/memory: Add ST_L 64 and 128 bits storesReinUsesLisp1-3/+11
2019-02-03shader/track: Search inside of conditional nodesReinUsesLisp1-0/+11
2019-02-03shader_ir: Rename BasicBlock to NodeBlockReinUsesLisp29-119/+117
2019-02-03shader_ir: Pass decoded nodes as a whole instead of per basic blocksReinUsesLisp27-57/+62
2019-02-03shader_ir/memory: Add LD_L 128 bits loadsReinUsesLisp1-7/+19
2019-02-03shader_bytecode: Rename BytesN enums to BitsNReinUsesLisp1-4/+4
2019-02-03shader_ir/memory: Add LD_L 64 bits loadsReinUsesLisp1-6/+17
2019-01-30shader_ir: Unify constant buffer offset valuesReinUsesLisp14-22/+24
2019-01-30shader_decode: Implement LDG and basic cbuf trackingReinUsesLisp3-4/+159
2019-01-28shader/shader_ir: Amend three comment typosLioncash1-3/+3
2019-01-28shader/shader_ir: Amend constructor initializer ordering for AbufNodeLioncash1-2/+2
2019-01-28shader/decode: Avoid a pessimizing std::move within DecodeRange()Lioncash1-1/+1
2019-01-16shader_ir: Fixup clang buildReinUsesLisp1-4/+6
2019-01-15shader_decode: Fixup XMADReinUsesLisp1-1/+1
2019-01-15shader_ir: Pass to decoder functions basic block's codeReinUsesLisp27-82/+83
2019-01-15shader_decode: Improve zero flag implementationReinUsesLisp15-75/+79
2019-01-15shader_ir: Remove composite primitives and use temporals insteadReinUsesLisp3-175/+187
2019-01-15shader_decode: Use proper primitive namesReinUsesLisp3-15/+13
2019-01-15shader_decode: Use BitfieldExtract instead of shift + andReinUsesLisp7-48/+30
2019-01-15shader_ir: Remove Ipa primitiveReinUsesLisp2-5/+2
2019-01-15video_core: Rename glsl_decompiler to gl_shader_decompilerReinUsesLisp2-1631/+0
2019-01-15shader_ir: Remove RZ and use Register::ZeroIndex insteadReinUsesLisp3-12/+16
2019-01-15shader_decode: Implement TEXS.F16ReinUsesLisp3-15/+57
2019-01-15shader_decode: Fixup R2PReinUsesLisp1-2/+3
2019-01-15glsl_decompiler: Fixup TLDSReinUsesLisp1-1/+0
2019-01-15glsl_decompiler: Fixup geometry shadersReinUsesLisp1-10/+16
2019-01-15shader_decode: Fixup WriteLogicOperation zero comparisonReinUsesLisp1-1/+1
2019-01-15glsl_decompiler: Fixup permissive member function declarationsReinUsesLisp1-133/+133
2019-01-15shader_decode: Fixup PSETReinUsesLisp1-2/+3
2019-01-15shader_decode: Fixup clang-formatReinUsesLisp2-2/+4
2019-01-15video_core: Implement IR based geometry shadersReinUsesLisp3-2/+96
2019-01-15shader_decode: Implement VMAD and VSETPReinUsesLisp3-0/+125
2019-01-15shader_decode: Implement HSET2ReinUsesLisp3-1/+50
2019-01-15shader_decode: Rework HSETP2ReinUsesLisp4-47/+57
2019-01-15shader_decode: Implement R2PReinUsesLisp1-1/+28
2019-01-15shader_decode: Implement CSETPReinUsesLisp1-14/+37
2019-01-15shader_decode: Implement PSETReinUsesLisp1-1/+16
2019-01-15shader_decode: Implement HFMA2ReinUsesLisp3-5/+59
2019-01-15glsl_decompiler: Remove HNegate inliningReinUsesLisp1-10/+0
2019-01-15shader_decode: Implement POPCReinUsesLisp4-1/+22
2019-01-15shader_decode: Implement TLDS (untested)ReinUsesLisp3-10/+92
2019-01-15shader_decode: Update TLD4 reflecting #1862 changesReinUsesLisp2-52/+52
2019-01-15shader_ir: Fixup TEX and TEXS and partially fix TLD4 decompilingReinUsesLisp3-60/+72
2019-01-15shader_decode: Fixup FSETReinUsesLisp1-2/+2
2019-01-15shader_decode: Implement IADD32IReinUsesLisp1-0/+11
2019-01-15video_core: Return safe values after an assert hitsReinUsesLisp8-8/+19
2019-01-15shader_decode: Implement FFMAReinUsesLisp1-1/+36
2019-01-15video_core: Address feedbackReinUsesLisp4-13/+16
2019-01-15shader_ir: Fixup file inclusions and clang-formatReinUsesLisp3-2/+2
2019-01-15shader_ir: Move comment node stringMat M1-2/+2
2019-01-15shader_ir: Address feedback to avoid UB in bit castingReinUsesLisp1-2/+4
2019-01-15shader_decode: Fixup clang-formatReinUsesLisp2-3/+2
2019-01-15shader_decode: Implement LEAReinUsesLisp1-0/+55
2019-01-15shader_decode: Implement IADD3ReinUsesLisp1-0/+61
2019-01-15shader_decode: Implement LOP3ReinUsesLisp2-0/+62
2019-01-15shader_decode: Implement ST_LReinUsesLisp1-0/+17
2019-01-15shader_decode: Implement LD_LReinUsesLisp1-0/+18
2019-01-15shader_decode: Implement HSETP2ReinUsesLisp1-1/+37
2019-01-15shader_decode: Implement HADD2 and HMUL2ReinUsesLisp1-1/+48
2019-01-15shader_decode: Implement HADD2_IMM and HMUL2_IMMReinUsesLisp1-1/+28
2019-01-15shader_decode: Implement MOV_SYSReinUsesLisp1-0/+27
2019-01-15shader_decode: Implement IMNMXReinUsesLisp1-0/+16
2019-01-15shader_decode: Implement F2F_CReinUsesLisp1-2/+10
2019-01-15shader_decode: Implement I2IReinUsesLisp1-0/+26
2019-01-15shader_decode: Implement BRA internal flagReinUsesLisp1-4/+8
2019-01-15shader_decode: Implement ISCADDReinUsesLisp1-0/+15
2019-01-15shader_decode: Implement XMADReinUsesLisp1-1/+85
2019-01-15shader_decode: Implement PBK and BRKReinUsesLisp1-1/+22
2019-01-15shader_decode: Implement LOPReinUsesLisp1-0/+15
2019-01-15shader_decode: Implement SELReinUsesLisp1-0/+8
2019-01-15shader_decode: Implement IADDReinUsesLisp1-1/+28
2019-01-15shader_decode: Implement ISETPReinUsesLisp1-1/+30
2019-01-15shader_decode: Implement BFIReinUsesLisp1-1/+22
2019-01-15shader_decode: Implement ISETReinUsesLisp1-1/+27
2019-01-15shader_decode: Implement LD_CReinUsesLisp1-0/+31
2019-01-15shader_decode: Implement SHLReinUsesLisp1-0/+8
2019-01-15shader_decode: Implement SHRReinUsesLisp1-1/+26
2019-01-15shader_decode: Implement LOP32IReinUsesLisp2-1/+72
2019-01-15shader_decode: Implement BFEReinUsesLisp1-1/+25
2019-01-15shader_decode: Implement FSETReinUsesLisp1-1/+36
2019-01-15shader_decode: Implement F2IReinUsesLisp1-0/+37
2019-01-15shader_decode: Implement I2FReinUsesLisp1-0/+23
2019-01-15shader_decode: Implement F2FReinUsesLisp1-1/+37
2019-01-15shader_decode: Stub DEPBARReinUsesLisp1-0/+4
2019-01-15shader_decode: Implement SSY and SYNCReinUsesLisp1-0/+19
2019-01-15shader_decode: Implement PSETPReinUsesLisp1-1/+21
2019-01-15shader_decode: Implement TMMLReinUsesLisp1-3/+45
2019-01-15shader_decode: Implement TEX and TXQReinUsesLisp2-0/+223
2019-01-15shader_decode: Implement TEXS (F32)ReinUsesLisp2-0/+217
2019-01-15shader_decode: Implement FSETPReinUsesLisp1-1/+33
2019-01-15shader_decode: Partially implement BRAReinUsesLisp1-0/+12
2019-01-15shader_decode: Implement IPAReinUsesLisp1-0/+12
2019-01-15shader_decode: Implement EXITReinUsesLisp1-1/+32
2019-01-15shader_decode: Implement ST_AReinUsesLisp1-0/+30
2019-01-15shader_decode: Implement LD_AReinUsesLisp1-1/+39
2019-01-15shader_decode: Implement FADD32IReinUsesLisp1-0/+12
2019-01-15shader_decode: Implement FMUL32_IMMReinUsesLisp1-0/+10
2019-01-15shader_decode: Implement MOV32_IMMReinUsesLisp1-1/+9
2019-01-15shader_decode: Stub RRO_C, RRO_R and RRO_IMMReinUsesLisp1-0/+9
2019-01-15shader_decode: Implement FMNMX_C, FMNMX_R and FMNMX_IMMReinUsesLisp1-0/+18
2019-01-15shader_decode: Implement MUFUReinUsesLisp1-0/+29
2019-01-15shader_decode: Implement FADD_C, FADD_R and FADD_IMMReinUsesLisp1-0/+15
2019-01-15shader_decode: Implement FMUL_C, FMUL_R and FMUL_IMMReinUsesLisp1-0/+42
2019-01-15shader_decode: Implement MOV_C and MOV_RReinUsesLisp1-1/+23
2019-01-15glsl_decompiler: ImplementationReinUsesLisp2-0/+1481
2019-01-15shader_ir: Add condition code helperReinUsesLisp2-0/+13
2019-01-15shader_ir: Add predicate combiner helperReinUsesLisp2-0/+15
2019-01-15shader_ir: Add comparison helpersReinUsesLisp2-0/+106
2019-01-15shader_ir: Add half float helpersReinUsesLisp2-0/+44
2019-01-15shader_ir: Add integer helpersReinUsesLisp2-0/+40
2019-01-15shader_ir: Add float helpersReinUsesLisp2-0/+24
2019-01-15shader_ir: Add settersReinUsesLisp2-0/+24
2019-01-15shader_ir: Add local memory gettersReinUsesLisp2-0/+7
2019-01-15shader_ir: Add internal flag gettersReinUsesLisp2-0/+10
2019-01-15shader_ir: Add attribute gettersReinUsesLisp2-0/+26
2019-01-15shader_ir: Add constant buffer gettersReinUsesLisp2-0/+25
2019-01-15shader_ir: Add register getterReinUsesLisp2-0/+9
2019-01-15shader_ir: Add immediate node constructorsReinUsesLisp2-1/+34
2019-01-15shader_ir: Initial implementationReinUsesLisp28-0/+1542
2018-01-13Remove references to PICA and rasterizers in video_coreJames Rowe9-2453/+0
2017-09-17Improved performance of FromAttributeBufferHuw Pascoe1-1/+2
2017-08-19pica/shader/jit: implement SETEMIT and EMITwwylele2-2/+49
2017-08-19correct constnesswwylele2-2/+4
2017-08-19pica/shader/interpreter: implement SETEMIT and EMITwwylele1-0/+16
2017-08-19pica/shader: extend UnitState for GSwwylele2-0/+84
2017-07-27pica/shader_interpreter: fix off-by-one in LOOPwwylele1-1/+1
2017-06-17Stop using reserved operator names (and/or/xor) with XbyakYuri Kunde Schlesner1-13/+13
2017-05-11Pica: Set program code / swizzle data limit to 4096Jannik Vogel5-13/+16
2017-02-27Doxygen: Amend minor issues (#2593)Mat M2-2/+4
2017-02-12video_core/shader: Document sanitized MUL operationYuri Kunde Schlesner1-0/+8
2017-02-11video_core: Fix benign out-of-bounds indexing of array (#2553)Yuri Kunde Schlesner1-2/+1
2017-02-09VideoCore: Split regs.h inclusionsYuri Kunde Schlesner2-2/+4
2017-02-04VideoCore: Move Regs to its own fileYuri Kunde Schlesner2-2/+2
2017-02-04VideoCore: Split shader regs from Regs structYuri Kunde Schlesner4-6/+6
2017-02-04VideoCore: Split rasterizer regs from Regs structYuri Kunde Schlesner2-13/+13
2017-02-03ShaderJIT: add 16 dummy bytes at the bottom of the stackwwylele1-2/+5
2017-01-31Common/x64: remove legacy emitter and abi (#2504)Weiyi Wang1-1/+0
2017-01-31shader_jit_x64_compiler: esi and edi should be persistent (#2500)Merry1-0/+2
2017-01-30VideoCore: Extract swrast-specific data from OutputVertexYuri Kunde Schlesner2-37/+14
2017-01-30VideoCore/Shader: Clean up OutputVertex::FromAttributeBufferYuri Kunde Schlesner1-9/+14
2017-01-30VideoCore: Split shader output writing from semantic loadingYuri Kunde Schlesner2-18/+16
2017-01-30VideoCore: Consistently use shader configuration to load attributesYuri Kunde Schlesner4-12/+12
2017-01-30VideoCore: Rename some types to more accurate namesYuri Kunde Schlesner4-6/+6
2017-01-26VideoCore/Shader: Move entry_point to SetupBatchYuri Kunde Schlesner5-22/+23
2017-01-26VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetupYuri Kunde Schlesner5-40/+36
2017-01-26Shader: Remove OutputRegisters structYuri Kunde Schlesner3-19/+13
2017-01-26Shader: Initialize conditional_code in interpreterYuri Kunde Schlesner2-3/+3
2017-01-26Shader: Don't read ShaderSetup from global stateYuri Kunde Schlesner1-3/+3
2017-01-26shader_jit_x64: Don't read program from global stateYuri Kunde Schlesner3-22/+22
2017-01-26VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngineYuri Kunde Schlesner4-19/+10
2017-01-26VideoCore/Shader: Split interpreter and JIT into separate ShaderEnginesYuri Kunde Schlesner6-96/+150
2017-01-26VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h}Yuri Kunde Schlesner3-2/+2
2017-01-26VideoCore/Shader: Split shader uniform state and shader engineYuri Kunde Schlesner3-16/+46
2017-01-26VideoCore/Shader: Add constness to methodsYuri Kunde Schlesner2-4/+4
2017-01-26VideoCore/Shader: Use only entry_point as ShaderSetup paramYuri Kunde Schlesner2-9/+11
2017-01-26VideoCore/Shader: Use self instead of g_state.vs in ShaderSetupYuri Kunde Schlesner2-11/+8
2017-01-26VideoCore/Shader: Extract input vertex loading code into functionYuri Kunde Schlesner2-20/+22
2017-01-23video_core: fix shader.cpp signed / unsigned warningKloen1-2/+2
2017-01-04Fix some warnings (#2399)Jonathan Hao1-2/+0
2016-12-16VideoCore/Shader: Extract DebugData out from UnitStateYuri Kunde Schlesner7-101/+97
2016-12-16Remove unnecessary castYuri Kunde Schlesner1-3/+1
2016-12-16VideoCore/Shader: Extract evaluate_condition lambda to function scopeYuri Kunde Schlesner1-26/+24
2016-12-16VideoCore/Shader: Extract call lambda up a scope and remove unused paramYuri Kunde Schlesner1-21/+17
2016-12-16VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffsetYuri Kunde Schlesner2-18/+11
2016-12-16VideoCore/Shader: Move DebugData to a separate fileYuri Kunde Schlesner3-172/+188
2016-12-15shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexingYuri Kunde Schlesner1-1/+1
2016-12-15VideoCore: Eliminate an unnecessary copy in the drawcall loopYuri Kunde Schlesner2-2/+2
2016-12-15shader_jit_x64: Use Reg32 for LOOP* registers, eliminating castsYuri Kunde Schlesner1-16/+16
2016-12-15VideoCore: Convert x64 shader JIT to use Xbyak for assemblyYuri Kunde Schlesner2-223/+225
2016-12-04shader_jit: Fix non-SSE4.1 path where FLR would not truncateJannik Vogel1-1/+1
2016-12-02shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shiftedJannik Vogel1-6/+9
2016-09-30VideoCore: Shader interpreter cleanupsYuri Kunde Schlesner1-32/+42
2016-09-30VideoCore: Fix out-of-bounds read in ShaderSetup::ProduceDebugInfoYuri Kunde Schlesner1-3/+1
2016-09-21Remove special rules for Windows.h and library includesYuri Kunde Schlesner1-1/+1
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner3-3/+3
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot5-22/+3
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner4-9/+6
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot6-311/+335
2016-09-16VideoCore: Fix dangling lambda context in shader interpreterYuri Kunde Schlesner1-1/+1
2016-05-16Retrieve shader result from new OutputRegisters-typeJannik Vogel3-56/+68
2016-05-13Use new shader-jit signature for interpreterJannik Vogel3-8/+8
2016-05-13Refactor access to state in shader-jitJannik Vogel4-24/+42
2016-05-12Move program_counter and call_stack from UnitState to interpreterJannik Vogel3-45/+42
2016-05-12Move default_attributes into Pica stateJannik Vogel1-2/+0
2016-05-11Turn ShaderSetup into structJannik Vogel2-52/+53
2016-05-11Pica: Add tc0.w to OutputVertexJannik Vogel1-1/+2
2016-05-03Pica: Replace logic in shader.cpp with loopJannik Vogel1-34/+4
2016-04-30VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot6-14/+43
2016-04-29Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner1-3/+0
2016-04-28Refactor: Extract VertexLoader from command_processor.cpp.Henrik Rydgard1-1/+1
2016-04-24shader: Shader size is long uint, not uint.Sam Spilsbury1-1/+1
2016-04-24shader: Handle non-CALL opcodes with a breakSam Spilsbury1-0/+2
2016-04-24shader: Format string must be provided inline and not as a variableSam Spilsbury1-1/+1
2016-04-14shader_jit_x64: Rename RuntimeAssert to Compile_Assert.bunnei2-5/+5
2016-04-14shader_jit_x64.cpp: Rename JitCompiler to JitShader.bunnei3-92/+92
2016-04-14shader_jit_x64: Free memory that's no longer needed after compilation.bunnei1-0/+6
2016-04-14shader_jit_x64: Use a sorted vector instead of a set for keeping track of return addresses.bunnei2-5/+8
2016-04-14shader_jit_x64: Use CALL/RET instead of JMP for subroutines.bunnei1-17/+7
2016-04-14shader_jit_x64: Separate initialization and code generation for readability.bunnei1-9/+8
2016-04-14shader_jit_x64: Get rid of unnecessary last_program_counter variable.bunnei2-6/+2
2016-04-14shader_jit_x64: Execute certain asserts at runtime.bunnei2-5/+19
2016-04-14shader: Remove unused 'state' argument from 'Setup' function.bunnei2-3/+2
2016-04-14shader_jit_x64: Specify shader main offset at runtime.bunnei3-10/+6
2016-04-14shader_jit_x64: Allocate each program independently and persist for emu session.bunnei3-38/+28
2016-04-14shader_jit_x64: Rewrite flow control to support arbitrary CALL and JMP instructions.bunnei2-35/+119
2016-04-14shader_jit_x64: Fix strict memory aliasing issues.bunnei1-1/+3
2016-04-05Common: Remove Common::make_unique, use std::make_uniqueMerryMage1-1/+0
2016-03-17video_core: Don't cast away constLioncash1-1/+1
2016-03-17shader_interpreter: use std::inner_product for the dot productLioncash1-5/+3
2016-03-15PICA: Fix MAD/MADI encodingJannik Vogel2-29/+33
2016-03-14Respect vs output mapJannik Vogel1-4/+14
2016-03-12shader_jit_x64: Clear cache after code space fills up.bunnei3-2/+19
2016-03-12shader_jit_x64: Make assert outputs more useful & cleanup formatting.bunnei1-4/+7
2016-03-12shader: Update log message to use proper log class.bunnei1-1/+1
2016-03-09Common: Get rid of alignment macrosLioncash1-4/+4
2016-03-03Add immediate mode vertex submissionDwayne Slater4-2/+22
2016-02-05pica: Implement decoding of basic fragment lighting components.bunnei2-5/+9
2016-01-25Shader: Implement "invert condition" feature of IFU instructionYuri Kunde Schlesner2-2/+5
2016-01-24Shader JIT: Fix off-by-one error when compiling JMPsYuri Kunde Schlesner2-6/+6
2015-09-11video_core: Reorganize headersLioncash3-6/+4
2015-09-11video_core: Remove unnecessary includes from headersLioncash1-2/+0
2015-09-10video_core: Remove unused variablesLioncash2-2/+0
2015-09-07Shader JIT: Use SCALE constant from emitteraroulin1-4/+4
2015-09-07Shader: Fix size_t to int casts of register offsetsaroulin2-15/+21
2015-09-02video_core: Fix format specifiers warningsaroulin1-1/+2
2015-09-01x64: Proper stack alignment in shader JIT function callsaroulin2-28/+18
2015-08-31Shader JIT: Fix SGE/SGEI NaN behavioraroulin1-3/+3
2015-08-27Shader JIT: Fix float to integer rounding in MOVAaroulin1-2/+2
2015-08-27Shader JIT: ifdef out reference to ifdef'd out shader_maparchshift1-0/+2
2015-08-25Integrate the MicroProfile profiling libraryYuri Kunde Schlesner1-0/+3
2015-08-24Shader JIT: Tiny micro-optimization in DPHYuri Kunde Schlesner1-4/+4
2015-08-24Shaders: Fix multiplications between 0.0 and infYuri Kunde Schlesner2-39/+45
2015-08-24Shaders: Explicitly conform to PICA semantics in MAX/MINYuri Kunde Schlesner2-2/+10
2015-08-24Shader JIT: Add name to second scratch register (XMM4)Yuri Kunde Schlesner1-3/+5
2015-08-24shader_jit: Replace two MDisp usages with MatRLioncash1-2/+2
2015-08-24Shader JIT: Fix CMP NaN behavior to match hardwareYuri Kunde Schlesner1-8/+23
2015-08-23Shader: Use std::sqrt for float instead of sqrtaroulin1-1/+1
2015-08-23Shader: RCP and RSQ computes only the 1st componentaroulin2-10/+10
2015-08-22Shader: implement DPH/DPHI in JITaroulin2-2/+36
2015-08-22Shader: implement DPH/DPHI in interpreteraroulin1-1/+8
2015-08-19Shader: implement SGE, SGEI and SLT in JITaroulin2-15/+36
2015-08-19Shader: implement SGE, SGEI in interpreteraroulin1-0/+14
2015-08-19Shader: Save caller-saved registers in JIT before a CALLaroulin2-0/+33
2015-08-17Shader: implement EX2 and LG2 in JITaroulin2-2/+22
2015-08-16Shader: implement EX2 and LG2 in interpreteraroulin1-0/+36
2015-08-16Build fix for Debug configurations.Tony Wasserka1-1/+1
2015-08-16Introduce a shader tracer to allow inspection of input/output values for each processed instruction.Tony Wasserka5-37/+322
2015-08-16citra-qt: Improve shader debugger.Tony Wasserka1-6/+0
2015-08-16Shader: Use a POD struct for registers.bunnei5-40/+43
2015-08-16Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.bunnei1-6/+5
2015-08-16Common: Cleanup CPU capability detection code.bunnei1-5/+5
2015-08-16Common: Move cpu_detect to x64 directory.bunnei1-2/+1
2015-08-16x64: Refactor to remove fake interfaces and general cleanups.bunnei5-144/+22
2015-08-16JIT: Support negative address offsets.bunnei1-26/+25
2015-08-16Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.bunnei6-2/+924
2015-08-15Common: Added MurmurHash3 hash function for general-purpose use.bunnei1-1/+1
2015-08-15Shader: Define a common interface for running vertex shader programs.bunnei4-184/+278
2015-08-15Shader: Move shader code to its own subdirectory, "shader".bunnei2-0/+701