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
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
85af58f0a7
Remove shader-related hallucinations
2024-07-22 02:06:24 +03:00
offtkp
b8712b37c3
A few kissable changes
2024-07-21 18:26:02 +03:00
offtkp
4176a19256
Fog in ubershader
2024-07-21 17:38:07 +03:00
wheremyfoodat
9695b57bf5
[PICA] Rework how external registers work, format
2023-08-04 00:42:11 +03:00
GPUCode
58383ee431
Address review comments
2023-08-03 16:42:01 +03:00
GPUCode
f75a23b5a9
code: Better screen support
2023-08-02 22:26:08 +03:00
wheremyfoodat
7b6cd90d36
Cleanup for #98
2023-07-15 04:56:43 +03:00
Wunkolo
9e32b6d4bf
Remove OpenGL-specific vector-types
...
Removes dependency on the OpenGL header and rendering backen for its
`OpenGL::Vector` type in favor of a more standard array.
2023-07-11 11:27:35 -07:00
wheremyfoodat
a3d8f777b4
PicaVertex -> PICA::Vertex
2023-07-04 23:40:47 +03:00
wheremyfoodat
f7ad66c708
[PICA] Add some clipping definitions
2023-07-04 19:51:07 +03:00
wheremyfoodat
e854d4ba63
Formatting
2023-07-04 18:15:27 +03:00
Sky
12dbaeaeb0
[GL] Initial Implementation of Lighting LUTs
2023-07-02 16:14:11 -07:00
Sky
ca89909c00
Refactored Vertex Pipeline to always use Pica Formatted Vertex
2023-07-01 11:39:25 -07:00
Wunkolo
838d3f27f9
Migrate PICA-types into PICA
namespace
...
Rather than prefixing these types with `PICA`, a namespace is used instead.
2023-06-17 18:23:47 -07:00
Wunkolo
78a3f9fa23
Add PICA texel-format and topology types
...
Slowly stepping the codebase towards having renderer-agnostic types and keeping the translation of PICA-types to OpenGL/VK/DX/Software/etc to the renderer-backend.
2023-06-17 12:26:41 -07:00
Wunkolo
553d23974a
Use std::span
to pass vertex data
...
Starts utilizing
[std::span](https://en.cppreference.com/w/cpp/container/span ) to
indicate a non-owning view of a contiguous array of elements rather than
`T* data, usize count`.
2023-06-16 07:28:35 -07:00
Wunkolo
2c94d0d683
Add Helpers:{getBits,getBit}
...
`constexpr` functions for extractint bitfields that lends itself a bit
better to emitting instructions like `bextr` on x86 or `ubfx` on arm64.
And may subjectively make things a bit more readable.
"Extract `5` bits" rather than `& 0x1F`.
2023-06-10 00:48:06 -07:00
wheremyfoodat
3a674a1ba0
[FS] Implement ControlArchive
2023-04-12 02:19:16 +03:00
wheremyfoodat
eaa7b4d55b
[PICA] Implement immediate mode triangle strip & fan
2023-04-11 20:06:18 +03:00
wheremyfoodat
9f7a86fc01
[PICA] Add support for nested command lists
2023-03-10 04:39:41 +02:00
wheremyfoodat
1dc091c444
[PICA] Panic on nested CMD lists
2023-03-07 22:27:06 +02:00
wheremyfoodat
922424b8d0
Immediate mode vertex submission attempt 1
2023-03-06 01:43:39 +02:00
wheremyfoodat
f9669ce79c
[PICA] Add depth buffer format reg
2023-03-03 00:58:36 +02:00
wheremyfoodat
1d6e5c8bb6
Fix the build cause I forgot to push this
2023-02-27 02:00:00 +02:00
wheremyfoodat
ecbb33b906
[GPU] Surface cache vol 1
2023-01-02 15:01:17 +02:00
wheremyfoodat
23a6ef447f
Stuffs
2022-12-31 15:54:24 +02:00
wheremyfoodat
4d1bb6f866
[PICA] Fix more shader bugs
2022-09-27 02:27:41 +03:00
wheremyfoodat
f9287c1eda
Fix dynarmic submodule
2022-09-26 18:47:45 +03:00
wheremyfoodat
979519f785
[PICA interpreter] Implement RSQ, MAD, CALLU and boot SM64
2022-09-26 01:05:03 +03:00
wheremyfoodat
a5c6fb858f
[PICA] Implement int uniforms
2022-09-25 17:45:59 +03:00
wheremyfoodat
be4fae5104
Trongle
2022-09-24 02:45:57 +03:00
wheremyfoodat
ce07b7e5e0
[PICA] We can now upload floating point uniforms for real
2022-09-23 14:31:26 +03:00
wheremyfoodat
92b7ca3b8c
[PICA] We can now upload floating point uniforms
2022-09-23 14:15:04 +03:00
wheremyfoodat
9d48541e98
[PICA interpreter] Implement mov
2022-09-23 04:08:23 +03:00
wheremyfoodat
4b3c7955dd
[PICA] Fixed vertex attribute uploads
2022-09-23 02:19:23 +03:00
wheremyfoodat
8770e6dc41
[PICA] Why is attribute fetching so hard
2022-09-23 00:55:16 +03:00
wheremyfoodat
39bfeda586
[PICA] More progress on attribute parsing
2022-09-22 19:17:19 +03:00
wheremyfoodat
434c840aeb
[PICA] Get vertex attributes being semi-properly read
2022-09-22 16:48:43 +03:00
wheremyfoodat
00d82ca6ed
[PICA] Implement drawArrays, get our first triangle data
2022-09-22 04:03:55 +03:00
wheremyfoodat
5993dc4759
[PICA] Shader uploads
2022-09-22 03:46:19 +03:00
wheremyfoodat
71ca62e2cc
[GPU] Get PICA register access working
2022-09-21 19:10:53 +03:00