Paris Oplopoios
8d33dcaa8e
Fix scratch1 overwriting ( #761 )
2025-06-25 03:25:48 +03:00
wheremyfoodat
0a0ea75013
GPU registers: Fix writes to some registers ignoring the mask ( #725 )
...
Co-authored-by: henry <23128103+atem2069@users.noreply.github.com >
2025-02-21 20:22:51 +02:00
wheremyfoodat
87652bfeda
x64 Shader JIT: Optimize SSE4.1 blending path
...
Co-Authored-By: Burhan R <53955076+burhanr13@users.noreply.github.com >
2024-11-28 21:36:16 +02:00
wheremyfoodat
bea7b00c7d
Draw acceleration: Replace multiplication for component sizes with left shift
2024-11-20 13:40:00 +02:00
Samuliak
d459f9c1c3
Merge branch 'master' into metal2
2024-11-01 08:43:40 +01:00
wheremyfoodat
965ea6d012
Shadergen: Log unimplemented LUT select indices
2024-10-31 22:05:05 +02:00
SamoZ256
02f8250aff
Merge branch 'master' into metal2
2024-10-31 13:45:58 +01:00
wheremyfoodat
5d28f11ccf
GPU: Add optimized NEON path for analyzing index buffers ( #613 )
...
* Implement ARM NEON index buffer analysis
* NEON: Fix initial index buffer minima/maxima
* NEON: Fix vertex count comparison for index buffer analysis
* GPU: Add SSE4.1 path for index buffer analysis
* Fix oopsie
* Fix oopsie, again
2024-10-20 20:02:02 +03:00
wheremyfoodat
49a94a13c5
Moar shader decompiler ( #559 )
...
* Renderer: Add prepareForDraw callback
* Add fmt submodule and port shader decompiler instructions to it
* Add shader acceleration setting
* Hook up vertex shaders to shader cache
* Shader decompiler: Fix redundant compilations
* Shader Decompiler: Fix vertex attribute upload
* Shader compiler: Simplify generated code for reading and faster compilation
* Further simplify shader decompiler output
* Shader decompiler: More smallen-ing
* Shader decompiler: Get PICA uniforms uploaded to the GPU
* Shader decompiler: Readd clipping
* Shader decompiler: Actually `break` on control flow instructions
* Shader decompiler: More control flow handling
* Shader decompiler: Fix desitnation mask
* Shader Decomp: Remove pair member capture in lambda (unsupported on NDK)
* Disgusting changes to handle the fact that hw shader shaders are 2x as big
* Shader decompiler: Implement proper output semantic mapping
* Moar instructions
* Shader decompiler: Add FLR/SLT/SLTI/SGE/SGEI
* Shader decompiler: Add register indexing
* Shader decompiler: Optimize mova with both x and y masked
* Shader decompiler: Add DPH/DPHI
* Fix shader caching being broken
* PICA decompiler: Cache VS uniforms
* Simply vertex cache code
* Simplify vertex cache code
* Shader decompiler: Add loops
* Shader decompiler: Implement safe multiplication
* Shader decompiler: Implement LG2/EX2
* Shader decompiler: More control flow
* Shader decompiler: Fix JMPU condition
* Shader decompiler: Convert main function to void
* PICA: Start implementing GPU vertex fetch
* More hw VAO work
* More hw VAO work
* More GPU vertex fetch code
* Add GL Stream Buffer from Duckstation
* GL: Actually upload data to stream buffers
* GPU: Cleanup immediate mode handling
* Get first renders working with accelerated draws
* Shader decompiler: Fix control flow analysis bugs
* HW shaders: Accelerate indexed draws
* Shader decompiler: Add support for compilation errors
* GLSL decompiler: Fall back for LITP
* Add Renderdoc scope classes
* Fix control flow analysis bug
* HW shaders: Fix attribute fetch
* Rewriting hw vertex fetch
* Stream buffer: Fix copy-paste mistake
* HW shaders: Fix indexed rendering
* HW shaders: Add padding attributes
* HW shaders: Avoid redundant glVertexAttrib4f calls
* HW shaders: Fix loops
* HW shaders: Make generated shaders slightly smaller
* Fix libretro build
* HW shaders: Fix android
* Remove redundant ubershader checks
* Set accelerate shader default to true
* Shader decompiler: Don't declare VS input attributes as an array
* Change ubuntu-latest to Ubuntu 24.04 because Microsoft screwed up their CI again
* fix merge conflict bug
2024-10-19 16:53:51 +03:00
wheremyfoodat
afaf18f124
GLES: Fix Set logic op
2024-10-14 00:42:35 +03:00
wheremyfoodat
fa9ce5fc70
GLES: Implement logic ops via fb fetch ( #608 )
...
* GLES: Implement logic ops via fb fetch
* Attempt to fix deprecated libglx-mesa0 package
* Update Qt_Build.yml
* GLES: Enable fb fetch instead of requiring it
* GLES: Add support for GL_ARM_shader_framebuffer_fetch
* Fix GL_EXT_shader_framebuffer_fetch behavior
2024-10-14 00:17:24 +03:00
wheremyfoodat
82068031f3
Shadergen: Pre-allocate space for shadergen string
2024-10-13 23:27:08 +03:00
SamoZ256
779e30e3e5
Merge branch 'master' into metal2
2024-09-24 09:22:17 +02:00
Paris Oplopoios
595e4e0341
More implicit conversion fixes, hopefully the last ones this time ( #591 )
...
* No implicit uint conversion
* Update gles.patch
2024-08-28 03:02:54 +03:00
Paris Oplopoios
201edfb02d
I hate the gles.patch ( #590 )
2024-08-27 19:47:27 +03:00
offtkp
e421f02500
GLES <= 3.1 lacks fma, added a define
2024-08-27 17:12:12 +03:00
wheremyfoodat
471bdd6ab9
GPU: Temporarily skip draws if they're too big instead of panicking
2024-08-20 16:02:06 +03:00
Samuliak
58e1a53699
metal: create renderer
2024-08-16 11:06:23 +02:00
wheremyfoodat
195f3388e9
PICA: Add LITP test + interpreter implementation
2024-08-02 22:53:51 +03:00
wheremyfoodat
f095e6af0b
Shadergen: Move comments outside of emitted source code
2024-07-26 14:44:11 +03:00
wheremyfoodat
32ddc28789
Shadergen: Move fog colour to uniform
2024-07-25 20:18:30 +03:00
wheremyfoodat
df5d14e3d8
Shadergen: Remove unused vertex shader code
2024-07-25 03:59:01 +03:00
wheremyfoodat
156c3031a2
More instructions in shader decompiler
2024-07-24 16:47:46 +03:00
wheremyfoodat
be75fa43a3
More shader->GLSL recompiler work
2024-07-24 02:03:29 +03:00
wheremyfoodat
0aa1ed21b2
More shader decompiler work
2024-07-23 01:22:26 +03:00
wheremyfoodat
a5ea268826
Merge branch 'master' into nyom
2024-07-22 15:46:27 +03:00
wheremyfoodat
85af58f0a7
Remove shader-related hallucinations
2024-07-22 02:06:24 +03:00
wheremyfoodat
2d72b66042
Initial shader decompilation work
2024-07-22 01:47:34 +03:00
offtkp
b8712b37c3
A few kissable changes
2024-07-21 18:26:02 +03:00
wheremyfoodat
d7bca1460c
Merge branch 'master' into nyom
2024-07-21 17:52:15 +03:00
wheremyfoodat
8fc61cdb7b
Add shader decompiler files
2024-07-21 17:52:06 +03:00
offtkp
b90c15919b
Shadergen fog
2024-07-21 17:45:02 +03:00
offtkp
4176a19256
Fog in ubershader
2024-07-21 17:38:07 +03:00
offtkp
b333bf8a0c
Use u32 for scale instead of float in FragmentConfig
2024-07-21 17:28:51 +03:00
wheremyfoodat
69c79a7f6c
Ubershader: Add lighting shadergen override
2024-07-20 03:40:50 +03:00
Paris Oplopoios
af552edd9d
Remove dependency of PICA regs in fragment config ( #541 )
...
Remove dependency of PICA regs in fragment config
Nyom
Nyom part 2
Nyom 3: The final nyom
Nyom 4: The nyomening
Nyom 5: The final Nyom for real
2024-07-20 02:37:49 +03:00
wheremyfoodat
eb7e02fbc2
Shadergen: Remove redundant whitespace generation
2024-07-19 18:20:21 +03:00
wheremyfoodat
9415cee59a
Enable shadergen by default for now
2024-07-19 18:02:42 +03:00
offtkp
e4550b3e4f
Fix pokedex3d on specialized shaders
2024-07-19 15:55:02 +03:00
wheremyfoodat
5c1e2912a3
Shadergen: Minimize shader compilation time by caching the default VS
2024-07-19 14:35:01 +03:00
wheremyfoodat
ac55c3e324
Shadergen: Fix small register decoding oopsie
2024-07-19 03:01:12 +03:00
offtkp
25098082c7
Use lutID instead of lutIndex
2024-07-19 02:45:09 +03:00
wheremyfoodat
90abf8a376
Fix signedness mess-ups in shaders
2024-07-19 01:31:04 +03:00
wheremyfoodat
53c76ae0d4
Shadergen: Fix spotlight
2024-07-18 23:57:43 +03:00
wheremyfoodat
bd38f9a8ab
Shadergen: Add spotlight
2024-07-18 23:34:23 +03:00
wheremyfoodat
2f50038db9
Shadergen: Lighting almost 100% working
2024-07-18 22:56:05 +03:00
wheremyfoodat
b4ae32960c
Moar lighting
2024-07-18 20:10:20 +03:00
wheremyfoodat
00037d8a5e
Shadergen: Start implementing lighting
2024-07-18 19:27:12 +03:00
wheremyfoodat
e1268f57b5
Shadergen: Fix attribute declarations
2024-07-18 04:23:00 +03:00
wheremyfoodat
7e480e35ec
Shadergen: Upload light uniforms
2024-07-18 03:37:11 +03:00