Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | video_code: support rectangle texture | FengChen | 2022-08-25 | 2 | -0/+2 |
| | |||||
* | general: Convert source file copyright comments over to SPDX | Morph | 2022-04-23 | 25 | -75/+50 |
| | | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later. | ||||
* | shader_compiler: support const buffer indirect addressing in GLSL | Liam | 2022-04-01 | 3 | -8/+37 |
| | |||||
* | shader_recompiler: Reduce unused includes | ameerj | 2022-03-20 | 7 | -13/+0 |
| | |||||
* | emit_glsl_atomic: Implement 32x2 fallback atomic ops | ameerj | 2022-01-30 | 1 | -9/+55 |
| | |||||
* | shaders: Add U64->U32x2 Atomic fallback functions | ameerj | 2022-01-30 | 2 | -0/+127 |
| | |||||
* | shader_recompiler: fix potential OOB access | v1993 | 2022-01-17 | 1 | -3/+4 |
| | | | | Found by static analysis with PVS-Studio. Original check wasn't actually checking for OOB and would segfault in case of it. | ||||
* | glsl: Remove unreachable return | Narr the Reg | 2022-01-05 | 1 | -1/+0 |
| | |||||
* | glsl: Add boolean reference workaround | ameerj | 2021-12-30 | 2 | -2/+6 |
| | |||||
* | glsl_context_get_set: Add alternative cbuf type for broken drivers | ameerj | 2021-12-30 | 2 | -17/+25 |
| | | | | some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed. | ||||
* | emit_glsl_integer: Use negation work around | ameerj | 2021-12-30 | 1 | -2/+2 |
| | |||||
* | shader: Add integer attribute get optimization pass | ameerj | 2021-12-30 | 2 | -0/+18 |
| | | | | Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0. | ||||
* | emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers | ameerj | 2021-12-25 | 1 | -2/+2 |
| | |||||
* | Remove glsl handle legacy related code | vonchenplus | 2021-12-18 | 3 | -103/+1 |
| | |||||
* | shader_recompiler: Adjust emit_context includes | ameerj | 2021-12-06 | 20 | -20/+20 |
| | |||||
* | shader_recompiler: Rename backend emit_context files | ameerj | 2021-12-05 | 2 | -0/+0 |
| | |||||
* | shader: Properly scale image reads and add GL SPIR-V support | ReinUsesLisp | 2021-11-16 | 2 | -1/+9 |
| | | | | Thanks for everything! | ||||
* | glsl/glasm: Pass and use scaling parameters in shaders | ReinUsesLisp | 2021-11-16 | 3 | -4/+4 |
| | |||||
* | gl_graphics_pipeline: Add downscale factor to shader uniforms | ameerj | 2021-11-16 | 2 | -2/+4 |
| | |||||
* | shader: Add IsTextureScaled opcode | ReinUsesLisp | 2021-11-16 | 2 | -0/+10 |
| | |||||
* | shader: Add integer division opcodes | ReinUsesLisp | 2021-11-16 | 2 | -0/+10 |
| | |||||
* | shader: Add resolution down factor opcode | ReinUsesLisp | 2021-11-16 | 2 | -0/+6 |
| | |||||
* | ShaderCache: Fix Phi Nodes Type on OGL. | Fernando Sahmkow | 2021-11-01 | 1 | -2/+2 |
| | |||||
* | style: Remove extra space preceding the :: operator | Morph | 2021-09-29 | 1 | -2/+2 |
| | |||||
* | emit_glsl_warp: Fix shuffle ops for 64-thread warp sizes | ameerj | 2021-08-31 | 1 | -24/+36 |
| | |||||
* | emit_glsl_warp: Fix ballot related ops for 64-thread warp sizes | ameerj | 2021-08-31 | 1 | -24/+38 |
| | |||||
* | glsl: Simplify FCMP emission | ameerj | 2021-07-23 | 1 | -6/+4 |
| | |||||
* | glsl: Update TessellationControl gl_in | ameerj | 2021-07-23 | 1 | -0/+28 |
| | | | | Adheres to GL_ARB_separate_shader_objects requirements | ||||
* | shader: Avoid usage of C++20 ranges to build in clang | ReinUsesLisp | 2021-07-23 | 1 | -2/+7 |
| | |||||
* | glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE | ameerj | 2021-07-23 | 1 | -2/+9 |
| | |||||
* | shader_recompiler, video_core: Resolve clang errors | lat9nq | 2021-07-23 | 1 | -1/+1 |
| | | | | | | | | | | Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors | ||||
* | shader: Ignore global memory ops on devices lacking int64 support | ameerj | 2021-07-23 | 2 | -9/+31 |
| | |||||
* | shader: GCC fmt 8.0.0 fixes | lat9nq | 2021-07-23 | 3 | -6/+6 |
| | |||||
* | shader: Fix disabled and unwritten attributes and varyings | ReinUsesLisp | 2021-07-23 | 1 | -2/+6 |
| | |||||
* | glsl: Fix shared and local memory declarations | ameerj | 2021-07-23 | 1 | -3/+3 |
| | | | | account for the fact that program.*memory_size is in units of bytes. | ||||
* | opengl: Implement LOP.CC | ameerj | 2021-07-23 | 1 | -3/+11 |
| | | | | Used by MH:Rise | ||||
* | glsl: Declare local memory in main | ameerj | 2021-07-23 | 1 | -3/+3 |
| | |||||
* | glsl: Add passthrough geometry shader support | ameerj | 2021-07-23 | 3 | -7/+27 |
| | |||||
* | shader: Rework varyings and implement passthrough geometry shaders | ReinUsesLisp | 2021-07-23 | 4 | -34/+32 |
| | | | | | | Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's. | ||||
* | glsl: Better IAdd Overflow CC fix | ameerj | 2021-07-23 | 2 | -11/+13 |
| | | | | This ensures the original operand values are not overwritten when being used in the overflow detection. | ||||
* | shader: Remove IAbs64 | ReinUsesLisp | 2021-07-23 | 2 | -5/+0 |
| | |||||
* | glsl: Fix IADD CC | ameerj | 2021-07-23 | 2 | -5/+7 |
| | |||||
* | shader: Move loop safety tests to code emission | ReinUsesLisp | 2021-07-23 | 4 | -11/+12 |
| | |||||
* | glsl: Remove frag color initialization | ameerj | 2021-07-23 | 1 | -9/+0 |
| | |||||
* | emit_glsl_special: Skip initialization of frag_color0 | ameerj | 2021-07-23 | 1 | -1/+1 |
| | | | | Fixes rendering in Devil May Cry without regressing Ori and the Blind Forest. | ||||
* | glsl: Add missing ; in EmitSetSampleMask | Morph | 2021-07-23 | 1 | -1/+1 |
| | | | | Fixes shader compilation in Okami HD | ||||
* | glsl: Fix output varying initialization when transform feedback is used | ameerj | 2021-07-23 | 1 | -3/+37 |
| | |||||
* | glsl: Fix cbuf component indexing bug falback | ameerj | 2021-07-23 | 1 | -7/+6 |
| | |||||
* | shader: Properly manage attributes not written from previous stages | ReinUsesLisp | 2021-07-23 | 4 | -29/+22 |
| | |||||
* | glsl: Only declare fragment outputs on fragment shaders | ReinUsesLisp | 2021-07-23 | 1 | -4/+6 |
| | |||||
* | shader: Split profile and runtime info headers | ReinUsesLisp | 2021-07-23 | 3 | -3/+2 |
| | |||||
* | glsl: Obey need_declared_frag_colors to declare and initialize all frag_color | ameerj | 2021-07-23 | 2 | -1/+10 |
| | | | | Fixes Ori and the blind forest title screen | ||||
* | glsl: Address rest of feedback | ameerj | 2021-07-23 | 4 | -19/+51 |
| | |||||
* | glsl: Move gl_Position/generic attribute initialization to EmitProlgue | ameerj | 2021-07-23 | 2 | -14/+12 |
| | |||||
* | glsl: Conditionally use fine/coarse derivatives based on device support | ameerj | 2021-07-23 | 2 | -4/+27 |
| | |||||
* | glsl: Cleanup/Address feedback | ameerj | 2021-07-23 | 8 | -28/+20 |
| | |||||
* | glsl: Add Shader_GLSL logging | ameerj | 2021-07-23 | 3 | -28/+32 |
| | |||||
* | glsl: Add LoopSafety instructions | ameerj | 2021-07-23 | 2 | -0/+10 |
| | |||||
* | glsl: Conditionally add EXT_texture_shadow_lod | ameerj | 2021-07-23 | 1 | -3/+5 |
| | |||||
* | glsl: Add stubs for sparse queries and variable aoffi when not supported | ameerj | 2021-07-23 | 3 | -13/+37 |
| | |||||
* | glsl: Implement legacy varyings | ameerj | 2021-07-23 | 4 | -7/+71 |
| | |||||
* | glsl: Minor cleanup | ameerj | 2021-07-23 | 2 | -19/+15 |
| | |||||
* | glsl: Fix Cbuf getters for F32 type | ameerj | 2021-07-23 | 1 | -12/+15 |
| | |||||
* | glsl: Add immediate index oob checking for Cbuf getters | ameerj | 2021-07-23 | 1 | -0/+16 |
| | |||||
* | glsl: Refactor GetCbuf functions to reduce code duplication | ameerj | 2021-07-23 | 1 | -104/+66 |
| | |||||
* | glsl: Address more feedback. Implement indexed texture reads | ameerj | 2021-07-23 | 5 | -111/+109 |
| | |||||
* | glsl: Remove Signed Integer variables | ameerj | 2021-07-23 | 8 | -43/+13 |
| | |||||
* | glsl: Address Rodrigo's feedback | ameerj | 2021-07-23 | 13 | -75/+87 |
| | |||||
* | glsl: Reorganize backend code, remove unneeded [[maybe_unused]] | ameerj | 2021-07-23 | 11 | -314/+251 |
| | |||||
* | glsl: Implement SampleId and SetSampleMask | ameerj | 2021-07-23 | 3 | -30/+35 |
| | | | | plus some minor refactoring of implementations | ||||
* | glsl: Add gl_PerVertex in for GS | ameerj | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | glsl: Use existing tracking for enabling EXT_shader_image_load_formatted | ameerj | 2021-07-23 | 1 | -15/+1 |
| | |||||
* | glsl: Enable early fragment tests | ameerj | 2021-07-23 | 2 | -4/+7 |
| | |||||
* | glsl: Implement more attribute getters and setters | ameerj | 2021-07-23 | 2 | -12/+60 |
| | |||||
* | glsl: Implement fswzadd | ameerj | 2021-07-23 | 3 | -5/+43 |
| | | | | and wip nv thread shuffle impl | ||||
* | glsl: Implement indexed attribute loads | ameerj | 2021-07-23 | 5 | -29/+64 |
| | |||||
* | glsl: Conditionally add GL_ARB_sparse_texture2 | ameerj | 2021-07-23 | 1 | -2/+3 |
| | |||||
* | glsl: Conditionally use GL_EXT_shader_image_load_formatted | ameerj | 2021-07-23 | 1 | -2/+18 |
| | | | | Fix for SULD.D | ||||
* | glsl: Remove output generic indexing for geometry stage | ameerj | 2021-07-23 | 1 | -5/+3 |
| | |||||
* | glsl: Allow dynamic tracking of variable allocation | ameerj | 2021-07-23 | 3 | -21/+35 |
| | |||||
* | glsl: Implement barriers | ameerj | 2021-07-23 | 3 | -13/+21 |
| | |||||
* | glsl: Implement image atomics and set layer | ameerj | 2021-07-23 | 4 | -152/+202 |
| | | | | along with some more cleanup/oversight fixes | ||||
* | glsl: Fix image gather logic | ameerj | 2021-07-23 | 1 | -0/+4 |
| | |||||
* | glsl: Add cbuf access workaround for devices with component indexing bug | ameerj | 2021-07-23 | 1 | -51/+110 |
| | |||||
* | glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupported | ameerj | 2021-07-23 | 2 | -8/+40 |
| | |||||
* | emit_glsl_image: Use immediate offsets when possible | ameerj | 2021-07-23 | 1 | -12/+33 |
| | |||||
* | glsl: Fix <32-bit SSBO writes | ameerj | 2021-07-23 | 4 | -50/+43 |
| | | | | and more cleanup | ||||
* | glsl: Cleanup and address feedback | ameerj | 2021-07-23 | 10 | -86/+69 |
| | |||||
* | glsl: Refactor Global memory functions | ameerj | 2021-07-23 | 2 | -71/+73 |
| | |||||
* | glsl: Increase NUM_VARS that can be allocated | ameerj | 2021-07-23 | 1 | -1/+1 |
| | | | | needed for HW:AoC. | ||||
* | glsl: Implement Load/WriteGlobal | ameerj | 2021-07-23 | 9 | -98/+185 |
| | | | | along with some other misc changes and fixes | ||||
* | glsl: Implement Images | ameerj | 2021-07-23 | 2 | -9/+74 |
| | |||||
* | glsl: skip gl_ViewportIndex write if device does not support it | ameerj | 2021-07-23 | 3 | -8/+16 |
| | |||||
* | glsl: Implement transform feedback | ameerj | 2021-07-23 | 3 | -13/+63 |
| | |||||
* | glsl: Yet another gl_ViewportIndex fix attempt | ameerj | 2021-07-23 | 1 | -3/+19 |
| | |||||
* | glsl: Add gl_ViewportIndex out attribute | ameerj | 2021-07-23 | 1 | -1/+3 |
| | |||||
* | emit_glsl_context_get_set: Remove unused function | lat9nq | 2021-07-23 | 1 | -4/+0 |
| | |||||
* | glsl: Fix precise variable declaration | ameerj | 2021-07-23 | 3 | -24/+25 |
| | | | | and add some more separation in the shader for better debugability when dumped | ||||
* | glsl: Implement tessellation shaders | ameerj | 2021-07-23 | 5 | -27/+146 |
| | |||||
* | glsl: Implement ImageGradient and other texture function variants | ameerj | 2021-07-23 | 2 | -32/+73 |
| | |||||
* | glsl: Fix atomic SSBO offsets | ameerj | 2021-07-23 | 4 | -67/+74 |
| | | | | and implement misc getters | ||||
* | glsl: Implement geometry shaders | ameerj | 2021-07-23 | 4 | -9/+62 |
| | |||||
* | glsl: Use NotImplemented macro with function name output | ameerj | 2021-07-23 | 10 | -104/+103 |
| | |||||
* | glsl: Implement gl_ViewportIndex | ameerj | 2021-07-23 | 3 | -5/+14 |
| | | | | SSBU now working | ||||
* | glsl: SHFL fix and prefer shift operations over divide in glsl shader | ameerj | 2021-07-23 | 5 | -63/+64 |
| | |||||
* | glsl: Implement precise fp variable allocation | ameerj | 2021-07-23 | 4 | -8/+67 |
| | |||||
* | HACK glsl: Write defaults to unused generic attributes | ameerj | 2021-07-23 | 2 | -2/+11 |
| | |||||
* | glsl: Fix ssbo indexing and name shadowing between shader stages | ameerj | 2021-07-23 | 3 | -77/+101 |
| | |||||
* | glsl: implement set clip distance | ameerj | 2021-07-23 | 2 | -0/+15 |
| | | | | and missed a diff in emit_glsl relating to var alloc ref counting | ||||
* | glsl: Rework var alloc to not assign unused results | ameerj | 2021-07-23 | 9 | -49/+91 |
| | |||||
* | glsl: Rework variable allocator to allow for variable reuse | ameerj | 2021-07-23 | 13 | -351/+480 |
| | |||||
* | glsl: Fix ATOM and implement ATOMS | ameerj | 2021-07-23 | 4 | -114/+130 |
| | |||||
* | glsl: Use gl_SubGroupInvocationARB | ameerj | 2021-07-23 | 2 | -8/+7 |
| | |||||
* | glsl: Implement VOTE for subgroup size potentially larger | ameerj | 2021-07-23 | 2 | -19/+36 |
| | |||||
* | glsl: Implement VOTE | ameerj | 2021-07-23 | 4 | -50/+64 |
| | |||||
* | glsl: Implement ST{LS} | ameerj | 2021-07-23 | 6 | -69/+106 |
| | |||||
* | glsl: Implement more instructions used by SMO | ameerj | 2021-07-23 | 1 | -3/+3 |
| | |||||
* | glsl: Implement more instructions used by SMO | ameerj | 2021-07-23 | 5 | -10/+16 |
| | |||||
* | glsl: Fix GetAttribute return values | ameerj | 2021-07-23 | 2 | -7/+9 |
| | | | | fixes font rendering issues as these were used to index into the ssbos | ||||
* | glsl: minor cleanup | ameerj | 2021-07-23 | 4 | -20/+19 |
| | |||||
* | glsl: Fix and implement rest of cbuf access | ameerj | 2021-07-23 | 1 | -7/+43 |
| | |||||
* | glsl: Implement TXQ and other misc changes | ameerj | 2021-07-23 | 5 | -6/+36 |
| | |||||
* | glsl: TLD4 implementation | ameerj | 2021-07-23 | 1 | -2/+89 |
| | |||||
* | glsl: Implement TLD instruction | ameerj | 2021-07-23 | 1 | -1/+55 |
| | |||||
* | glsl: Implement TEXS | ameerj | 2021-07-23 | 1 | -1/+29 |
| | |||||
* | glsl: Cleanup texture functions | ameerj | 2021-07-23 | 1 | -13/+11 |
| | |||||
* | shader_recompiler: GCC fixes | lat9nq | 2021-07-23 | 14 | -3/+13 |
| | |||||
* | glsl: Implement TEX depth functions | ameerj | 2021-07-23 | 2 | -4/+46 |
| | |||||
* | glsl: Implement TEX ImageSample functions | ameerj | 2021-07-23 | 3 | -11/+71 |
| | |||||
* | glsl: Rework Shuffle emit instructions to align with SPIR-V | ameerj | 2021-07-23 | 1 | -19/+40 |
| | |||||
* | glsl: Better Storage access and wip warps | ameerj | 2021-07-23 | 8 | -62/+133 |
| | |||||
* | glsl: Fix integer conversions, implement clamp CC | ameerj | 2021-07-23 | 2 | -27/+36 |
| | |||||
* | glsl: Implement IADD CC | ameerj | 2021-07-23 | 2 | -2/+17 |
| | |||||
* | glsl: SSBO access fixes and wip SampleExplicitLod implementation. | ameerj | 2021-07-23 | 2 | -4/+19 |
| | |||||
* | glsl: WIP var forward declaration | ameerj | 2021-07-23 | 6 | -49/+60 |
| | | | | to fix Loop control flow. | ||||
* | glsl: Fix bindings, add some CC ops | ameerj | 2021-07-23 | 8 | -57/+91 |
| | |||||
* | glsl: remove unused headers | ameerj | 2021-07-23 | 14 | -34/+10 |
| | |||||
* | glsl: Implement derivatives and YDirection | ameerj | 2021-07-23 | 8 | -81/+87 |
| | | | | plus some other misc additions/changed | ||||
* | glsl: Fix non-immediate buffer access | ameerj | 2021-07-23 | 12 | -72/+133 |
| | | | | and many other misc implementations | ||||
* | glsl: textures wip | ameerj | 2021-07-23 | 9 | -75/+139 |
| | |||||
* | glsl: Implement some attribute getters and setters | ameerj | 2021-07-23 | 9 | -191/+337 |
| | |||||
* | glsl: Track S32 atomics | ameerj | 2021-07-23 | 1 | -3/+6 |
| | |||||
* | glsl: Update phi node management | ameerj | 2021-07-23 | 4 | -21/+53 |
| | |||||
* | glsl: Fix floating point compare ops | ameerj | 2021-07-23 | 1 | -28/+28 |
| | | | | Logic for ordered/unordered ops was wrong. | ||||
* | glsl: Query GL Device for FP16 extension support | ameerj | 2021-07-23 | 1 | -2/+7 |
| | |||||
* | glsl: Simply FP storage atomics | ameerj | 2021-07-23 | 2 | -48/+28 |
| | |||||
* | glsl: F16x2 storage atomics | ameerj | 2021-07-23 | 7 | -58/+64 |
| | |||||
* | glsl: Revert ssbo aliasing. Storage Atomics impl | ameerj | 2021-07-23 | 4 | -68/+132 |
| | |||||
* | glsl: implement phi nodes | ameerj | 2021-07-23 | 4 | -20/+54 |
| | |||||
* | glsl: Wip storage atomic ops | ameerj | 2021-07-23 | 8 | -325/+406 |
| | |||||
* | glsl: Implement FCMP | ameerj | 2021-07-23 | 3 | -242/+185 |
| | |||||
* | glsl: Add a more robust fp formatter | ameerj | 2021-07-23 | 4 | -9/+14 |
| | |||||
* | glsl: More FP fixes | ameerj | 2021-07-23 | 2 | -9/+16 |
| | |||||
* | glsl: FP function fixes | ameerj | 2021-07-23 | 7 | -17/+25 |
| | |||||
* | glsl: More FP instructions/fixes | ameerj | 2021-07-23 | 5 | -28/+41 |
| | |||||
* | glsl: Add many FP32/64 instructions | ameerj | 2021-07-23 | 12 | -765/+1011 |
| | |||||
* | glsl: Implement more Integer ops | ameerj | 2021-07-23 | 3 | -119/+72 |
| | |||||
* | glsl: Implement BF* | ameerj | 2021-07-23 | 3 | -9/+10 |
| | |||||
* | glsl: Implement a few Integer instructions | ameerj | 2021-07-23 | 10 | -260/+398 |
| | |||||
* | glsl: Use std::string_view for Emit function args. | ameerj | 2021-07-23 | 6 | -760/+838 |
| | |||||
* | glsl: Pass IR::Inst& to Emit functions | ameerj | 2021-07-23 | 6 | -171/+169 |
| | |||||
* | glsl: INeg and IAdd negate tests | ameerj | 2021-07-23 | 3 | -94/+106 |
| | |||||
* | glsl: Reusable typed variables. IADD32 | ameerj | 2021-07-23 | 6 | -203/+311 |
| | |||||
* | glsl: Fix program linking and cbuf | ameerj | 2021-07-23 | 2 | -3/+5 |
| | |||||
* | glsl: Fix "reg" allocing | ameerj | 2021-07-23 | 10 | -898/+938 |
| | | | | based on glasm with some tweaks | ||||
* | glsl: Initial backend | ameerj | 2021-07-23 | 26 | -0/+3266 |