aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glsl/glsl_emit_context.cpp
Commit message (Collapse)AuthorAgeFilesLines
* shader_recompiler: translate Switch 2 task and mesh programsTakoroka3 days1-0/+3
| | | | | | | | | | | | | | | | | | | | | | | Mario Kart World draws some of its geometry with NVN task and mesh programs (the task program culls and writes the mesh workgroup count and a payload to its stage buffer; each mesh workgroup reads it back and writes vertices and primitives). Add Task and Mesh stages and translate them for VK_EXT_mesh_shader: - the ISBE pseudo instruction from the lowering becomes reads and writes of an emulated stage buffer: the task's output region is the task payload, the mesh output regions live in workgroup memory - every EXIT of these stages jumps to one final return, so all invocations reach the epilogue: a barrier, then OpEmitMeshTasksEXT, or OpSetMeshOutputsEXT and a copy of the 32-element vertex and primitive groups (lines named by the mesh header's and the pass-through geometry header's output maps) to arrayed and per-primitive outputs - Sirit lacks the two mesh instructions: they are emitted as OpStore markers and replaced after assembly - fragment inputs a mesh program writes per primitive get PerPrimitiveEXT The captured task and mesh programs of the title translate to SPIR-V that spirv-val accepts.
* [opengl] fix GL_NV_geometry_shader_passthrough compiler complaints (#3357)lizzie2026-01-211-4/+6
| | | | | | | | | | | | | | | this can be seen immediately on startup of switch sports where the passthru geometry shader will spectacularly fail to compile because the driver complains about re-declaration this is just a simple and quickie fix for that Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3357 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: DraVee <dravee@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [meta] fix license headers (#2547)lizzie2025-09-211-0/+3
| | | | | | | Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [cmake] enable clang-cl and WoA builds (#348)lizzie2025-09-091-3/+3
| | | | | | | | | | | | | | Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64. Compiling on clang is *dramatically* faster so this should be useful for CI. Co-authored-by: crueter <crueter@eden-emu.dev> Co-authored-by: crueter <crueter@crueter.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* Fix more typosViktor Szépe2024-01-151-2/+2
|
* Merge pull request #12196 from ameerj/glsl-cbuf-sizesliamwhite2023-12-031-1/+4
|\ | | | | GLSL: Use known cbuf sizes when possible
| * GLSL: Prefer known used cbuf sizesAmeer J2023-11-261-1/+4
| |
* | shader_recompiler: Align SSBO offsets in GlobalMemory functionsAmeer J2023-10-311-1/+4
|/
* Remove memory allocations in some hot pathsKelebek12023-06-221-1/+1
|
* glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMaskameerj2023-02-081-6/+0
| | | | These built-ins seem to be available without needing to be declared for fragment shaders, similar i.e. to gl_FragDepth
* glsl: Add MS sampler typesameerj2023-01-271-22/+27
|
* video_core: Generate mipmap texture by drawingFengChen2022-09-201-0/+3
|
* video_code: support rectangle textureFengChen2022-08-251-0/+1
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-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.
* shader_compiler: support const buffer indirect addressing in GLSLLiam2022-04-011-0/+19
|
* shader_recompiler: fix potential OOB accessv19932022-01-171-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_context_get_set: Add alternative cbuf type for broken driversameerj2021-12-291-3/+4
| | | | 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.
* Remove glsl handle legacy related codevonchenplus2021-12-181-38/+0
|
* shader_recompiler: Adjust emit_context includesameerj2021-12-051-1/+1
|
* shader_recompiler: Rename backend emit_context filesameerj2021-12-051-0/+718