summaryrefslogtreecommitdiff
path: root/src/shader_recompiler
AgeCommit message (Collapse)Author
2024-12-31shader_recompiler: Fix ISBERD instruction implementationZephyron
- Simplify ISBERD instruction to handle register-to-register moves - Remove incorrect CompositeConstruct usage - Replace with direct register value passing - Fix compilation errors in internal stage buffer handling
2024-12-31shader_recompiler: Use FPRecip in FSWZADD implementationZephyron
Simplifies the negative reciprocal calculation in FSWZADD by using the dedicated FPRecip operation instead of manually constructing a division. This change: - Replaces FPDiv(Imm32(f32(1.0f)), src_b) with FPRecip(src_b) - Results in more efficient code for calculating 1.0/x - Fixes build errors from undefined IR emitter methods
2024-12-31shader_recompiler: Fix method names in FSWZADD implementationZephyron
Fixes incorrect method names in the floating point swizzled add implementation: - FNeg -> FPNeg - FDiv -> FPDiv - FImm32(1.0f) -> Imm32(ir.f32(1.0f)) These changes align with the correct IR emitter interface naming conventions, where floating-point operations use the 'FP' prefix and immediate values are properly constructed using f32().
2024-12-31shader_recompiler: Implement ISBERD instructionZephyron
Implements the Internal Stage Buffer Entry Read (ISBERD) instruction in the Maxwell shader recompiler. This replaces the previous stubbed implementation with actual buffer reading functionality. The implementation: - Validates unsupported features (skew, o, mode, shift) - Performs buffer read using IR::InternalStageBufferRead - Stores the read value to the destination register This removes the "(STUBBED) called" warning messages that were previously being logged during shader compilation.
2024-12-31shader_recompiler: Implement ISBERD instruction modes and shiftsZephyron
Implements the ISBERD (Internal Stage Buffer Entry Read) instruction's mode and shift options that were previously throwing NotImplemented exceptions. This includes: - Patch mode for reading patch data - Prim mode for reading primitive data - Attr mode for reading attribute data - U16 shift for 16-bit unsigned values - B32 shift for 32-bit values The implementation follows Maxwell's ISA specification for handling different buffer read modes and data shifts.
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2024-02-22Merge pull request #13075 from liamwhite/mali-having-a-bad-timeNarr the Reg
shader_recompiler: throw on missing geometry streams in geometry shaders
2024-02-19shader_recompiler: throw on missing geometry streams in geometry shadersLiam
2024-02-15shader_recompiler: fix non-const offset for arrayed image typesLiam
2024-02-15Revert "shader_recompiler: use only ConstOffset for OpImageFetch"Liam
This reverts commit f296a9ce9a1a144d322d54d4628dba6f8a800cb7.
2024-02-05shader_recompiler: use only ConstOffset for OpImageFetchLiam
2024-01-18Merge pull request #12644 from liamwhite/vkspec-image-offsetliamwhite
shader_recompiler: fix Offset operand usage for non-OpImage*Gather
2024-01-16Merge remote-tracking branch 'origin/master' into typos3Viktor Szépe
2024-01-15Fix more typosViktor Szépe
2024-01-11shader_recompiler: emulate 8-bit and 16-bit storage writes with cas loopLiam
2024-01-11shader_recompiler: fix Offset operand usage for non-OpImage*GatherLiam
2024-01-07Fix "Propietary" typo elsewhereViktor Szépe
2024-01-04Merge pull request #12437 from ameerj/gl-amd-fixesliamwhite
OpenGL: Fixes and workaround updates for AMD
2023-12-26shader_recompiler: use default value for clip distances arrayLiam
2023-12-26shader_recompiler: respect clip distance limits in indexed storeLiam
2023-12-22Merge pull request #12435 from liamwhite/type-checkFernando S
shader_recompiler: ensure derivatives for textureGrad are f32
2023-12-21spirv_emit_context: Fix BaseInstance for OGL spirvAmeer J
2023-12-21shader_recompiler: ensure derivatives for textureGrad are f32Liam
2023-12-21shader_recompiler: use float image operations on load/store when requiredLiam
2023-12-20emit_glsl_image: Use inlined texelFetch offsetsAmeer J
2023-12-18shader_recompiler: use minimal clip distance arrayLiam
2023-12-18shader_recompiler: ignore clip distances beyond driver support levelLiam
2023-12-03Merge pull request #12196 from ameerj/glsl-cbuf-sizesliamwhite
GLSL: Use known cbuf sizes when possible
2023-11-26GLSL: Prefer known used cbuf sizesAmeer J
2023-11-26Merge branch 'master' into ssbo-alignAmeer J
2023-11-19renderer_vulkan: ignore viewport stores on non-supporting driversLiam
2023-11-19Merge pull request #12066 from ameerj/nvidia-nsanityliamwhite
shader_recompiler: add byteswap pattern workaround for Nvidia
2023-11-18shader_recompiler: Fix spelling of "derivate" (#12067)Ameer J
2023-11-17shader_recompiler: add byteswap pattern workaround for NvidiaAmeer J
2023-10-31shader_recompiler: Align SSBO offsets in GlobalMemory functionsAmeer J
2023-10-31shader_recompiler: Align SSBO offsets to meet host requirementsAmeer J
Co-Authored-By: Billy Laws <blaws05@gmail.com>
2023-10-23Merge pull request #11847 from ameerj/glsl-shfl-fixliamwhite
emit_glsl_warp: Fix shfl_in_bounds conditional
2023-10-22emit_glsl_warp: Fix shfl_in_bounds conditionalAmeer J
2023-10-19Manually robust on Maxwell and earlierKelebek1
2023-10-02ci: fix new codespell errorsLiam
2023-09-22emit_spirv: fix incorrect use of descriptor index in image atomicsLiam
2023-09-14shader_recompiler: skip sampler for buffer textures (#11435)liamwhite
2023-09-10Merge pull request #11436 from liamwhite/bad-formatliamwhite
shader_recompiler: always declare image format for image buffers
2023-09-06Merge pull request #11434 from danilaml/fix-warningsliamwhite
msvc: set warning level to /W4 globally
2023-09-03msvc: set warning level to /W4 globallyDanila Malyutin
And fix a bunch of warnings
2023-09-02shader_recompiler: always declare image format for image buffersLiam
2023-09-02Merge pull request #11383 from FernandoS27/are-you-a-wabbitliamwhite
Fix regressions that damaged compute indirect & use reinterpret for copies with different byteblocksizes
2023-09-01shader_recompiler: fix emulation of 3D textureGradLiam
2023-08-27Shader Recompiler: Auto stub special registers and dump pipelines on exception.Fernando Sahmkow
2023-08-18Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagationFernando Sahmkow