Commit graph

1260 commits

Author SHA1 Message Date
Samuliak
f322ba5102
Merge branch 'master' into metal2 2024-11-05 19:05:23 +01:00
wheremyfoodat
70d93a1ad8 HLE DSP: Enable AAC by default 2024-11-02 21:58:27 +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
Samuliak
272c24d8e4
don't bind resources unnecessarily 2024-10-31 13:45:05 +01:00
Samuliak
158be432fc
rework the lut system 2024-10-31 09:25:01 +01:00
wheremyfoodat
cdc61ea95a
GL renderer: Add fallback for when driver doesn't provide glDrawRangeElementsBaseVertex (#617)
* GL: Add fallback for when driver doesn't provide glDrawRangeElementsBaseVertex

* GL: Fix fallback when glDrawRangeElementsBaseVertex is absent
2024-10-23 22:43:58 +03:00
wheremyfoodat
54d0618f02
Fonts: Fix IWYU bug 2024-10-23 10:57:59 +03:00
wheremyfoodat
8c80099339 Implement shared font relocation 2024-10-22 19:13:25 +03: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
89d129211e
HLE DSP: Add AAC decoder toggle for enabling/disabling AAC decoding (#611)
* HLE DSP: Add AAC decoder toggle

* Fix derp
2024-10-19 17:23:54 +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
wheremyfoodat
3e72323653 HLE DSP: Initial mixer work 2024-09-29 00:32:51 +03:00
SamoZ256
779e30e3e5
Merge branch 'master' into metal2 2024-09-24 09:22:17 +02:00
Jonian Guveli
c12c3bce8d
Prevent app crash when miniaudio samples bigger than capacity (#596)
* Prevent app crash when miniaudio samples bigger than capacity

* Update miniaudio_device.cpp

---------

Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
2024-09-07 16:20:41 +03:00
wheremyfoodat
545bbd5c45 HLE DSP: Implement AAC audio decoder 2024-09-05 00:06:48 +03:00
Samuliak
8830747e90 clear render targets after creation 2024-08-29 19:43:36 +02:00
Jonian Guveli
4adc50039c
Add build option for opengl profile (#592)
* Add opengl_profile build option

on android the option is set to OpenGLES by default

* Replace android checks with using_gles
2024-08-28 12:01:55 +00: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
Samuliak
98b5d56021 metal: add all the files 2024-08-16 10:06:56 +02:00
wheremyfoodat
c772b1c702 Initial accelerometer support 2024-08-15 17:31:55 +03:00
wheremyfoodat
d208c24c0c Implement controller gyroscope in SDL 2024-08-14 22:35:02 +03:00
wheremyfoodat
88e0782f71 HLE DSP: Fix source resetting 2024-08-14 20:13:38 +03:00
wheremyfoodat
0cf5687e64
Merge pull request #566 from wheremyfoodat/hle-dsp
Fixing remaining HLE DSP hangs
2024-08-04 14:35:44 +00:00
wheremyfoodat
85bae2e94e HLE DSP: Handle cycle drifting 2024-08-04 16:46:43 +03:00
wheremyfoodat
195f3388e9 PICA: Add LITP test + interpreter implementation 2024-08-02 22:53:51 +03:00
wheremyfoodat
e666afd1a3 DSP HLE: Fix buffer queue metadata 2024-07-31 02:51:40 +03:00
wheremyfoodat
bec63c43a1
AES: Properly handle missing seeds 2024-07-30 14:36:39 +03:00
wheremyfoodat
f572373fc1 AES: Implement seed crypto 2024-07-30 14:29:18 +03:00
wheremyfoodat
e26f58595e HLE DSP: Reset flags should take priority 2024-07-30 00:36:16 +03:00
wheremyfoodat
6668ba3e37 HLE DSP: Fix embedded buffer starting sample position 2024-07-29 23:46:36 +03:00
wheremyfoodat
57ecc18f32 HLE DSP: Implement buffer queue dirty bit 2024-07-29 23:03:17 +03:00
wheremyfoodat
45dd69d62a HLE DSP: Pop unused samples when loading new buffer 2024-07-29 21:58:00 +03:00
wheremyfoodat
c7db6fe5dc FIx DSP region calculation 2024-07-29 19:54:46 +03:00
wheremyfoodat
908222f26f
HLE DSP: Don't printf on buffer queue dirty 2024-07-28 19:05:50 +03:00
wheremyfoodat
e557bd2976
Fix HLE__DSP::RecvData 2024-07-28 19:03:05 +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
a0e506affc Share fragment UBO between shadergen programs 2024-07-25 19:51:29 +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