summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/glasm/emit_glasm.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-06-26emit_glasm: Fix lmem size computationameerj1-1/+1
2023-01-27glasm: Add MS sampler typesameerj1-0/+2
2022-11-17shader: Implement miss attribute layerFengChen1-0/+1
2022-09-23chore: fix some typosAndrea Pappacoda1-1/+1
Fix some typos reported by Lintian
2022-09-20video_core: Generate mipmap texture by drawingFengChen1-0/+3
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
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.
2021-12-06shader_recompiler: Adjust emit_context includesameerj1-1/+1
2021-11-16glsl/glasm: Pass and use scaling parameters in shadersReinUsesLisp1-0/+3
2021-07-26emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()Lioncash1-1/+1
This should be LINES_ADJACENCY
2021-07-23shader: Avoid usage of C++20 ranges to build in clangReinUsesLisp1-2/+5
2021-07-23glasm: Add passthrough geometry shader supportReinUsesLisp1-5/+23
2021-07-23shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp1-2/+4
Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
2021-07-23shader: Move loop safety tests to code emissionReinUsesLisp1-0/+17
2021-07-23glasm: Implement SetAttribute ViewportMaskameerj1-1/+2
2021-07-23shader: Split profile and runtime info headersReinUsesLisp1-0/+1
2021-07-23shader: Add loggingReinUsesLisp1-1/+1
2021-07-23glasm: Use ARB_derivative_control conditionallyReinUsesLisp1-3/+4
2021-07-23opengl: Declare fragment outputs even if they are not usedReinUsesLisp1-2/+1
Fixes Ori and the Blind Forest's menu on GLASM. For some reason (probably high level optimizations) it is not sanitized on SPIR-V for OpenGL. Vulkan is unaffected by this change.
2021-07-23glasm: Reduce reg allocation leaks from an exception to a logReinUsesLisp1-1/+1
2021-07-23glasm: Implement Y directionReinUsesLisp1-0/+3
2021-07-23glasm: Release phi node registers after they are no longer neededReinUsesLisp1-31/+22
2021-07-23glasm: Remove unnecessary value typesReinUsesLisp1-11/+1
2021-07-23glasm: Throw when there are register leaksReinUsesLisp1-0/+3
2021-07-23glasm: Catch more register leaksReinUsesLisp1-1/+7
Add support for null registers. These are used when an instruction has no usages. This comes handy when an instruction is only used for its CC value, with the caveat of having to invalidate all pseudo-instructions before defining the instruction itself in the register allocator. This commits changes this. Workaround a bug on Nvidia's condition codes conditional execution using branches.
2021-07-23glasm: Fix usage counting on phi nodesReinUsesLisp1-3/+9
2021-07-23gl_shader_cache,glasm: Conditionally use typeless image reads extensionReinUsesLisp1-2/+4
2021-07-23glasm: Implement forced early ZReinUsesLisp1-2/+6
2021-07-23shader: Split profile and runtime information in separate structsReinUsesLisp1-9/+10
2021-07-23glasm: Implement FSWZADDameerj1-1/+15
2021-07-23glasm: Fix tessellation headersReinUsesLisp1-2/+2
2021-07-23glasm: Add tessellation shader declarationsReinUsesLisp1-0/+35
2021-07-23glasm: Declare geometry program headersReinUsesLisp1-0/+35
2021-07-23glasm: Implement ImageReadReinUsesLisp1-1/+2
2021-07-23glasm: Implement stores to gl_ViewportIndexReinUsesLisp1-4/+12
2021-07-23glasm: Support textures used in more than one stageReinUsesLisp1-2/+2
2021-07-23shader: Read branch conditions from an instructionReinUsesLisp1-1/+1
Fixes the identity removal pass.
2021-07-23glasm: Implement TEX and TEXS instructionsReinUsesLisp1-0/+3
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
2021-07-23emit_glasm: Enable ARB_draw_buffers when neededReinUsesLisp1-0/+4
2021-07-23shader_recompiler: GCC fixeslat9nq1-8/+8
Fixes members of unnamed union not being accessible, and one function without a declaration.
2021-07-23glasm: Add Void type to GLASM valuesReinUsesLisp1-0/+1
2021-07-23glasm: Add graphics specific shader declarations to GLASMReinUsesLisp1-6/+26
2021-07-23glasm: Implement local memory for glasmameerj1-0/+3
2021-07-23glasm: Initial implementation of phi nodes on GLASMReinUsesLisp1-3/+56
2021-07-23glasm: Declare NV_shader_thread_group when neededReinUsesLisp1-3/+4
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp1-7/+34
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-23glasm: Implement Storage atomicsameerj1-0/+7
StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit result into the register
2021-07-23glasm: Ensure reg alloc order across compilers on GLASMReinUsesLisp1-11/+14
Use a struct constructor to serialize register allocation arguments to ensure registers are allocated in the same order regardless of the compiler used. The A and B functions can be called in any order when passed as arguments to "foo": foo(A(), B()) But the order is guaranteed for curly-braced constructor calls in classes: Foo{A(), B()} Use this to get consistent behavior.
2021-07-23glasm: Enable unintentionally disabled register aliasing on GLASMReinUsesLisp1-16/+11
2021-07-23glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp1-0/+6
2021-07-23glasm: Fix register allocation when moving immediate on GLASMReinUsesLisp1-11/+39
2021-07-23glasm: Fix moving U64 immediates to registers in GLASMReinUsesLisp1-1/+2
2021-07-23glasm: Implement storage atomic opsameerj1-0/+13
2021-07-23glasm: Add conversion instructions to GLASMReinUsesLisp1-0/+3
2021-07-23glasm: Initial GLASM fp64 supportReinUsesLisp1-4/+13
2021-07-23glasm: Implement GLASM fp16 packing and move bitwise insnsReinUsesLisp1-40/+0
2021-07-23glasm: Make GLASM aware of typesReinUsesLisp1-18/+77
2021-07-23glasm: Remove unused argument in identity instructions on GLASMReinUsesLisp1-7/+7
2021-07-23glasm: Implement basic GLASM instructionsReinUsesLisp1-3/+63
2021-07-23glasm: Add GLASM backend infrastructureReinUsesLisp1-0/+95