Commit graph

1056 commits

Author SHA1 Message Date
Gabriel Machado
a435f10efd Implement sensors 2024-10-24 12:30:47 -04: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
8c80099339 Implement shared font relocation 2024-10-22 19:13:25 +03:00
wheremyfoodat
238d84ba3b
DSP: Default to HLE 2024-10-20 21:45:08 +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
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
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
3e72323653 HLE DSP: Initial mixer work 2024-09-29 00:32:51 +03:00
wheremyfoodat
699d2ded6d
Merge pull request #597 from wheremyfoodat/aac
Qt: Fix Linguist issues and format files
2024-09-16 20:19:29 +00:00
wheremyfoodat
c0c8545dc2 Qt: Fix Linguist issues and format files 2024-09-16 22:39:05 +03:00
wheremyfoodat
656b7da5e4
Properly pad AAC request struct 2024-09-05 01:55:44 +03:00
wheremyfoodat
545bbd5c45 HLE DSP: Implement AAC audio decoder 2024-09-05 00:06:48 +03:00
wheremyfoodat
9055076d0d Add fdk-aac & AAC request structure 2024-09-04 22:31:19 +03:00
wheremyfoodat
2754df9b94
Add renderdoc API support (#585)
* Add renderdoc API support

* FIx renderdoc include directory

* Fix RenderDoc linking

* Fix Renderdoc linking (again)

* Maybe fix renderdoc
2024-08-23 05:30:25 +03:00
wheremyfoodat
c694ce9a25 Improved git versioning 2024-08-20 13:20:14 +03:00
Jonian Guveli
dfc7b59de2 Get application version from git 2024-08-20 12:30:19 +03:00
wheremyfoodat
1256395688
IWYU 2024-08-16 18:05:21 +03:00
wheremyfoodat
dbdf21b1ab Improve accelerometer algorithm 2024-08-16 17:54:15 +03:00
wheremyfoodat
c772b1c702 Initial accelerometer support 2024-08-15 17:31:55 +03:00
wheremyfoodat
ff7e0f9ca8 Optimize gyro calculation 2024-08-14 23:41:48 +03:00
wheremyfoodat
520e00c553 Qt: Add controller gyroscope 2024-08-14 22:57:45 +03:00
wheremyfoodat
d208c24c0c Implement controller gyroscope in SDL 2024-08-14 22:35:02 +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
e6c97edb1c
AES: Remove unused seedsLoaded variable 2024-07-30 14:32:42 +03:00
wheremyfoodat
f572373fc1 AES: Implement seed crypto 2024-07-30 14:29:18 +03:00
wheremyfoodat
c7db6fe5dc FIx DSP region calculation 2024-07-29 19:54:46 +03:00
wheremyfoodat
11e7eb7fd6 SDL: Fixup touchscreen code 2024-07-26 12:08:10 +03:00
wheremyfoodat
2abf642922
Merge pull request #561 from wheremyfoodat/uniformz
Add SDL resizing & optimize GL shadergen
2024-07-25 17:39:26 +00: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
Jonian Guveli
19b69bbdc2 Qt: Stop emuThread on closeEvent 2024-07-25 11:04:57 +03:00
wheremyfoodat
be75fa43a3 More shader->GLSL recompiler work 2024-07-24 02:03:29 +03:00
wheremyfoodat
c319e59545
Resizing window on Qt (#556)
* Qt: Add screen resize

* Qt: Allocate screen on heap for setCentralWidget

* Fix header inclusion order

* Switch to std::function for resize callback

* rdeepfried
2024-07-23 23:13:14 +03:00
wheremyfoodat
0f80d0af7a Rename Handle to HorizonHandle, add metal-cpp submodule, format 2024-07-23 15:22:15 +03:00
wheremyfoodat
e4d4a35674 Renderer GL: Add UB checks 2024-07-23 04:11:12 +03:00
wheremyfoodat
850aadb0f6 Update Linux version on CI 2024-07-23 02:25:40 +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
wheremyfoodat
cb2448a004
Merge pull request #549 from OFFTKP/fog
Implement fog
2024-07-21 19:01:13 +00:00
wheremyfoodat
9bd711958b Add -Wno-interference-size flag for GNUC 2024-07-21 21:46:23 +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